是否有任何应用程序(或命令序列)具有此功能:使用 GUI 界面查看操作结果,并自动转换到同一台机器上的终端(或类似的 CLI 环境)。
多年前我在 VBA for Applications(例如 Excel 中的宏)中看到过这种操作。我想知道 Linux 中是否有相同的功能。
答案1
GUI 操作通常没有外部替代
没有普遍的可能性来“监听”GUI 操作,并将它们直接转换为 cli 等效操作。在 Linux 和 Windows 上都是如此。
一般来说,只有一小部分 GUI 操作由 cli 控制根本。相关软件的开发人员将决定他或她认为哪些操作可以作为“来自外部”的命令提供,并且我们依赖于 API 或开发人员提供的那些 cli 选项。您通常会在应用程序的手册页中找到大多数这些命令。输入:
man <application>
这并不意味着如果没有可用的命令我们就完全无助,为了能够控制我们机器上的许多东西,我们有许多工具,至少可以“监听”发生的事情,并用我们自己设计的命令或我们自己的脚本解决方案替换应用程序内部的进程。
哪种工具对您有用完全取决于您想要模拟的操作。我们需要一个额外的问题来为您指明正确的方向。
不过,我想提一下一个选项(随机的,但在很多情况下非常有用):
如果我们打开一个终端并运行:
dconf watch /
我们可以准确地看到(任何)应用程序正在使用的 dconf/gsettings 键,并且我们可以直接运行 gsettings 命令来执行相同操作。使用此命令,我们几乎可以看到不同调整工具应用的所有操作。
此外,许多脚本语言具有非常强大的工具来直接控制硬件和编辑文件,但如上所述,我们需要一个更具体的示例来进一步帮助您。
笔记
如果您对编码或多或少熟悉,那么还有另一种选择,那就是查看应用程序的源代码。尤其是解释型语言通常非常易读,可以为您提供有用的信息。