Answers:
有AutoHotkey的向Linux端口称为IronAHK并呼吁类似的工具自动密钥。我也没有用过,我也不知道它们的效果如何。
除了这些程序之外,您找不到完全相同的自动化工具。shell是UNIX系统上的基本用户自动化工具。外壳是结合其他工具的粘合剂:它可以启动外部程序并控制它们如何交换数据。该外壳本身不包含任何可操纵GUI概念的东西,例如窗口和鼠标指针¹。您要做的是在shell脚本中调用专用工具,特别是xdotool来操纵窗口,并注入击键和鼠标事件。
例如,以下脚本单击Myapp窗口中的位置(40,20)。
#!/bin/sh
xdotool search --class Myapp \
mousemove --window %1 40 20 \
click 1
¹ 除了dtksh之外,但我从未见过它的Linux端口。
您可以在Linux中使用xautomation。我在Raspberry Pi显示屏上使用它来发送F5页面刷新和用于登录的“返回”(输入)击键。
使用AutohotkeyX,这是autohotkey的最新WINE端口,根据winehq测试,它可以执行Autohokey在Windows上可以执行的所有操作。这很容易是最好,最直接的答案。
https://appdb.winehq.org/objectManager.php?sClass=version&iId=17738
我还没有亲自测试过,但是WINEHQ结果倾向于
在Linux上下载Autohotkey。创建一个自动热键文件(example.ahk)。使用wine从Autohotkey文件夹运行Ahk2Exe.exe。将您的example.ahk文件编译为example.exe使用wine运行example.exe
有几个解决这个问题的项目。最活跃的两个是AFAIK,是 sikuli和AutoKey(我帮助支持的项目。)
我没有使用过sikuli,但它似乎是基于在屏幕上找到图案并基于它们触发动作的。
AutoKey允许用户定义触发短语和热键,以扩展短语(类似于非常强大的自动更正功能)或运行用Python3编写的脚本,这些脚本仅受用户编程技能的限制。它提供了用于键盘和鼠标事件生成的API。它还与Xautomation集成在一起,该功能使您可以在屏幕上查找小图像并将鼠标光标移到该图像上。
我使用AutoKey已经很多年了,并在我们的清单中提供了支持。就像许多生产力工具一样:没有它,您可以轻松应对,但是一旦开始使用它,您会想知道如果没有它,您将如何工作。
一些细节:
AutoKey不适用于AutoHotKey定义和脚本。他们将不得不被重写。
我确实写了一个概念证明bash脚本(根据要求提供),该脚本将AutoHotKey短语转换为AutoKey短语,但这只是一个起点,并且忽略了大多数AutoHotKey的选项。
由于AutoKey脚本是用Python3编写的,因此还可以从脚本中调出诸如xdotool和wmctrl之类的工具来提供附加功能,但这通常不是必需的。尽管AutoKey脚本是用Python编写的,但只有非常有限的Python知识才能完成很多工作。在大多数情况下,您无需成为流利的Python程序员。
如果您使用基于Debian的发行版,请不要安装发行版提供的AutoKey版本。他们的AutoKey软件包是未维护的并且非常旧。从我们那里获取最新版本。
...为您的鼠标移动和键盘编程。这使我可以“宏化”程序上的某些功能,而不必手动执行。
Kantu是一个跨平台的 桌面自动化工具,在Ubuntu上运行良好(我尚未在其他版本上对其进行测试)
shell是UNIX系统上的基本用户自动化工具。
是的 但AHK和Kantu允许用户自动完成任务内通过模拟鼠标点击和键盘敲击的应用程序。外壳无法做到这一点。我将其用于自动化测试以及一些生产力方面的技巧。
当然,您可以将kantu与python结合使用,也可以直接从shell启动它。
只需使用XEV和XMODMAP。比专用程序简单或优于仿冒Windows应用程序。我所有的LINUX东西都使用脚本重新定义键并更改屏幕模式,然后在程序完成并退出后,将所有内容恢复为正常。使用XMODMAP和编写脚本就像制作AHK脚本一样简单,但是额外的好处是不必运行模拟的Windows应用程序。还有人说你不能做到这一点……错。您可以通过Linux shell进行比其他任何操作系统更多的操作,并且可以执行我们正在谈论的所有事情,包括移动窗口以及仍然使用内置的系统友好系统命令!