我运行的是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键f fbash-3.2$ f
因此,我可以断定,在xterm中,命令的输出将到达正确的窗口,但对于iTerm2,情况似乎并非如此。如果您知道我可能做错了什么或遗漏了什么,请让我知道。谢谢!
发布于 2017-11-27 03:43:43
问题是iTerm2不是XQuartz客户端,当你输入命令时,没有当前的 XQuartz窗口(因为MacOS的焦点在iTerm2窗口-而不是XQuartz窗口)。
xdotool manual page告诉您,key命令有一个选项,可用于将事件重定向到其他windows
--window窗口
将击键发送到特定的窗口id。。你可以在这里使用像"%1"和"%@"这样的“窗口堆栈”引用。如果有窗口堆栈,则"%1“是默认值,否则使用当前窗口。
如果你使用--window给它一个有效的窗口id,它可能会像预期的那样工作。
https://stackoverflow.com/questions/19205369
复制相似问题