# Wayland (Русский)

Ссылки по теме

- KMS
- Xorg (Русский)
- Mir

Эта страница нуждается в сопроводителе

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

Wayland это новый протокол управления окнами для Linux. Использование Wayland требует внесения изменений в систему и повторной установки некоторых ее компонентов. Для получения дополнительной информации о Wayland смотрите домашюю страницу.

## Требования

В настоящее время Wayland будет работать только на системах, использующих KMS.

## Установка

Примечание: Wayland, скорее всего, установлен на вашей системе, так как является зависимостью для gtk2 и gtk3.

Установите пакет wayland.

## Использование

Wayland - библиотека, которая бесполезна сама по себе. Чтобы заменить X сервер, понадобится композитный менеджер (например, #Weston).

## Weston

### Установка

Установите пакет weston.

### Использование

Горячие клавиши (super = клавиша windows - можно изменить, смотрите weston.ini)
Комманда | Действие
--- | ---
Ctrl + Alt + Backspace | Выйти из Weston
Super + Scroll (or PageUp/PageDown) | Увеличить/уменьшить рабочий стол
Super + Tab | Переключить окно
Super + ЛКМ | Переместить окно
Super + ПКМ | Повернуть окно!
Super + Колесо прокрутки | Изменить размер окна
Super + Alt + Колесо прокрутки | Изменить прозрачность окна
Super + K | Принудительно завершить активное окно
Super + KeyUp/KeyDown | Переключиться на предыдущее/следующее рабочее пространство
Super + Shift + KeyUp/KeyDown | Переключение рабочего пространства с захватом текущего окна
Super + Fn | Перейти на рабочее пространство n
Super + S | Сделать скриншот
Super + R | Записать скринкаст.

Теперь, когда установлен Wayland и выполнены все требования, можно проверить его.

Можно запустить Weston прямо из активного X сеанса:

    $ weston

Кроме того, Weston может быть запущен самостоятельно. Попробуйте выполнить в виртуальном терминале:

    $ weston-launch

Если Weston на TTY, вы можете запустить демо приложения. Чтобы запустить эмулятор терминала:

    $ weston-terminal

Чтобы разместить цветы по всему экрану:

    $ weston-flower

Для просмотра изображений:

    $ weston-image image1.jpg image2.jpg...

### Настройка

Пример конфигурационного файла для раскладки клавиатуры, выбранных модулей и видоизмененного интерфейса. Подробности смотрите в странице справочного руководства `weston.ini`:

    ~/.config/weston.ini

    [core]
    # поддержка xwayland
    modules=xwayland.so

    [libinput]
    enable_tap=true

    [shell]
    background-image=/usr/share/backgrounds/gnome/Aqua.jpg
    background-color=0xff002244
    panel-color=0x90ff0000
    locking=true
    animation=zoom
    close-animation=fade
    focus-animation=dim-layer
    #binding-modifier=ctrl
    #num-workspaces=6
    ### для поддержки тем курсоров установите xcursor-themes из репозитория Extra. ###
    #cursor-theme=whiteglass
    #cursor-size=24

    ### настройки планшета ###
    #lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png
    #lockscreen=/usr/share/backgrounds/gnome/Garden.jpg
    #homescreen=/usr/share/backgrounds/gnome/Blinds.jpg
    #animation=fade

    ### для дисплея ноутбука ###
    #[output]
    #name=LVDS1
    #mode=1680x1050
    #transform=90

    #[output]
    #name=VGA1
    # The following sets the mode with a modeline, you can get modelines for your preffered resolutions using the cvt utility
    #mode=173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
    #transform=flipped

    #[output]
    #name=X1
    #mode=1024x768
    #transform=flipped-270

    [input-method]
    #path=/usr/lib/weston/weston-keyboard

    [keyboard]
    keymap_rules=evdev
    #keymap_layout=gb,de
    #keymap_options=caps:ctrl_modifier,shift:both_capslock_cancel
    ### keymap_options from /usr/share/X11/xkb/rules/base.lst ###
    numlock-on=true

    [terminal]
    #font=DroidSansMono
    #font-size=14

    [launcher]
    icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
    path=/usr/bin/weston-terminal

    [launcher]
    icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
    path=/usr/bin/gnome-terminal

    [launcher]
    icon=/usr/share/icons/hicolor/24x24/apps/firefox.png
    path=/usr/bin/firefox

    [launcher]
    icon=/usr/share/weston/icon_flower.png
    path=/usr/bin/weston-flower

    [screensaver]
    # Uncomment path to disable screensaver
    path=/usr/libexec/weston-screensaver
    duration=600

#### XWayland

Установите пакет xorg-server-xwayland.

Если вам понадобится запускать X-приложения из Weston, он будет вызывать Xwayland для обслуживания запросов. Для этого добавьте следующие строки в файл конфигурации:

    ~/.config/weston.ini

    [core]
    modules=xwayland.so

#### Запись скринкаста

У Weston есть встроенный записыватель скринкастов, который может быть запущен и остановлен посредством комбинации клавиш `Super+r`. Скринкасты сохраняются в файл `capture.wcap` в текущей рабочей директории Weston.

Формат WCAP - особый lossless видео формат, который записывает только разницу между кадрами, характерный для Weston. Чтобы просмотреть записанный скринкаст, файл WCAP нужно преобразовать в формат, который сможет понять медиаплеер. Сначала преобразуем картинку в формат пикселей YUV:

    $ wcap-decode capture.wcap --yuv4mpeg2 > capture.y4m

Файл YUV может быть преобразован в другие форматы используя FFmpeg.

#### High DPI дисплеи

Для Retina или HiDPI дисплеев, используйте:

    ~/.config/weston.ini

    [output]
    name=...
    scale=2

#### Шрифты

Weston использует стандартный шрифт sans-serif для заголовков окон, часов и прочих. Смотрите Font configuration (Русский)#Заменить или установить шрифты по умолчанию для получения инструкций о том, как изменить этот шрифт.

## GUI библиотеки

Смотрите подробности на официальном сайте)

