Wayland или X11: Как быстро определить, что работает в вашем Linux

Wayland или X11: Как быстро определить, что работает в вашем Linux

Вы замечали, что некоторые приложения в Linux ведут себя странно? Зависают, отказываются копировать текст или некорректно отображаются. Корень проблемы может скрываться в дисплейном сервере, который вы используете прямо сейчас.

Мир Linux переживает тихую революцию: старый добрый Xorg постепенно уступает место современному Wayland. Ubuntu, Fedora, Debian и openSUSE уже сделали его стандартом в своих свежих версиях. Но переход еще не завершен.

Wayland предлагает лучшую безопасность и плавность, однако множество классических программ, написанных для X11, отказываются с ним дружить. Как же понять, с чем вы имеете дело?

Эта статья — ваш быстрый гид по диагностике. Вы узнаете несколько простых команд для терминала, которые за секунды покажут истинное лицо вашей графической подсистемы. Мы не только выясним, кто главный на вашем дисплее, но и найдем все "старорежимные" приложения, которые цепляются за прошлое через прослойку XWayland.

Хватит гадать! Потратьте две минуты и получите четкий ответ, который поможет решить множество странных проблем с графикой. Читайте дальше и станьте мастером диагностики своего рабочего стола.


Многие популярные дистрибутивы Linux уже используют Wayland по умолчанию. Так Ubuntu перешла на Wayland по умолчанию начиная с 22.04, Fedora использует Wayland уже давно. Недавно к списку этих дистрибутивов присоединилась ещё и SUSE и Debian. Однако у Wayland всё ещё есть проблемы. Многие старые программы не поддерживаются или работают плохо.

Если у вас возникли какие-либо проблемы при работе с старыми программами, нужно проверить какой дисплейный сервер вы используете. Есть несколько способов сделать это. В этой статье мы рассмотрим как узнать Wayland или Xorg в терминале.


Содержание статьи

Как посмотреть Wayland или Xorg

Самый простой способ посмотреть какой дисплейный сервер используется в данный момент, это вывести содержимое переменной окружения XDG_SESSION_TYPE. Если сейчас используется Wayland, то будет выведено wayland, а при использовании Xorg - X11:

echo $XDG_SESSION_TYPE
Wayland или X11: Как быстро определить, что работает в вашем Linux

Кроме того, вы можете узнать тип текущей сессии с помощью loginctl. Посмотрите список сессий запустив утилиту с командой list-sessions или без параметров:

loginctl list-sessions
Wayland или X11: Как быстро определить, что работает в вашем Linux

Для того чтобы вывести тип конкретной сессии передайте её идентификатор в команду show-session. Например, если номер сессии 3:

loginctl show-session 3 -p Type
Wayland или X11: Как быстро определить, что работает в вашем Linux

Или можно сделать всё одной командой, получив идентификатор сессии из переменной окружения XDG_SESSION_ID:

loginctl show-session "$XDG_SESSION_ID" -p Type

В Ubuntu эту информацию можно посмотреть и в графическом интерфейсе. Откройте Настройки, перейдите в раздел О системе и найдите пункт Оконный интерфейс. Здесь будет отображено название дисплейного сервера:

Wayland или X11: Как быстро определить, что работает в вашем Linux

Как посмотреть какие приложения используют XWayland

Для того чтобы старые приложения X11 могли работать в Wayland окружении существует прослойка совместимости XWayland. Если вы используете Wayland, то возможно, у вас возникнет необходимость узнать какие приложения используют эту прослойку. Для этого можно использовать команду xlsclients. Она отображает все программы, которые используют Xwayland в данный момент:

xlsclients
Wayland или X11: Как быстро определить, что работает в вашем Linux

Например, в данном случае, запущен xterm. Есть ещё один способ быстро посмотреть какие из запущенных окон используют XWayland. Просто запустите программу Xeyes. После этого появится окно с глазами, которые должны сделить за курсором и смотреть всегда в его сторону. Но поскольку утилита использует X сервер, то и следить она сможет только за курсором в Xorg приложениях. Таким образом, если глаза двигаются когда вы водите курсором мыши в зоне окна - значит оно использует Xwayland, если нет - то Wayland:

Wayland или X11: Как быстро определить, что работает в вашем Linux

Выводы

В этой небольшой статье мы рассмотрели как узнать Wayland или Xorg используется в вашей системе, а также как посмотреть какие приложения всё ещё работают через Xorg когда используется Wayland.

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив