相当于 Wayland 的 xdotool

mxd*_*dsp 19 scripts wayland xdotool

我正在寻找一个在 Wayland 中工作的解决方案来获取鼠标位置,移动它并在bash脚本内单击,所有事情xdotool都可以为 X 服务器做。

xdotool getmouselocation
Run Code Online (Sandbox Code Playgroud)

仍在工作,但

xdotool mousemove 
xdotool click 
Run Code Online (Sandbox Code Playgroud)

对 GNOME Wayland 会话中的鼠标光标没有影响。

Win*_*nix 9

Wayland有ydotool软件包:

软件包 ydotool

通用 Linux 命令行自动化工具(无 X!)

https://github.com/ReimuNotMoe/ydotool

无需 X11 即可执行 xdotool(1) 的某些功能 - 然而,它通常需要 root 权限(打开 /dev/uinput)

当前执行的命令:

  • type- 输入一个字符串
  • key- 按键
  • mousemove- 将鼠标指针移动到绝对位置
  • click- 单击鼠标按钮

注意,您可以选择启用并启动 ydotoold 守护进程:

  1. systemctl enable ydotool
  2. systemctl start ydotool


Vid*_*uth 6

这是因为出于安全原因,此类功能已从 Wayland 中明确删除。主要问题是读取其他程序输入并允许将虚假输入发送到其他程序,这将允许不同的攻击向量。

一些窗口管理器将来可能会实现某种宏功能,但截至目前,我所知道的还没有这样的功能。

实现它意味着为每个不同的窗口管理器实现它,这肯定还需要一段时间。

如果您需要使用这些功能,我建议现在使用 Xorg 而不是 Wayland。

  • 我不知道您是否了解任何讨论,但是邮件列表中有一个 RFC:[RFC:输入事件注入接口](https://lists.freedesktop.org/archives/wayland- devel/2017-March/033676.html) 和 [添加用于截屏和录制截屏视频的 API](https://bugs.freedesktop.org/show_bug.cgi?id=98894)。听起来这些挑战可以通过一些额外的强化工作来解决。 (3认同)