Глава 6. Wayland

Этот перевод может быть устаревшим. Для того, чтобы помочь с переводом, пожалуйста, обратитесь к Сервер переводов FreeBSD.

6.1. Общие сведения о Wayland

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

Так как Wayland не является X-сервером, то традиционные подключения к экранам X будут требовать использования других методов, таких, как VNC или RDP, для управления удалёнными рабочими столами. Во-вторых, Wayland может управлять композитными соединениями между клиентами и композитным менеджером как отдельной сущностью, которой не нужно поддерживать протоколы X.

Wayland относительно нов, и не всё программное обеспечение обновлено для работы без дополнительной поддержки Xwayland. Так как Wayland не обеспечивает функцию X-сервера и ожидает, что эту поддержку обеспечивают композитные менеджеры, то оконным менеджерам X11, которые ещё не поддерживают Wayland, будет требоваться запуск Xwayland без параметра -rootless. При исключении параметра -rootless обеспечивается поддержка оконного менеджера X11.

Актуальный драйвер NVidia должен работать с большинством композитных менеджеров, основанных на wl-roots, но в настоящее время может быть несколько нестабильным и поддерживать не все возможности. Требуются добровольцы для помощи в работе над NVidia DRM.

В настоящее время большое количество программного обеспечения, включая Firefox, будет работать с Wayland с минимальными проблемами. Также доступно несколько оболочек рабочего стола, таких, как замена Compiz Fusion, известная как Wayfire, а также Sway, замена для оконного менеджера i3.

С мая 2021 года plasma5-kwin поддерживает Wayland во FreeBSD. Для использования Plasma вместе с Wayland используйте параметр startplasma-wayland для ck-launch-session в связке с dbus при помощи команды ck-launch-session dbus-run-session startplasma-wayland, чтобы это заработало.

Чтобы использовать функциональность определения клавиатурных комбинаций в композитных менеджерах, ядро системы должно поддерживать драйвер evdev(4). По умолчанию он включён в ядро GENERIC, однако, если оно было кастомизировано и поддержка evdev(4) была исключена, то будет требоваться загрузка модуля ядра evdev(4). Кроме того, пользователи Wayland должны быть членами группы video. Для того, чтобы быстро выполнить это изменение, воспользуйтесь командой pw:

pw groupmod video -m user

Установка Wayland проста; нет ничего сложного в собственно настройке протокола. Основной объём действий будет зависеть от выбранного композитного менеджера. Приступим к установке seatd прямо сейчас и пропустим один шаг, являющийся частью установки и настройки композитного менеджера, так как для работы seatd необходимо предоставить пользовательский доступ к определённым устройствам.

Все композитные менеджеры, описанные здесь, должны работать с драйверами с открытым кодом graphics/drm-kmod; однако графические адаптеры NVidia могут иметь проблемы при использовании проприетарных драйверов. Начнём с установки следующих пакетов:

# pkg install wayland seatd

Как только протокол и поддерживающие пакеты будут установлены, композитный менеджер должен создать пользовательский интерфейс. В следующих разделах будут рассмотрены несколько композитных менеджеров. Всем композитным менеджерам, использующим Wayland, для работы потребуется каталог, заданный в переменной окружения, что может быть выполнено следующей командой интерпретатора командной строки bourne shell:

% export XDG_RUNTIME_DIR=/var/run/user/`id -u`

Важно отметить, что большинство композитных менеджеров будут выполнять поиск конфигурационных файлов в каталоге XDG_RUNTIME_DIR. В показываемых здесь примерах будет использоваться параметр для указания конфигурационного файла в ~/.config, чтобы разделить хранение временных и конфигурационных файлов. Для каждого композитного менеджера рекомендуется настроить алиас для загрузки соответствующего конфигурационного файла.

