diff --git a/desktop_env/providers/aws/manager.py b/desktop_env/providers/aws/manager.py index 15875d1..01b904f 100644 --- a/desktop_env/providers/aws/manager.py +++ b/desktop_env/providers/aws/manager.py @@ -36,7 +36,7 @@ DEFAULT_REGION = "us-east-1" # todo: Add doc for the configuration of image, security group and network interface # todo: public the AMI images IMAGE_ID_MAP = { - "us-east-1": "ami-0cae20d2680c939d4", + "us-east-1": "ami-0a6a55a75d04c8888", "ap-east-1": "ami-0c092a5b8be4116f5", } diff --git a/desktop_env/server/main.py b/desktop_env/server/main.py index 606d0ac..bc0d8c8 100644 --- a/desktop_env/server/main.py +++ b/desktop_env/server/main.py @@ -1161,7 +1161,9 @@ def upload_file(): try: # Ensure target directory exists - os.makedirs(os.path.dirname(file_path), exist_ok=True) + target_dir = os.path.dirname(file_path) + if target_dir: # Only create directory if it's not empty + os.makedirs(target_dir, exist_ok=True) # Save file and get size for verification file.save(file_path) diff --git a/desktop_env/server/osworld_server.service b/desktop_env/server/osworld_server.service index 50dc881..c9cac87 100644 --- a/desktop_env/server/osworld_server.service +++ b/desktop_env/server/osworld_server.service @@ -1,16 +1,19 @@ [Unit] -Description=OSWorld Server +Description=osworld service StartLimitIntervalSec=60 StartLimitBurst=4 After=network.target auditd.service [Service] -ExecStart=/usr/bin/python3 /home/user/main.py +Type=simple +ExecStart=/usr/bin/python /home/user/server/main.py User=user WorkingDirectory=/home/user +Environment="DISPLAY=:0" +Environment="DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus" +Environment="XDG_RUNTIME_DIR=/run/user/1000" Restart=on-failure -RestartSec=1 -Environment="DISPLAY=:1" +RestartSec=5s [Install] -WantedBy=graphical.target +WantedBy=multi-user.target \ No newline at end of file diff --git a/evaluation_examples/examples/os/37887e8c-da15-4192-923c-08fa390a176d.json b/evaluation_examples/examples/os/37887e8c-da15-4192-923c-08fa390a176d.json index 5e60548..207cbf0 100644 --- a/evaluation_examples/examples/os/37887e8c-da15-4192-923c-08fa390a176d.json +++ b/evaluation_examples/examples/os/37887e8c-da15-4192-923c-08fa390a176d.json @@ -57,7 +57,7 @@ "parameters": { "files": [ { - "url": "https://huggingface.co/datasets/xlangai/ubuntu_osworld_file_cache/resolve/main/os/37887e8c-da15-4192-923c-08fa390a176d/eval.sh", + "url": "https://huggingface.co/datasets/xlangai/ubuntu_osworld_file_cache/resolve/main/os/37887e8c-da15-4192-923c-08fa390a176d/eval_20250703.sh", "path": "eval.sh" } ] diff --git a/evaluation_examples/examples/os/3ce045a0-877b-42aa-8d2c-b4a863336ab8.json b/evaluation_examples/examples/os/3ce045a0-877b-42aa-8d2c-b4a863336ab8.json index a2fb256..c29d3f8 100644 --- a/evaluation_examples/examples/os/3ce045a0-877b-42aa-8d2c-b4a863336ab8.json +++ b/evaluation_examples/examples/os/3ce045a0-877b-42aa-8d2c-b4a863336ab8.json @@ -20,25 +20,49 @@ "os" ], "evaluator": { - "func": "check_include_exclude", - "result": { - "type": "vm_command_line", - "command": "LARGE_TEXT=$(gsettings get org.gnome.desktop.interface text-scaling-factor 2>/dev/null | grep -E '1\\.[2-9]|[2-9]\\.' | wc -l) && ZOOM_ENABLED=$(gsettings get org.gnome.desktop.a11y.applications screen-magnifier-enabled 2>/dev/null | grep -c true) && ZOOM_FACTOR=$(gsettings get org.gnome.desktop.a11y.magnifier mag-factor 2>/dev/null | grep -E '[2-9]\\.|1\\.[1-9]' | wc -l) && if [ \"$LARGE_TEXT\" -gt 0 ]; then echo \"Large text enabled\"; elif [ \"$ZOOM_ENABLED\" -gt 0 ] && [ \"$ZOOM_FACTOR\" -gt 0 ]; then echo \"Zoom enabled with magnification\"; else echo \"No enlargement enabled\"; fi", - "shell": true - }, - "expected": { - "type": "rule", - "rules": { - "include": [ - "Large text enabled", - "Zoom enabled with magnification" - ], - "exclude": [ - "No enlargement enabled", - "error" - ] + "func": [ + "check_include_exclude", + "check_include_exclude" + ], + "conj": "or", + "result": [ + { + "type": "vm_command_line", + "command": "TEXT_SCALE=$(timeout 10 gsettings get org.gnome.desktop.interface text-scaling-factor 2>/dev/null | grep -oE '[0-9]+\\.[0-9]+' | head -1); if [ -n \"$TEXT_SCALE\" ] && [ \"$(echo \"$TEXT_SCALE >= 1.2\" | bc -l 2>/dev/null || echo 0)\" = \"1\" ]; then echo \"Large text enabled (factor: $TEXT_SCALE)\"; else echo \"No text scaling enabled\"; fi", + "shell": true + }, + { + "type": "vm_command_line", + "command": "ZOOM_ENABLED=$(timeout 10 gsettings get org.gnome.desktop.a11y.applications screen-magnifier-enabled 2>/dev/null | grep -c true); ZOOM_FACTOR=$(timeout 10 gsettings get org.gnome.desktop.a11y.magnifier mag-factor 2>/dev/null | grep -oE '[0-9]+\\.[0-9]+' | head -1); if [ \"$ZOOM_ENABLED\" -gt 0 ] && [ -n \"$ZOOM_FACTOR\" ] && [ \"$(echo \"$ZOOM_FACTOR > 1.1\" | bc -l 2>/dev/null || echo 0)\" = \"1\" ]; then echo \"Zoom enabled with magnification (factor: $ZOOM_FACTOR)\"; else echo \"No zoom magnification enabled\"; fi", + "shell": true } - } + ], + "expected": [ + { + "type": "rule", + "rules": { + "include": [ + "Large text enabled" + ], + "exclude": [ + "No text scaling enabled", + "error" + ] + } + }, + { + "type": "rule", + "rules": { + "include": [ + "Zoom enabled with magnification" + ], + "exclude": [ + "No zoom magnification enabled", + "error" + ] + } + } + ] }, "proxy": false }