# Wayland (Русский)

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

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

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

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

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

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

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

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

## Установка

Вероятней всего Wayland уже установлен на вашей системе, так как он является зависимостью для gtk2 и gtk3. Если же он отсутствует, пакет wayland можно установить из официальных репозиториев.

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

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

## Weston

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

Вам нужно установить пакет weston из официальных репозиториев.

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

Горячие клавиши (super = windows key - можно изменить, см. 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...

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

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

    ~/.config/weston.ini

    [core]
    shell=desktop-shell.so
    ### для поддержки xwayland следущая строка должна быть раскоментирована ###
    modules=xwayland.so

    [libinput]
    enable_tap=true

    [shell]
    background-image=/usr/share/archlinux/wallpaper/archlinux-simplyblack.png
    ### цвета в формате AARRGGBB ###
    background-color=0x00ffffff
    panel-color=0x00ffffff
    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

    [keyboard]
    keymap_rules=evdev
    keymap_layout=us,ru
    keymap_options=grp:caps_toggle
    ### keymap_options из /usr/share/X11/xkb/rules/base.lst ###

    [terminal]
    font=Terminus
    font-size=14
    #term=rxvt-unicode

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

    [launcher]
    icon=/usr/share/icons/hicolor/32x32/apps/wireshark.png
    path=/usr/bin/wireshark

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

    [launcher]
    icon=/usr/share/icons/gnome/32x32/apps/arts.png
    path=/usr/bin/weston-flower

    [screensaver]
    # Раскоментируйте путь, чтобы отключить заставку
    path=/usr/libexec/weston-screensaver
    duration=600

    [input-method]
    path=/usr/libexec/weston-keyboard

    ###  для дисплея ноутбука  ###
    [output]
    name=LVDS1
    mode=1280x800
    #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

#### XWayland

Пакет xorg-server-xwayland доступен в официальных репозиториях.

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

    ~/.config/weston.ini

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

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

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

### GTK+

В пакете 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

Версия 3.1 будет иметь поддержку Wayland через указанный флаг компиляции. В то же время вы можете установить пакет из AUR glfw3-gitAUR и добавить Cmake флаг `-DGLFW_USE_WAYLAND=ON`

### EFL

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

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

### GNOME

Важно: Сеанс Gnome Wayland не запустится, если xorg-server-xwayland не установлен .

Начиная с версии 3.14, Gnome поддерживает запуск рабочего стола используя Wayland. Gnome compositor может быть запущен без использования X, и будет выступать в качестве композитного менеджера Wayland.Он достаточно стабильный для повседневного использования, однако есть некоторые особенности, которые пока что не поддерживаются (см. документацию Gnome). Поэтому рабочий стол, приложения, использующие X будет работать с использованием XWayland.

Для запуска сеанса Gnome Wayland нужно использовать gdm login manager, в котором требуется выбрать "Gnome on Wayland".

### Hawaii

см. страницу Hawaii

### i3

Некоторые разработчики i3 думают о запуске полностью нового проекта с реализацией плагина оболочки для Weston с теми же функциями и стилем i3.

### KDE

Начиная с KDE 4.11 beta поддерживается KWin как композитный менеджер Wayland. При этом в настоящее время нет возможности использовать KWin в качестве менеджера сессии.

### Loliwm

loliwm - фреймовый оконный менеджер для Wayland.

### Velox

velox простой фреймовый оконный менеджер, основанный на swc. Базируется на dwm и xmonad.

### Orbital

Orbital это композитный менеджер Wayland и пользовательская оболочка, использующая Qt5 и Weston. Цель проекта заключается в создании простого, но гибкого и привлекательного рабочего стола Wayland рабочий. Это не полноценное окружение рабочего стола, а скорее аналог оконного менеджера для X11, такого как Awesome или Fluxbox.

### Papyros Shell

Papyros Shell это оболочка рабочего стола проекта Papyros, построенная с использованием QtQuick и использущая QtCompositor в качестве композитного менеджера Wayland.

### Maynard

Maynard это рабочее окружение, построенное на технологиях Wayland. Оболочка основана на наработках Weston gtk-shell.

### Motorcar

Motorcar - композитный менеджер и прототип интерфейса трёхмерного рабочего стола.

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

### LLVM assertion failure

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

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

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

## См. также

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

Categories:

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