我是 Linux 的初学者,到目前为止,使用它真的很开心,但似乎有一个我无法解决的问题,或者至少是不太理解的问题——X11 项目xdotool
无法在我的 VirtualBox 安装或 Windows WSL 安装下的 Ubuntu 上运行。
我已经尽我所能但仍然没有运气。
- 我的 VirtualBox Ubuntu 版本是 22.10,是的,我使用的是 Xorg 而不是 Wayland。
- 在 WSL 中,我从 sourceforge.com 下载了适用于 Windows 的 Xming X Server。
以下是我在两者中所做的事情:
sudo apt update
sudo apt install xdotool
xdotool type "hello"
什么也没有发生...没有错误,什么也没有。
WSL 和 VirtualBox Ubuntu 都有完全相同的响应——没有。
答案1
我无法说出你的 VirtualBox 安装中发生了什么(但我怀疑是类似的事情)。至少 WSL 的问题在于,你似乎没有运行 X 应用程序来目标Xdotool 的输出。如果你这样做了,至少你没有提到它。
这是一个很容易犯的错误——几天前我在尝试某件事时就犯了同样的错误。
仅运行 X 服务器并不能为其提供目标应用程序。您需要在 X 中运行上述命令终端应用程序,例如 Xterm 才能查看结果。
WSL 下运行 Ubuntu 的终端是不是当然,它是一个 X 应用程序;它是一个 Windows 应用程序。
还请注意,您甚至不需要 Xming 即可实现此功能。WSL 的所有最新版本都直接支持 GUI 应用程序。请参阅这个答案了解更多信息。KB 补丁是否还需要,这一点值得怀疑,因为它应该此时已集成到主线每月服务版本中。
安装完成后,删除DISPLAY
对 Xming 设置的变量的所有更改。原版 WSL 应该可以DISPLAY
正确管理。
然后:
sudo apt install xterm
从 WSL 运行xterm
。然后里面在 Xterm 终端上,运行:
xdotool type "hello"
您应该Hello
在 Xterm 的下一个提示行中看到输入。
请注意,根据这个答案许多应用程序不接受“已发送”的按键,除非它们已经是前台应用程序。这是出于安全原因。