Сообщается, что пользователи ZFS могут сталкиваться с трудностями с некоторыми клиентами Wayland, потому что им требуется доступ к возможности выполнить posix_fallocate() в рабочем каталоге. Хотя автор не смог воспроизвести эту проблему на системе ZFS, рекомендуемым обходным решением является отказ от использования ZFS для рабочего каталога и использование вместо него tmpfs для каталога /var/run. В таком случае файловая система tmpfs используется для /var/run и монтируется при помощи команды mount -t tmpfs tmpfs /var/run, при этом для сохранения такого изменения между перезагрузками используется /etc/fstab. Во избежание потенциальных подводных камней с ZFS переменная окружения XDG_RUNTIME_DIR может быть настроена на использование /var/run/user/$UID. Имейте в виду такую возможность при рассмотрении примеров конфигураций в последующих разделах.

Даемон seatd помогает композитным менеджерам управлять доступом к совместно используемым системным устройствам, в том числе графическим адаптерам, для непривилегированных пользователей. Для традиционных менеджеров X11, таких как Plasma и GNOME, необходимости в seatd нет, однако для композитных менеджеров Wayland, обсуждаемых здесь, его необходимо будет активировать на уровне системы, и он должен быть запущен до начала работы в окружении композитного менеджера. Для активации и запуска даемона seatd прямо сейчас, а также на этапе инициализации системы:

# sysrc seatd_enable=”YES”
# service seatd start

После этого для получения GUI необходимо будет установить композитный менеджер, который похож на оболочку X11. Здесь рассматриваются три из них, а также базовые параметры настройки, настройки блокировки экрана и рекомендации по получению дополнительной информации.

6.2. Композитный менеджер Wayfire

Wayfire является композитным менеджером, нацеленным на простоту и широкие возможности настройки. Доступно несколько функций, и он возвращает несколько элементов из ранее выпущенной графической оболочки Compiz Fusion. Все его компоненты на современном оборудовании выглядят прекрасно. Для запуска и работы Wayfire начните с установки требуемых пакетов:

# pkg install wayfire wf-shell alacritty swaylock-effects swayidle wlogout kanshi mako wlsunset

Пакет alacritty представляет собой эмулятор терминала. Однако он не совсем обязателен, так как другие эмуляторы терминала, такие как kitty и Terminal из XFCE-4, были протестированы и проверены на предмет работоспособности под управлением композитного менеджера Wayfire. Настройка Wayfire относительно проста; он использует файл, который нужно адаптировать при проведении любых настроек. Для начала скопируйте файл с примером в каталог с настройками среды исполнения, а затем отредактируйте его:

% mkdir ~/.config/wayfire
% cp /usr/local/share/examples/wayfire/wayfire.ini ~/.config/wayfire

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

[output]
mode = 1920x1080@60000
position = 0,0
transform = normal
scale = 1.000000

В этом примере из конфигурационного файла подразумевается работа монитора в указанном режиме с указанной частотой в герцах. К примеру, режим должен задаваться как widthxheight@refresh_rate. Параметр position указывает на выдачу в заданную точку экрана. Значения по умолчанию должно подойти большинству пользователей. Наконец, параметр transform определяет преобразование фона, а scale будет масштабировать выдачу с заданным коэффициентом. Значения по умолчанию для этих параметров должно подойти большинству пользователей; для получения дополнительной информации обратитесь к документации.

Как отмечалось, Wayland является новой технологией, и ещё не все приложения работают с этим протоколом. На данный момент sddm, видимо, не поддерживает запуск и управление композитными менеджерами в Wayland. Вместо него в этих примерах использовалась утилита swaylock. Конфигурационный файл содержит параметры для запуска swayidle и swaylock для режимов простоя и блокировки экрана.

Параметр, который служит для определения действия, выполняемого тогда, когда система находится в режиме простоя, задаётся следующим образом:

idle = swaylock

А таймаут для блокировки определяется при помощи следующих строк:

[idle]
toggle = <super> KEY_Z
screensaver_timeout = 300
dpms_timeout = 600

Первый параметр заблокирует экран по истечении 300 секунд, а после ещё 300 экран выключится в соответствии с опцией dpms_timeout.

