有没有替代方案
xdotool type "a string"
如果它不是 X11 应用程序,它会更有用。因为 X11 应用程序似乎更容易受到攻击。
注意:我不会在终端窗口中使用它。所以echo
这不是替代方案。echo
不打字。它只是在终端中打印一些东西。
答案1
我以前从未听说过 xdotool,但根据它的 gentoo 软件包:
* x11-misc/xdotool
Homepage: http://www.semicomplete.com/projects/xdotool/
Description: Simulate keyboard input and mouse activity, move and resize windows
这听起来与旧expect
的类似,特别是当你不想要 X11 时:
* dev-tcltk/expect
Homepage: http://expect.nist.gov/
Description: tool for automating interactive applications
编辑:(当然)可以找到有关如何使用expect的示例在 StackOverflow 上。其他的应该可以在expect的文档中找到,也可能在结果中找到这个搜索。
维基百科还有一些代码示例。 “打字”是通过send
命令完成的,而“阅读”是通过 完成的expect
。这联机帮助页还有一些示例可以帮助您入门。
答案2
如果您的桌面环境是 Gnome 或 KDE(不确定这是否适用于其他地方 - 并且不知道 Gnome 3),那么 AutoKey 可能正是您正在寻找的(还有更多!)
AutoKey 可以做很多事情xdotool
,但可以让您在 GUI 中配置所有内容。它是一个完整的键盘/鼠标事件脚本系统,包含 Python3 中的短语和脚本。查找信息这里附有安装说明这里。
AutoKey 的正常输出在您的系统中显示就像您在键盘上键入一样,因此无需对应用程序进行 API 或其他更改。
在最简单的情况下,您可以使用缩写和(可选)热键来定义短语。当您键入缩写词并后跟触发字符(例如enter
或 )tab
(或按热键)时,缩写词将替换为短语的文本。有许多附加选项可以精确控制其工作方式。
如果您需要变得更复杂,您可以编写一个 AutoKey 脚本。
AutoKey 脚本是用 Python3 编写的,这意味着它们仅受您的编码能力的限制。他们几乎可以做任何事情(甚至调用xdotool
)。
当前版本是0.95。如果您的包管理器有旧版本,那么使用 PPA 或从源代码安装会更好。