Skip to main content
Version: 1.12-grodno (current)

wayland

Настройка графического окружения на Ubuntu 24.04 noble

sudo apt install -y sway greetd xwayland vainfo

sudo useradd -m -s /bin/bash --create-home mvs
sudo usermod -aG audio,video,plugdev,input,render mvs

sudo tee /etc/greetd/config.toml <<'EOF'
[terminal]
vt = 7
[default_session]
command = "sway"
user = "mvs"
EOF

sudo systemctl enable --now greetd

Пакет, обеспечивающий даннные настройки - mvs-sway-autologin

wayland

Wayland — это современный протокол сервера отображения (display server protocol), предназначенный для замены устаревшего X11/Xorg. Wayland определяет, как графические приложения отображают окна и взаимодействуют с дисплеем.

Основные особенности Wayland:

  • Простота и безопасность — приложения рендерят напрямую в буферы, без промежуточного сервера
  • Низкая задержка и лучшая производительность

Sway

Sway реализует протокол Wayland для управления окнами, используя libwayland и libwlroots, предоставляет функциональность тайлинга (узлового расположения окон) и обработки ввода.

greetd

greetd — это менеджер дисплея, управляющий пользовательскими сеансами входа в систему. В настоящей инструкции

  1. greetd запускается как системный сервис, обеспечивает автологин пользователя.
  2. greetd запускает команду, указанную в конфигурации (например, sway)
  3. Sway запускается как Wayland compositor и управляет окнами и приложениями

Операции по запуску Electron-приложений

Автостарт приложения из графической сессии:

systemctl enable --now Lyra3.OR.TerminalApp

Журнал приложения (в графической сессии):

journalctl --user -f -u Lyra3.OR.TerminalApp

Если нужно настроить автозапуск из ssh-сессии, необходимо передать XDG_RUNTIME_DIR пользователя, в графической сессии которого запущен electron:

sudo -u mvs XDG_RUNTIME_DIR=/run/user/$(id -u mvs) systemctl --user enable --now Lyra3.OR.TerminalApp

Аналогично просмотр журнала:

sudo -u mvs XDG_RUNTIME_DIR=/run/user/$(id -u mvs) journalctl --user -f -u Lyra3.OR.TerminalApp

Вызов приложений из scratchpad поверх полноэкранного Electron-приложения в sway

В sway невозможно вызвать окно приложения (например, терминала) поверх полноэкранного приложения. Приложение будет вызвано, но не будет отображаться поверх уже запущенного fullscreen приложения.

Решение: Отправка приложения в scratchpad

  • Нажмите $mod+Shift+minus
  • Вызовите требуемое приложение (например foot: $mod+Enter)
  • Последовательность нестрогая, вызванные экземпляры foot будут вызваны в любом случае, но без перехода в scratchpad не будут видны.
  • Возврат к electron-приложению: $mod+minus
  • Возврат в полноэкранный режим: $mod+f