И, наконец, следует описать клавишу <super>. В большинстве конфигураций используется этот параметр, и он соответствует обычной клавише Windows на клавиатуре. Эта клавиша присутствует на большинстве клавиатур; в случае её отсутствия она должна быть переопределена в этом конфигурационном файле. К примеру, чтобы блокировать экран, нажмите и удерживайте клавишу super, клавишу shift и нажмите escape. Если определения не были изменены, это приведёт к вызову приложения swaylock. В соответствии с настройками по умолчанию swaylock будет демонстрировать серый экран; однако приложение имеет массу настроек и хорошо документировано. Кроме того, так как установливалась версия swaylock-effects, имеется несколько доступных опций, таких как эффект размытия, который можно увидеть при помощи следующей команды:

% swaylock --effect-blur 7x5

Имеется также параметр --clock, который на экране блокировки будет отображать часы с датой и временем. При установке пакета x11/swaylock-effects также была установлена используемая по умолчанию конфигурация pam.d. В ней заданы параметры, которые должны подойти большинству пользователей. Имеются и более сложные опции; обратитесь к документации по PAM для получения дополнительной информации.

Подошло время протестировать Wayfire и посмотреть, сможет ли он запуститься на системе. Просто наберите следующую команду:

% wayfire -c ~/.config/wayfire/wayfire.ini

Композитный менеджер должен запуститься и отобразить фоновое изображение с полоской меню вверху экрана. Wayfire попытается выдать список установленных совместимых приложений для оболочки рабочего стола и представить их в этом выпадающем меню; к примеру, если установлен файловый менеджер XFCE-4, то он отобразится в этом выпадающем меню. Если какое-то конкретное приложение совместимо и имеет определённую ценность для назначения комбинации клавиш для его вызова, то это может быть сделано определением клавиатурной последовательности при помощи конфгурационного файла wayfire.ini. В Wayfire также имеется инструмент настройки под названием Wayfire Config Manager. Он имеется в выпадающем меню, но также может быть запущен из терминала выдачей следующей команды:

% wcm

В этом приложении могут быть активированы, отключены или настроены различные конфигурационные параметры Wayfire, включая специальные эффекты. Кроме того, для организации более удобного пользовательского интерфейса в конфигурационном файле могут быть активированы менеджер фоновых изображений, панель и инструмент запуска приложений.

panel = wf-panel
dock = wf-dock
background = wf-background

Изменения, выполненные при помощи wcm, будут перезаписывать пользовательские изменения в конфигурационной файле wayfire.ini. Для того, чтобы любые важные изменения могли быть восстановлены, настоятельно рекомендуется сделать резервкную копию файла wayfire.ini.

Наконец, диспетчер задач, используемый по умолчанию и указанный в файле wayfire.ini, является пакетом x11/wf-shell, и может быть заменён другими панелями, если этого захочет пользователь.

6.3. Композитный менеджер Hikari

Композитный менеджер Hikari использует несколько концепций, направленных на организацию работы, таких как листы, рабочие пространства и так далее. В этом смысле он подобен панельному оконному менеджеру. Если описывать подробнее, то работа композитного менеджера начинается с одного рабочего простанства, что похоже на виртуальные рабочие столы. Hikari использует одно рабочее пространство или виртуальный рабочий стол для взаиодействия с пользователем. Рабочее пространство состоит из нескольких ракурсов, которые являются рабочими окнами в композитном менеджере, сгруппированными в виде листов или групп. Как листы, так и группы формируются из набора ракурсов; повторимся, что это окна, которые группируются вместе. При переключении между листами или группами активный лист или группа становится рабочим пространством. Страница справки содержит больше подробностей о функциях каждого объекта, однако для целей этого документа просто считайте, что одно рабочее пространство использует один лист. Установка Hikari состоит из одного пакета, x11-wm/hikari, и эмулятора терминала alacritty:

# pkg install hikari alacritty

Другие интерпретаторы командной строки, такие как kitty или Terminal среды Plasma, будут функционировать под управлением Wayland. Пользователям следут поэкспериментировать с предпочитаемыми терминальными редакторами, чтобы удостовериться в совместимости.

Hikari использует конфигурационный файл hikari.conf, который может быть размещён в XDG_RUNTIME_DIR либо указан при запуске при помощи параметра -c. Конфигурационный файл автозапуска не является обязательным, однако может несколько упростить миграцию на этот композитный менеджер. Настройка начинается с создания конфигурационного каталога Hikari и копирования в него конфигурационного файла для редактирования:

% mkdir ~/.config/hikari
% cp /usr/local/etc/hikari/hikari.conf ~/.config/hikari

Настройка структурирована в несколько различных разделов, таких как ui, outputs, layouts и так далее. Для большинства пользователей значения по умолчанию будут работать достаточно хорошо; однако понадобится сделать несколько важных изменений. К примеру, переменная $TERMINAL в пользовательском окружении обычно не задаётся. Изменение этой переменной или корректировка файла hikari.conf таким образом:

terminal = "/usr/local/bin/alacritty"

Приведёт к запуску терминала alacritty при нажатии привязанной клавиатурной комбинации. Проходя по конфигурационному файлу, следует отметить, что заглавные буквы используются для обозначения клавиш для пользователя. К примеру, клавиша L, используемая для запуска терминала по нажатию L+Return, на самом деле является ранее обсуждённой супер клавишей, или клавишей с логотипом Windows. Таким образом, при настройках по умолчанию удержание клавиши L/super/Windows и нажатие Enter откроет заданный эмулятор терминала. Переопределение других клавиш для запуска приложений требует создания определений для действий. Для этого действие должно быть указано в разделе с действиями, к примеру:

actions {
  terminal = "/usr/local/bin/alacritty"
  browser = "/usr/local/bin/firefox"
}

После этого действие может быть назначено в разделе keyboard, который определён внутри раздела bindings:

bindings {
  keyboard {
ФРАГМЕНТ
    "L+Return" = action-terminal
    "L+b" = action-browser
ФРАГМЕНТ

После перезапуска Hikari удерживание клавиши с логотипом Windows и нажатие клавиши b запустит веб-браузер. У этого композитного менеджера отсутствует полоска меню, и пользователям рекомендуется как минимум настроить эмулятор терминала перед миграцией. Страница справки содержит большой объём документации, с которой необходимо ознакомиться перед выполнением полной миграции Ещё одной положительной стороной Hikari является то, что при миграции на этот композитный менеджер он может быть запущен в окружении рабочего стола Plasma и GNOME, позволяя апробировать его до полного перехода.

Блокировка экрана в Hikari проста, так как стандартный конфигурационный файл pam.d и утилита разблокировки включены в пакет. Функция блокировки экрана привязана к клавишам L (клавиша с логотипом Windows)+ Shift + Backspace. Следует отметить, что все ракурсы, не помеченные как публичные, будут скрыты. Эти ракурсы никогда не будут принимать ввод в режиме блокировки, однако следует озаботиться о том, что может быть показаны чувствительные данные. Для некоторых пользователей может оказаться проще перейти на другой инструмент блокировки, такой как swaylock-effects, рассмотренный в этом разделе. Для запуска Hikari используйте следующую команду:

% hikari -c ~/.config/hikari/hikari.conf

6.4. Композитный менеджер Sway

Sway является плиточным композитным менеджером, который пытается быть заменой оконному менеджеру i3. Он должен работать с актуальной пользовательской конфигурацией i3; однако новые возможности могут потребовать некоторой дополнительной настройки. В последующих примерах предполагается новая установка без какой-либо миграции конфигураций i3. Для того, чтобы установить Sway и важные компоненты, выполните следующую команду пользователем root:

# pkg install sway swayidle swaylock-effects alacritty dmenu-wayland dmenu

Для получения базового конфигурационного файла выполните следующие команды, а затем отредактируйте конфигурационный файл после его копирования:

% mkdir ~/.config/sway
% cp /usr/local/etc/sway/config ~/.config/sway

Базовый конфигурационный файл имеет много настроек по умолчанию, которые подойдут большинству пользователей. Необходимо сделать несколько важных изменений, как показано ниже:

# Клавиша с логотипом. Используйте Mod1 для указания на Alt.
input * xkb_rules evdev
set $mod Mod4
# Предпочитаемый вами эмулятор терминала
set $term alacritty
set $lock swaylock -f -c 000000
output "My Workstation" mode 1366x786@60Hz position 1366 0
output * bg ~/wallpapers/mywallpaper.png stretch
### Настройка простоя
exec swayidle -w \
          timeout 300 'swaylock -f -c 000000' \
          timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
          before-sleep 'swaylock -f -c 000000'

В предыдущем примере загружаются правила xkb для evdev(4), а клавиша $mod настроена на клавишу с логотипом Windows для определения клавиш быстрого вызова. Затем эмулятор терминала был настроен на alacritty и была определена команда для блокирования экрана; подробности об этом следуют позже. Ключевое слово output указало Sway на режим, позицию, рисунок фона, а также на растяжение этого фонового рисунка для заполнения всего экрана. Наконец, swaylock настроен на работу в фоновом режиме и блокировку экрана после таймаута в 300 секунд, с переводом экрана или монитора в спящий режжим после 600 секунд. Цвет экрана блокировки задан как 000000, что соответствует чёрному цвету, что также определено здесь. При использовании swaylock-effects с параметром --clock могут также отображаться часы. Обратитесь к странице справки для получения информации о дополнительных опциях. Также следует изучить страницу справки о sway-output(5); в ней содержится большой объём информации о доступных настройках параметров отображения.

При работе в Sway для вызова меню приложения удерживайте клавишу с логотипом Windows (mod) и нажмите клавишу d. Навигация по меню может осуществляться при помощи клавиш со стрелками на клавиатуре. Есть также возможности по созданию панели инструментов и добавлению панели задач; прочтите страницу справки по sway-bar(5) для получения дополнительной информации. Конфигурация, применяемая по умолчанию, добавляет дату и время в правый верхний угол. Пример можно найти в разделе Bar конфигурационного файла. По умолчанию в конфигурацию на включена блокировка экрана, кроме примера выше, активирующего таймер блокировки. Для создания клавиатурной комбинации для блокировки экрана требуется следующая строка в разделе Key bindings:

# Ручная блокировка экрана
bindsym $mod+Shift+Return exec $lock

Теперь экран может быть заблокирован при помощи комбинации, заключающейся в удержании клавиши с логотипом Windows, нажатии и удержании клавиши shift и затем нажатия клавиши ввода. При установке Sway, как из пакета, так и из Коллекции Портов FreeBSD, устанавливается файл по умолчанию для pam.d. Конфигурация по умолчанию должна подойти большинству пользователей, однако также доступны и более сложные настройки. Прочтите документацию по PAM для получения дополнительной информации.

Наконец, для выхода из Sway и возвращения в интерпретатор командной строки удерживайте клавишу с логотипом Windows, клавишу shift, и нажмите клавишу e. Будет выдано сообщение с вариантом выхода из Sway. Во время миграции Sway может быть запущен из эмулятора терминала на рабочем столе X11, таком как Plasma. Это несколько упрощает тестирование различных изменений и клавиатурных комбинаций до момента полной миграции на этот композитный менеджер. Для запуска Sway выполните следующую команду:

% sway -c ~/.config/sway/config

6.5. Использование Xwayland

При установке Wayland должен быть установлен двоичный файл Xwayland, если только Wayland не строился без поддержки X11. Если файл /usr/local/bin/Xwayland не существует, установите его при помощи следующей команды:

# pkg install xwayland-devel

Рекомендуется использовать версию Xwayland для разработчиков, и, скорее всего, она и устанавливается с пакетом Wayland. В каждом композитном менеджере имеется метод активации или отключения такой функции.

После того, как Xwayland будет установлен, настройте его при помощи выбранного композитного менеджера. Для Wayfire в файле wayfire.ini требуется следующая строка:

xwayland = true

В композитном менеджере Sway по умолчанию Xwayland должен быть включён. Несмотря на это, рекомендуется вручную добавить конфигурационную строку в файл ~/.config/sway/config, подобно следующему:

xwayland enable

Наконец, для Hikari изменения не требуются. Поддержка Xwayland встроена по умолчанию. Для отключения такой поддержки перестройте пакет из коллекции портов и отключите поддержку Xwayland на этом этапе.

После внесения этих изменений запустите композитный менеджер из командной строки и вызовите терминал при помощи комбинации клавиш. Работая в этом терминале, выполните команду env и поищите переменные DISPLAY. Если композитному менеджеру удалось полноценно запустить X-сервер Xwayland, то эти переменные окружения должны иметь вид, подобный следующему:

% env | grep DISPLAY
WAYLAND_DISPLAY=wayland-1
DISPLAY=:0

В этой выдаче присутствует дисплей Wayland, используемый по умолчанию, а также дисплей, заданный для сервера Xwayland. Другим способом удостовериться в том, что Xwayland функционирует корректно, является установка и проверка работы небольшого пакета package:[x11/eyes]. Если приложение xeyes запускается, и глаза следят за указателем мыши, то Xwayland функционирует корректно. Если выдаётся сообщение об ошибке, подобное тому, что ниже, то что-то произошло при инициализации Xwayland, и может потребоваться переустановка:

Error: Cannot open display wayland-0

Особенностью Wayland, имеющей отношение к информационной безопасности, является то, что без запуска X-сервера отсутствует дополнительный сервис, ожидающий сетевое подключение к нему. После активации Xwayland это утверждение становится нерелевантным для конкретной системы.

В случае использования некоторых композитных менеджеров, таких как Wayfire, Xwayland может не запускаться корректно. В таких случаях env будет выдавать следующую информацию о переменных окружения DISPLAY:

% env | grep DISPLAY
DISPLAY=wayland-1
WAYLAND_DISPLAY=wayland-1

Несмотря на то, что Xwayfire был установлен и настроен, приложения X11 не будут запускаться ввиду проблемы с дисплеем. Для обхода этой ситуации удостоверьтесь, что уже имеется экземпляр Xwayland, использующий UNIX-сокет, следующими двумя методами. Во-первых, проверьте выдачу команды sockstat и поищите X11-unix:

% sockstat | grep x11

Должно выдаваться что-то, подобное следующим данным:

trhodes  Xwayland   2734  8  stream /tmp/.X11-unix/X0
trhodes  Xwayland   2734  9  stream /tmp/.X11-unix/X0
trhodes  Xwayland   2734  10 stream /tmp/.X11-unix/X0
trhodes  Xwayland   2734  27 stream /tmp/.X11-unix/X0_
trhodes  Xwayland   2734  28 stream /tmp/.X11-unix/X0

Это предполагает существование сокета X11. Затем это может быть верифицировано попыткой выполнения команды Xwayland в ручном режиме из эмулятора терминала, работающего под управлением композитного менеджера:

% Xwayland

Если сокет X11 уже доступен, то пользователю должно быть выдано следующее сообщение об ошибке:

(EE)
Fatal server error:
(EE) Server is already active for display 0
	If this server is no longer running, remove /tmp/.X0-lock
	and start again.
(EE)

Так как имеется активный X-дисплей, использующий нулевой номер, переменная окружения была просто некорректно задана, для исправления чего измените значение переменной окружения DISPLAY на :0 и попробуйте запустить приложение ещё раз. В следующем примере используется пакет mail/claws-mail в качестве приложения, которому требуется сервис Xwayland:

export DISPLAY=:0

После этого изменения приложение mail/claws-mail должно теперь использовать Xwayland и работать так, как ожидалось.

6.6. Организация Удалённого Рабочего Стола при помощи VNC

Ранее в этом документе отмечалось, что Wayland не предоставляет доступ в стиле X-сервера, как это делает Xorg. Вместо этого пользователи свободны в выборе протокола доступа к удалённому рабочему столу, такого как RDP или VNC. В Коллекцию Портов FreeBSD включён wayvnc, который будет поддерживать композитные менеджеры, основанные на wlroots, вроде тех, что описываются здесь. Это приложение может быть установлено при помощи:

# pkg install wayvnc

В отличие от некоторых других пакетов, wayvnc поставляется без конфигурационного файла. К счастью, страница справки описывает важные параметры, и они могут быть перенесены в простой конфигурационный файл:

address=0.0.0.0
enable_auth=true
username=username
password=password
private_key_file=/path/to/key.pem
certificate_file=/path/to/cert.pem

Потребуется сформировать файлы с ключами безопасности, а их использование настоятельно рекомендуется для обеспечения повышенного уровня безопасности соединений. При запуске wayvnc будет искать конфигурационный файл в ~/.config/wayvnc/config. Такое поведение может быть переопределено опцией -C конфигурационный_файл при запуске сервера. Таким образом, для запуска сервера wayvnc выполните следующую команду:

% wayvnc -C ~/.config/wayvnc/config

На момент написания данного текста скрипт rc.d для запуска wayvnc при инициализации системы отсутствовал. Если такая функциональность нужна, то необходимо будет создать локальный файл запуска. Можно считать это запросом на добавление такой возможности для майнтайнера данного порта.

6.7. Менеджер регистраций Wayland

Хотя существует несколько менеджеров регистраций, которые постепенно переходят на использование Wayland, одним из вариантов является менеджер x11/ly с текстовым пользовательским интерфейсом (TUI). Обходясь минимальными настройками, ly будет запускать Sway, Wayfire и другие менеджеры, выдавая окно регистрации в процессе инициализации системы. Для установки ly запустите следующую команду:

# pkg install ly

Будет выдано несколько советов по настройке, при этом шагами по активации является добавление следующих строк в файл /etc/gettytab:

Ly:\
  :lo=/usr/local/bin/ly:\
  :al=root:

Затем откорректируйте строку ttyv1 в файле /etc/ttys так, чтобы она соответствовала следующей:

ttyv1 "/usr/libexec/getty Ly" xterm onifexists secure

После перезагрузки системы должно появиться приглашение ко входу в систему. Для настройки специфичных параметров, таких как используемый язык, отредактируйте /usr/local/etc/ly/config.ini. Как минимум, этот файл должен указывать на выделенный tty, заданный ранее в /etc/ttys.

При указании ttyv0 в качестве терминала входа в систему может потребоваться нажать клавиши alt и F1 для того, чтобы увидеть регистрационное окно.

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

6.8. Полезные Инструменты

Одной полезной утилитой Wayland, которую могут использовать любые композитные менеджеры, является waybar. Хотя Wayfire поставляется с меню запуска, лёгкая в использовании и быстрая панель задач является хорошим инструментом для любого композитного менеджера или оболочки рабочего стола. Панелью задач, совместимой с Wayland, быстрой и лёгкой в настройке, и является waybar. Для установки пакета и утилиты, поддерживающей управление аудио, запустите следующую команду:

# pkg install pavucontrol waybar

Для создания конфигурационного каталога и копирования конфигурационного файла по умолчанию выполните следующие команды:

% mkdir ~/.config/waybar
% cp /usr/local/etc/xdg/waybar/config ~/.config/waybar

Утилита lavalauncher обеспечивает панель запуска для различных приложений. С пакетом не поставляется пример конфигурационного файла, поэтому должны быть выполнены следующие действия:

mkdir ~/.config/lavalauncher

Пример конфигурационного файла, который включает только Firefox и предполагает размещение на экране справа, приводится ниже:

global-settings {
	watch-config-file = true;
}

bar {
	output            = eDP-1;
	position          = bottom;
	background-colour = "#202020";

	# Условие для конфигурационного набора, используемого по умолчанию.
	condition-resolution = wider-than-high;

	config {
		position = right;
	}

	button {
		image-path          =     /usr/local/lib/firefox/browser/chrome/icons/default/default48.png;
		command[mouse-left] =     /usr/local/bin/firefox;
	}
	button {
	  image-path           =   /usr/local/share/pixmaps/thunderbird.png;
	  command[mouse-left]  =   /usr/local/bin/thunderbird;
}

Изменено: 9 марта 2024 г. by Danilo G. Baio