### GTK+ 3

В пакете gtk3 из официальных репозиториев уже включена поддержка Wayland.

С версии GTK+ 3.0, GTK+ имеет поддержку нескольких бэкендов во время выполнения и может переключаться между ними таким же образом, Qt c lighthouse.

Когда включены оба бэкенда Wayland и X, GTK + по умолчанию будет использовать X11, но это можно изменить, переназначив переменную окружения: `GDK_BACKEND=wayland`.

### Qt5

Установите qt5-wayland.

Чтобы запустить приложение Qt5 с плагином Wayland, установите переменную окружения `QT_QPA_PLATFORM=wayland-egl` .

### Clutter

Clutter toolkit имеет бэкенд Wayland, что позволяет ему работать в качестве клиента Wayland. Бэкенд включён в официальным пакет из extra .

Для запуска Clutter на Wayland, выставите `CLUTTER_BACKEND=wayland`.

### SDL

Экспериментальная поддержка wayland доступна с версии SDL 2.0.2 и включена по умолчанию Arch Linux.

Для запуска SDL на Wayland, выставите `SDL_VIDEODRIVER=wayland`.

### glfw

Экспериментальная поддержка Wayland уже присутствует в GLFW 3.1 и может быть включена при помощи флага CMake во время компиляции `-DGLFW_USE_WAYLAND=ON`. Вы также можете установить пакет glfw-wayland-gitAUR из AUR.

### EFL

EFL полностью поддерживает Wayland. Для запуска EFL в Wayland смотрите страницу проекта Wayland.

## Оконные менеджеры и оболочки рабочего стола

Имя | Тип | Описание
--- | --- | ---
GNOME | Композитный | Смотрите GNOME#Starting GNOME.
Hawaii | (Неопределенный) | Смотрите Hawaii.
sway | Тайловый | Sway - совместимый с i3 менеджер окон для Wayland. Github
Enlightenment | (Неопределенный) | Минималистический оконный менеджер Wayland с возможностью переключать композитинг. Изначально в E19 была поддержка Wayland, но была удалена и только в E20+ поддержка признана достаточно стабильной для регулярного использования. Больше информации.
KDE Plasma | Композитный | Смотрите KDE#Starting Plasma
Orbment | Тайловый | orbment (раньше loliwm) - тайловый менеджер окон для Wayland.
Velox | Тайловый | Velox - простой оконный менеджер, основанный на swc. Он вдохновлен dwm и xmonad.
Orbital | Композитный | Orbital - композитор и оболочка Wayland, использующая Qt5 и Weston. Целью проекта является создание простой, но гибкой и красивой среды рабочего стола Wayland. Orbital не есть полноценная среда рабочего стола, а скорее всего является аналогом оконных менеджеров в мире X11, таких как Awesome или Fluxbox.
Papyros Shell | (Неопределенный) | Papyros Shell является оболочкой рабочего стола для Papyros, созданная посредством QtQuick и QtCompositor в качестве композитора для Wayland.
Maynard | (Неопределенный) | Maynard - оболочка рабочего стола для Weston, основанная на GTK. Она была основана на weston-gtk-shell - проекте Tiago Vignatti.
Motorcar | (Неопределенный) | Motorcar - композитор Wayland для исследования 3D окон.
Way Cooler | Тайловый | way-coolerAUR является настраиваемым (через конфигурационный файлы lua) композитором Wayland, написанным на Rust. Вдохновленный i3 и awesome.

Некоторые из установленных клиентов рабочего стола Wayland могут хранить информацию в файлах `/usr/share/wayland-sessions/*.desktop` для того, чтобы запускать их в Wayland.

## Решение проблем

### LLVM assertion failure

Если вы получаете LLVM assertion failure, вам нужно пересобрать mesa без Gallium LLVM пока эта проблема не будет исправлена.

Это может означать отключение некоторых драйверов, которым требуется LLVM. Если возникают проблемы с драйверами, то можно также попробовать предпринять следующее:

    $ export EGL_DRIVER=/usr/lib/egl/egl_gallium.so

### Не запускается Weston после обновления до 1.7

Это может быть связано с загрузкой модуля `desktop-shell.so`, указанного в weston.ini. Требуется просто удалить его из строки конфигурации, подобно этой:

    ~/.config/weston.ini

    [core]
    modules=xwayland.so,desktop-shell.so

Убрав `desktop-shell.so`, получаем

    ~/.config/weston.ini

    [core]
    modules=xwayland.so

## См. также

- Cursor themes (Русский)
- Arch Linux forum discussion
- Официальная документация Wayland (англ.)
- Возможности Wayland (англ.)

Categories:

- X server (Русский)
- Русский