xte перестал работать после обновления до ubuntu 21.04
Я использую xbindkeys для копирования и вставки с помощью кнопок мыши 8 и мыши 9.
Он работал с Ubuntu 20.10, но после того, как я обновился до 21.04, он перестал работать в некоторых приложениях.
Проблема, кажется, исходит от
xte
Если я побегу
sleep 4; xte 'key v'
в терминале А
- переключитесь на наутилус, он не печатает
- переключиться на терминал, он не печатает
- переключитесь на firefox, он не печатает
- переключитесь на хром, он печатает
- переключиться, чтобы сигнализировать о том, что он печатает
- переключитесь на слабину, он печатает
- переключиться на дискорд, он печатает
v
Почему он перестал работать в одних приложениях, но не в других? Как я могу отладить это?
2 ответа
Чтобы проверить, является ли ваш сеанс Ubuntu Xorg или Wayland:
$ echo $XDG_SESSION_TYPE
wayland
Вы также можете:
- попытайтесь заменить инструменты, основанные на графическом интерфейсе, инструментами, которые записывают события ввода непосредственно в
/dev/uinput
, напримерxdotool
сydotool
так далее, - или вы можете вернуться к Xorg.
Чтобы установить Xorg по умолчанию:
$ sudo gedit /etc/gdm3/custom.conf
Раскомментировать (удалить
#
) следующую строку:
#WaylandEnable=false
Сохраните файл, перезагрузитесь и попробуйте что-то вроде
xdotool mousemove 50 20
в терминале он должен телепортировать указатель мыши в левый верхний угол экрана.
Очень простой. После установки Ubuntu 21.04 вы теперь используете более современную графическую систему Wayland, а не почтенный сервер Xorg. Чрезвычайно полезные инструменты автоматизации, такие как
xbindkeys
,
xvt
,
wmctrl
,
xdotool
, ... не работают на Wayland.
Кроме того, многие программы для записи экрана не работают на Wayland, хотя крупный игрок OBS Studio теперь поддерживает Wayland.
Почему это работает в некоторых приложениях? Вероятно, потому что эти приложения работают на XWayland, уровне эмуляции Xorg для Wayland для поддержки приложений, которые не работают на родном Wayland.
Что делать? На время вернитесь к Xorg или попытайтесь заставить работать очень молодые инструменты, заменяющие Wayland .