【发布时间】:2018-06-10 19:20:02
【问题描述】:
我过去一直使用xdotool type,只是为了在使用xdotool type '¯\_(ツ)_/¯' 的快捷方式上键入耸耸肩。这可行,但总是需要相当长的时间,并导致整个桌面冻结(完全,不仅仅是输入)几秒钟。不过并没有打扰到我。
现在我需要一种方法来从文件中读取内容,对其进行操作,然后将其输入。我想使用 xdotool 来完成这样的任务:
while read URL; do
xdotool type "!play $URL" && sleep 1 && xdotool key Return && sleep 1
done < <(mycommand)
mycommand 提供了大约 20 行 URL。一旦我运行了脚本,我的桌面(gnome3.26,archlinux)就完全冻结了。我通过 SSH 连接到机器杀死了 bash 进程(成功),但这对冻结状态没有任何作用。十分钟后它再次运行,命令确实运行了(如,xdotool 按预期正确键入了所有内容)但我不得不重新启动 X 服务器,因为我的鼠标不再工作了。
我需要一种像xdotool type 那样自动键入的方法,但没有这种冻结行为。最好的情况是一个工具,它几乎可以立即输入我通过的整个文本。我想到了一个实现xclip的解决方案,然后只是模拟按键进行粘贴和输入,但我认为必须有更好的解决方案。
xdotool 的这个问题对我来说已经存在了大约两年(一直在 gnome + archlinux 上),但直到现在我才需要它只是耸耸肩。我猜这不仅仅是我使用的版本中的错误。仅出于完整性考虑:
$ xdotool --version
xdotool version 3.20160805.1
【问题讨论】:
-
这个问题与 StackOverflow 定义的编程无关。它可能更适合superuser.com 或其他 StackExchange 站点。使用 Q 底部的
flag链接并要求版主移动它。请不要在 2 个不同的网站上发布相同的 Q。 请阅读stackoverflow.com/help/on-topic、stackoverflow.com/help/how-to-ask、stackoverflow.com/help/dont-ask和stackoverflow.com/help/mcve,然后在此处发布更多问题。祝你好运 -
我认为它在 StackOverflow 上是合适的,因为我需要一种以编程方式完成它的方法。我需要使用 bash 来控制这种自动化。
-
这是 GNOME 的问题。我在开发自己的输入法时已经受够了(不使用任何英语,如 ibus/fcitx/gcim/scim...)。
xdotool type和xdotool key可以为我杀死 GNOME,但它仍然没有修复,我认为它永远不会修复。我只是放弃并继续操作剪贴板并发送低级 ctrl+v 来输入文本。
标签: linux bash keyboard gnome xdotool