首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >等价于Wayland的xdotool

等价于Wayland的xdotool
EN

Ask Ubuntu用户
提问于 2017-09-17 09:37:34
回答 4查看 9.6K关注 0票数 28

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

代码语言:javascript
复制
xdotool getmouselocation

还在工作,但是

代码语言:javascript
复制
xdotool mousemove 
xdotool click 

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

EN

回答 4

Ask Ubuntu用户

发布于 2017-11-18 18:02:31

这是因为出于安全原因,这些特性已经从Wayland中显式地删除。主要关注的是读取其他程序的输入,并允许将假输入发送到其他程序,这将允许不同的攻击向量。

有些窗口管理器将来可能会实现某种宏特性,但到目前为止,我还不知道这种特性。

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

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

票数 8
EN

Ask Ubuntu用户

发布于 2020-12-10 12:00:19

Wayland有ydotool包:

包ydotool

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

https://github.com/ReimuNotMoe/ydotool

在不需要X11的情况下执行xdotool(1)的一些功能--但是,它通常需要根权限(打开/dev/uinput)

目前执行的命令(S):

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

注:您还可以通过以下方式启用和启动ydotoold守护进程:

  1. systemctl enable ydotool
  2. systemctl start ydotool
票数 8
EN

Ask Ubuntu用户

发布于 2022-04-19 19:32:31

来自evemu工具包的埃弗穆可以模仿wayland中的鼠标、触摸屏和键盘等设备。它不能“读取”屏幕上正在发生的事情,但可以很容易地移动&单击和“盲目地”与会话交互。

代码语言:javascript
复制
sudo evemu-describe # list devices

如果您的鼠标是来自上述命令输出的/dev/input/event5,下面将移动鼠标50像素xy,然后右击并松开按钮:

代码语言:javascript
复制
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

您还可以录制特定的序列并重播它:

代码语言:javascript
复制
# press ctrl-c to stop recording
sudo evemu-record /dev/input/event5 /tmp/mouse-sequence

# to replay session
sudo evemu-play /tmp/mouse-sequence
票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/956640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档