自 Ubuntu 22.04 发布以来,这个问题就很正常了。
我正在编写一个需要获取当前活动窗口名称的 shell 脚本,因此在搜索相关工具后,我决定使用 xdotool。
但是当我启动终端或设置时,xdotool getwindowfocus getwindowname
会抛出一个错误:
xdo_get_focused_window_sane failed (code=1)
xdo_focus_window reported an error
那么我该如何修复这个错误或如何获取当前活动窗口的名称?
答案1
xdotool
仅适用于 Xorg 显示管理器,不适用于 Wayland,并且 Wayland 是 Ubuntu 22.04 中的默认设置。Wayland 中没有选择焦点窗口的等效方法。如果您需要此功能,最好的选择是切换到使用 Xorg然后您以前使用的方法就会起作用。
如果您想继续使用 Wayland,并且愿意深入研究以解决这个问题,您可以使用窗口管理器或合成器的方法来获取打开的窗口。这无法在 WM 之间移植,并且并非在所有情况下都可行。请参阅关于 Gnome 的这个问题这实际上根本不可能。