我正在运行Mac OS X 10.7.5。我已经安装了XQuartz v2.7.4,以及X11 v2.6.5。我已经使用Xserver启动了iTerm2,我相信它正常工作,因为当我运行xdpyinfo
时,xterm和iterm2中输出的开头是相同的。
█$ xdpyinfo
显示名称:: 0
版本号:11.0
供应商字符串:X.Org基金会
供应商发布号:11006000
X.Org版本:1.10.6
...
但是,当我在iTerm2中运行任何xdotool命令时,输出不会出现在同一个窗口中:
█$ xdotool键f
█ - MacBook-Air:〜()
然而,当我从xterm运行时:
bash-3.2 $ xdotool key f fbash-3.2 $ f
所以我可以告诉你,在xterm中,命令的输出会转到正确的窗口,但对于iTerm2来说似乎并非如此。如果您对我可能做错了或遗失的事情有所了解,请告诉我。谢谢!
答案 0 :(得分:1)
问题是iTerm2不是XQuartz客户端,当你输入命令时,有没有当前的XQuartz窗口(因为MacOS的焦点在于iTerm2窗口 - 而不是XQuartz窗口
xdotool manual page告诉您key
命令有一个选项可用于将事件重定向到其他窗口:
--window
窗口
将键击发送到特定的窗口ID。 。你可以使用“WINDOW STACK“像"%1"
和"%@"
这样的引用。如果有窗口 堆栈,然后“%1”是默认值,否则是当前窗口 使用。
如果您使用--window
为其提供了有效的窗口ID,则可能会按预期工作。