Linux Computer Use
June 3, 2026 ยท View on GitHub
Linux Computer Use is an opt-in UI surface backed by a native Rust MCP backend,
codex-computer-use-linux. The backend is bundled and registered by default;
the in-app Computer Use controls are disabled until you opt in.
It supports:
- app listing and accessibility trees through AT-SPI
- screenshots through GNOME Shell DBus or XDG Desktop Portal
- window listing and focusing on GNOME, KWin/Plasma, Hyprland, COSMIC, and i3
- keyboard, text, click, scroll, and drag input through
/dev/uinput, XDG RemoteDesktop portal, orydotool
Runtime Dependencies
Install ydotool when you need the fallback input path:
# Debian / Ubuntu
sudo apt install ydotool
sudo apt install ydotoold # on Ubuntu releases that split the daemon
# Fedora
sudo dnf install ydotool
# Arch / Manjaro
sudo pacman -S ydotool
# openSUSE
sudo zypper install ydotool
The preferred coordinate input path opens /dev/uinput directly. The XDG
RemoteDesktop portal can also provide input on desktops that expose it.
For ydotool, run a daemon and make sure your user can access the socket:
sudo systemctl enable --now ydotoold
sudo usermod -a -G input "$USER"
Then log out and back in.
Some distros name the unit ydotool.service instead of ydotoold.service, and
some install /usr/bin/ydotoold without a service unit. If the system unit path
is awkward, a user-session service that binds %t/.ydotool_socket is also
valid.
Portal packages are needed when your desktop relies on XDG Desktop Portal input or screenshots:
- KDE Plasma:
xdg-desktop-portal-kde - sway/wlroots:
xdg-desktop-portal-wlr - Hyprland:
xdg-desktop-portal-hyprland - GNOME: usually available by default
Verify Readiness
Once Computer Use is visible in the Codex UI, ask Codex:
Check whether Linux Computer Use is ready
You can also run the backend directly:
./codex-app/resources/plugins/openai-bundled/plugins/computer-use/bin/codex-computer-use-linux doctor
./codex-app/resources/plugins/openai-bundled/plugins/computer-use/bin/codex-computer-use-linux setup
./codex-app/resources/plugins/openai-bundled/plugins/computer-use/bin/codex-computer-use-linux apps
./codex-app/resources/plugins/openai-bundled/plugins/computer-use/bin/codex-computer-use-linux windows
./codex-app/resources/plugins/openai-bundled/plugins/computer-use/bin/codex-computer-use-linux screenshot
Enable The In-App UI
Ad hoc, for one build:
CODEX_LINUX_ENABLE_COMPUTER_USE_UI=1 make build-app
Persistent, including future auto-updater rebuilds:
mkdir -p ~/.config/codex-desktop
echo '{"codex-linux-computer-use-ui-enabled": true}' > ~/.config/codex-desktop/settings.json
To opt back out, unset the env var and remove the settings flag or set it to
false.
Nix:
nix run github:ilysenko/codex-desktop-linux#codex-desktop-computer-use-ui
Combined with a Linux feature output:
nix run github:ilysenko/codex-desktop-linux#computer-use-ui-remote-mobile-control
Side-By-Side Dev Variant
make build-dev-app
make run-dev-app
Override the dev identity with DEV_APP_ID, DEV_APP_NAME, and
CODEX_WEBVIEW_PORT if needed.