Многие популярные дистрибутивы 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
Кроме того, вы можете узнать тип текущей сессии с помощью loginctl. Посмотрите список сессий запустив утилиту с командой list-sessions или без параметров:
loginctl list-sessions
Для того чтобы вывести тип конкретной сессии передайте её идентификатор в команду show-session. Например, если номер сессии 3:
loginctl show-session 3 -p Type
Или можно сделать всё одной командой, получив идентификатор сессии из переменной окружения XDG_SESSION_ID:
loginctl show-session "$XDG_SESSION_ID" -p Type
В Ubuntu эту информацию можно посмотреть и в графическом интерфейсе. Откройте Настройки, перейдите в раздел О системе и найдите пункт Оконный интерфейс. Здесь будет отображено название дисплейного сервера:
Как посмотреть какие приложения используют XWayland
Для того чтобы старые приложения X11 могли работать в Wayland окружении существует прослойка совместимости XWayland. Если вы используете Wayland, то возможно, у вас возникнет необходимость узнать какие приложения используют эту прослойку. Для этого можно использовать команду xlsclients. Она отображает все программы, которые используют Xwayland в данный момент:
Например, в данном случае, запущен xterm. Есть ещё один способ быстро посмотреть какие из запущенных окон используют XWayland. Просто запустите программу Xeyes. После этого появится окно с глазами, которые должны сделить за курсором и смотреть всегда в его сторону. Но поскольку утилита использует X сервер, то и следить она сможет только за курсором в Xorg приложениях. Таким образом, если глаза двигаются когда вы водите курсором мыши в зоне окна - значит оно использует Xwayland, если нет - то Wayland:
Выводы
В этой небольшой статье мы рассмотрели как узнать Wayland или Xorg используется в вашей системе, а также как посмотреть какие приложения всё ещё работают через Xorg когда используется Wayland.
Хм. Я в шоке. Бубунта 22.04 -- х11.... Правда, через РДП. Возможно, поэтому. Дома надо будет проверить...
RDP как раз и заточен под framebuffer X11, чтобы вы знали, а никак не wayland, потому что
1) он супер свежий, а RDP уже наврное лет 40
2) потому что wayland люди полюбили за быстродействие, а поднять быстродействие через RDP, практически не возможно, хоть ты что используй, все упирается в скорость канала и алгоритм компрессии изображений
спасибо, интересная тема. Вот бы еще инструкцию для принудительного перехода с pilseaudio на pipewire.
"Самый простой способ посмотреть какой дисплейный сервер используется в данный момент, это вывести содержимое переменной окружения XDG_SESSION_TYPE..."
Это не работает из под root-а (как в примере). Запускать необходимо в сеансе пользователя:
$ echo $XDG_SESSION_TYPE