我正在寻找一个在Wayland中工作的解决方案,以获得鼠标位置,移动它并单击bash脚本,所有xdotool可以为X服务器所做的事情。
xdotool getmouselocation还在工作,但是
xdotool mousemove
xdotool click 对GNOME Wayland会话中的鼠标光标没有影响。
发布于 2017-11-18 18:02:31
这是因为出于安全原因,这些特性已经从Wayland中显式地删除。主要关注的是读取其他程序的输入,并允许将假输入发送到其他程序,这将允许不同的攻击向量。
有些窗口管理器将来可能会实现某种宏特性,但到目前为止,我还不知道这种特性。
实现这一点意味着要为每个不同的窗口管理器实现它,这肯定还需要一段时间。
如果您需要使用这些特性,我建议现在使用Xorg而不是Wayland。
发布于 2020-12-10 12:00:19
Wayland有ydotool包:
通用Linux命令行自动化工具(no X!)
https://github.com/ReimuNotMoe/ydotool
在不需要X11的情况下执行xdotool(1)的一些功能--但是,它通常需要根权限(打开/dev/uinput)
目前执行的命令(S):
type -键入字符串key -按下键mousemove -将鼠标指针移动到绝对位置click -点击鼠标按钮注:您还可以通过以下方式启用和启动ydotoold守护进程:
systemctl enable ydotoolsystemctl start ydotool发布于 2022-04-19 19:32:31
来自evemu工具包的埃弗穆可以模仿wayland中的鼠标、触摸屏和键盘等设备。它不能“读取”屏幕上正在发生的事情,但可以很容易地移动&单击和“盲目地”与会话交互。
sudo evemu-describe # list devices如果您的鼠标是来自上述命令输出的/dev/input/event5,下面将移动鼠标50像素xy,然后右击并松开按钮:
sudo evemu-event /dev/input/event5 --type EV_REL --code REL_X --value 50
sudo evemu-event /dev/input/event5 --type EV_REL --code REL_Y --value 50
sudo evemu-event /dev/input/event5 --type EV_KEY --code BTN_RIGHT --value 1
sudo evemu-event /dev/input/event5 --type EV_KEY --code BTN_RIGHT --value 0您还可以录制特定的序列并重播它:
# press ctrl-c to stop recording
sudo evemu-record /dev/input/event5 /tmp/mouse-sequence
# to replay session
sudo evemu-play /tmp/mouse-sequencehttps://askubuntu.com/questions/956640
复制相似问题