macOS
brew install xdotoollocal Homebrew formula metadata
sudo port install xdotoolMacPorts ports tree · x11/xdotool/Portfile · 来源: api.github.com
安装
brew install xdotoollocal Homebrew formula metadata
sudo port install xdotoolMacPorts ports tree · x11/xdotool/Portfile · 来源: api.github.com
sudo apk add xdotoolAlpine Linux edge package indexes · xdotool · 来源: dl-cdn.alpinelinux.org
sudo apt install xdotoolDebian stable package indexes · xdotool · 来源: deb.debian.org
sudo dnf install xdotoolFedora Rawhide package metadata · xdotool · 来源: dl.fedoraproject.org
nix profile install nixpkgs#xdotoolnixpkgs package indexes · pkgs/by-name/xd/xdotool/package.nix · 来源: api.github.com
sudo pacman -S xdotoolArch Linux sync databases · xdotool · 来源: geo.mirror.pkgbuild.com
sudo zypper install xdotoolopenSUSE Tumbleweed package metadata · xdotool · 来源: download.opensuse.org
概览
Fake keyboard/mouse input and window management for X
历史
xdotool is Jordan Sissel's X11 automation command: a small CLI and companion libxdo library for synthesizing keyboard and mouse input, searching for windows, and manipulating X window-manager state from scripts.
The earliest public GitHub commit history for xdotool reaches back to 2007 and records a migration from a semicomplete Google Code Subversion repository, while the GitHub repository itself was created in 2011. Its upstream documentation has long described the same core design: use the XTEST extension and Xlib calls to fake input, locate windows, move and resize them, switch desktops, and alter window properties.
xdotool evolved from a one-command X scripting helper into a grab bag of practical desktop automation verbs. The upstream README documents not only key and mouse events but also window stacks, EWMH/NetWM-oriented window-manager interactions, and libxdo for C programs that need the same behavior without shelling out.
Adoption followed the path of a classic Linux desktop utility: package it everywhere, make it scriptable, and let window-manager users compose it with shell, hotkey daemons, status bars, and test harnesses. The upstream project page lists common installs for Debian/Ubuntu, Fedora, FreeBSD, macOS through Homebrew or MacPorts, and OpenSUSE, matching its role as a small dependency-free command that distributions can ship easily.
Its importance also became clearer during the Wayland transition. The README explicitly warns that xdotool does not work correctly for many Wayland tasks because its model depends on X11 semantics; that limitation turned xdotool into both a beloved X11 automation tool and a marker of the security and protocol differences between X11 and Wayland.
Practitioners use xdotool to press hotkeys, type text into focused applications, click or move the pointer, activate a window found by name or class, resize matching windows, script window focus, and glue graphical applications into shell workflows. It is common in lightweight window-manager setups, kiosk scripts, GUI smoke tests, and one-off desktop automation.
The tool is intentionally composable: upstream examples show pipelines that search for Firefox, activate it, and send Ctrl+L, or find visible terminal windows and resize them. libxdo gives packagers and C applications a lower-level route to the same XTEST and Xlib behavior.
xdotool is one of the canonical examples of a package that matters because it exposes a desktop protocol as a Unix command. It packages the old X11 assumption that clients can inspect and influence each other into a tiny CLI, which made it disproportionately useful for automation and disproportionately hard to replace under Wayland.
For package nerds, it also illustrates the value of boring distribution: a single executable, a small C library, a manpage, and enough stable behavior that scripts written years apart still tend to work on Xorg sessions.
安全态势
narrow executable package without higher-risk signals.
绿色 风险 · 低 置信度 · appliance
在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。
可执行文件
| 命令 | 类型 | 暴露范围 | 备注 |
|---|---|---|---|
xdotool | cli | 全局可执行文件 |
新鲜度
这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。
https://github.com/jordansissel/xdotool
安装元数据
| 软件包键 | brew:xdotool |
|---|---|
| 版本 | 4.20260303.1 |
| 软件包管理器 | Homebrew |
| 软件包管理器页面 | https://formulae.brew.sh/formula/xdotool |
| 主页 | https://www.semicomplete.com/projects/xdotool/ |
| 仓库 | https://github.com/jordansissel/xdotool |
| 上游文档 | https://github.com/jordansissel/xdotool#readme |
| 许可证 | BSD-3-Clause |
| 源码归档 | https://github.com/jordansissel/xdotool/archive/refs/tags/v4.20260303.1.tar.gz |
| 依赖 | libx11, libxi, libxinerama, libxkbcommon, libxtst |
| 构建依赖 | pkgconf |
| Bottle | 可用 (于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | 未定义 |
| 服务 | 未声明 |
| 注意事项 | You will probably want to enable XTEST in your X11 server now by running: defaults write org.x.X11 enable_test_extensions -boolean true For the source of this useful hint: https://stackoverflow.com/questions/1264210/does-mac-x11-have-the-xtest-extension |
注册表事实
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | xdotool |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
源数据库匹配
匹配项来自外部软件包管理器索引,并与本地 Automic Vault 软件包链接分开显示。
libxdo-dev 1:3.20160805.1-5.1
library for simulating X11 keyboard/mouse input
https://github.com/jordansissel/xdotool/
sudo apt install libxdo-devlibxdo3 1:3.20160805.1-5.1
library for simulating (generating) X11 keyboard/mouse input events
https://github.com/jordansissel/xdotool/
sudo apt install libxdo3xdotool 1:3.20160805.1-5.1
simulate (generate) X11 keyboard/mouse input events
https://github.com/jordansissel/xdotool/
sudo apt install xdotoolxdotool
nix profile install nixpkgs#xdotoollibxdo-dev 1:3.20160805.1-5build1
library for simulating X11 keyboard/mouse input
https://github.com/jordansissel/xdotool/
sudo apt install libxdo-devlibxdo3 1:3.20160805.1-5build1
library for simulating (generating) X11 keyboard/mouse input events
https://github.com/jordansissel/xdotool/
sudo apt install libxdo3xdotool 1:3.20160805.1-5build1
simulate (generate) X11 keyboard/mouse input events
https://github.com/jordansissel/xdotool/
sudo apt install xdotoolxdotool 4.20260303.1-r0
Simulate X11 keyboard/mouse input events
https://github.com/jordansissel/xdotool
sudo apk add xdotoolxdotool-dev 4.20260303.1-r0
Simulate X11 keyboard/mouse input events (development files)
https://github.com/jordansissel/xdotool
sudo apk add xdotool-devxdotool-doc 4.20260303.1-r0
Simulate X11 keyboard/mouse input events (documentation)
https://github.com/jordansissel/xdotool
sudo apk add xdotool-doclibxdo 3.20211022.1-10.fc44
Keyboard input simulation library
https://github.com/jordansissel/xdotool
sudo dnf install libxdolibxdo-devel 3.20211022.1-10.fc44
Development files for libxdo
https://github.com/jordansissel/xdotool
sudo dnf install libxdo-develxdotool 3.20211022.1-10.fc44
Fake keyboard/mouse input
https://github.com/jordansissel/xdotool
sudo dnf install xdotoolxdotool 4.20260303.1-1
Command-line X11 automation tool
https://www.semicomplete.com/projects/xdotool/
sudo pacman -S xdotoolxdotool 4.20251130.1-1.3
Fake keyboard/mouse input
https://www.semicomplete.com/projects/xdotool/
sudo zypper install xdotoolxdotool-devel 4.20251130.1-1.3
Development and Library files
https://www.semicomplete.com/projects/xdotool/
sudo zypper install xdotool-devel来源线索
此页面由 av-web 从 scripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。
View the package source record on GitHub.