升级到 ubuntu 21.04 后 xte 停止工作

升级到 ubuntu 21.04 后 xte 停止工作

我使用 xbindkeys 使用鼠标 8 和鼠标 9 按钮进行复制和粘贴。

它可以与 ubuntu 20.10 一起使用,但自从我升级到 21.04 后,它在某些应用程序中停止工作。

问题似乎来自xte

如果我sleep 4; xte 'key v'在终端中运行

  • 切换到 nautilus it没有打印v
  • 切换到终端没有打印v
  • 切换到 Firefox没有打印v

  • 切换到镀铬打印v
  • 切换到信号打印v
  • 切换到松弛模式打印v
  • 切换到 discord打印v

为什么它在某些应用程序中停止工作,但在其他应用程序中却没有停止工作?我该如何调试它?

答案1

要检查你的 Ubuntu 会话是 Xorg 还是 Wayland:

$ echo $XDG_SESSION_TYPE 
wayland

您可以:

  1. 尝试用直接将输入事件写入的工具替换依赖于 GUI 的工具/dev/uinput,例如xdotool使用ydotooletc,
  2. 或者您可以切换回 Xorg。

要将 Xorg 设置为默认值:

$ sudo gedit /etc/gdm3/custom.conf

取消注释(删除#)以下行:

#WaylandEnable=false

保存文件,重新启动并尝试xdotool mousemove 50 20在终端中进行类似操作,它应该将鼠标指针传送到屏幕左上角附近。

答案2

非常简单。安装 Ubuntu 21.04 后,您现在使用的是更现代的 Wayland 图形系统,而不是古老的 Xorg 服务器。非常有用的自动化工具(例如、、、、xbindkeys... )在 Wayland 上不起作用。xvtwmctrlxdotool

此外,许多屏幕录制程序无法在 Wayland 上运行,尽管主流厂商 OBS Studio 现在都支持 Wayland。

为什么它在某些应用程序上有效?可能是因为这些应用程序在 XWayland 上运行,XWayland 是 Wayland 的 Xorg 模拟层,用于支持无法在原生 Wayland 上运行的应用程序。

该怎么办?暂时切换回 Xorg,或者尝试获取非常年轻的更换 Wayland 的工具上班。

相关内容