有可用的宏记录器程序吗?

Tar*_*kos 15 mouse

ubuntu 有没有宏记录器?我想要一个程序,我可以分配一个键来记录鼠标移动和键盘输入。谢谢

Anu*_*oni 10

看看 Gnu - Xnee

链接:http : //www.gnu.org/software/xnee/

对于 ubuntu 上的命令行应用程序:

sudo apt-get install cnee
Run Code Online (Sandbox Code Playgroud)

注意:xnee是 ubuntu 中的一个元包,安装它也会安装cnee. gnee如果你想要一个 gui,是你应该安装的包。

用法示例:

cnee --record -o events.xnr --mouse --events-to-record 100 --time 2
Run Code Online (Sandbox Code Playgroud)

这会在 2 秒的延迟后记录 100 个鼠标事件。

cnee --replay -f events.xnr --time 2
Run Code Online (Sandbox Code Playgroud)

这将在 2 秒延迟后回放事件。

我会查看 cnee 的手册页以获取有关如何使用它的更多详细信息。

还可以在此处找到有关 xnee 的更多详细信息https://xnee.wordpress.com/

  • 尝试了你写的所有内容。它不起作用。非常感谢您的宝贵时间,但我真的不明白为什么没有任何替代计划。窗户用的有很多。为什么ubuntu只有1个? (2认同)

Kat*_*atu 8

Actiona不是记录器,而是任务自动化工具。在 gnee 出现错误后,我尝试了它,我认为它是一个很棒的工具并且易于使用。

sudo apt install actiona
Run Code Online (Sandbox Code Playgroud)


小智 7

与录制宏不同,使用xdotool从头开始编写脚本可能更有用。它使您可以更好地控制流程。

根据您的描述,我假设您需要更持久的东西,而不是在录制后仅使用几次的宏。我知道这可能不是您想要的,但它可能是最好的解决方案。

录制的宏会因缺少窗口、不同的窗口大小等而失败,因为它对其环境视而不见。我怀疑这在你的情况下是可以接受的。

使用 xdotool 可以识别窗口并根据您的参数对其进行操作,然后相对于它们进行编程,而忽略它们的位置。

您甚至可以从纯 xdotool 脚本中执行命令并在工作完成后关闭它们的窗口。

sudo apt install xdotool
Run Code Online (Sandbox Code Playgroud)

要获得正确的点击位置,您可以将窗口移动到左上角并使用:

ALT+F2
xterm -hold -e /usr/bin/xdotool getmouselocation
Run Code Online (Sandbox Code Playgroud)

请记住,在 Ubuntu 上,您通常无法将窗口移动到坐标 0,0。您必须计算偏移量。

为您的 xdotool 脚本创建一个文本文件。我们称之为xdoscript

这是 xdotool 的示例脚本:

search --name xdowindow
windowfocus
windowsize 1000 800
mousemove --window %@ 200 100
click 3
sleep 2
mousemove --window %@ 400 200
click 1
sleep 1
click 3
mousemove_relative --polar 140 5
sleep 1
click 1
sleep 1
type "man xdotool"
sleep 2
key Return
sleep 2
key Next
sleep 1
key Next
sleep 1
key Next
sleep 1
key q
Run Code Online (Sandbox Code Playgroud)

我试图让它与 gnome-terminal 一起工作,但 gnome-terminal 已经有一段时间了,它的窗口标题无法更改,所以我改用 Sakura 进行测试。睡眠命令只是将其减慢到可观看的速度。

sudo apt install sakura
Run Code Online (Sandbox Code Playgroud)

使用自定义名称xdowindow启动 Sakura 并在其中启动 xdotool 脚本:

sakura -t xdowindow
xdotool xdoscript   
Run Code Online (Sandbox Code Playgroud)

对于您自己的脚本,您需要以下内容:

  • 窗口标题
  • 窗口 ID(仅当您的窗口标题不唯一时)
  • 定义的窗口大小(如果点击点随大小不同而变化)

当然,尽管此类脚本比录制的宏健壮得多,但它们绝不是可移植的。如果您更改字体大小等桌面设置或重新安装系统,它们可能会停止工作并需要进行调整。

PS:大多数其他命令都需要windowfocus命令才能工作。


小智 5

您可以使用 X 宏。

要安装 x-Macro,请使用以下命令:

sudo apt-get install xmacro
Run Code Online (Sandbox Code Playgroud)

如需记录,请使用 xmacrorec2 命令:

xmacrorec2 > test.file
Run Code Online (Sandbox Code Playgroud)

要播放录制的宏,请使用 xmacroplay

xmacroplay "$DISPLAY" < test.file
Run Code Online (Sandbox Code Playgroud)