UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

332 lines (228 loc) 19.1 kB
Ссылки по теме * [KMS](/index.php/KMS "KMS") * [Xorg (Русский)](/index.php/Xorg_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Xorg (Русский)") **Wayland** это новый протокол управления окнами для Linux. Использование Wayland требует внесения изменений в систему и повторной установки некоторых ее компонентов. Для получения дополнительной информации о Wayland смотрите [домашюю страницу](http://wayland.freedesktop.org/). ## Contents * [1 Требования](#.D0.A2.D1.80.D0.B5.D0.B1.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F) * [2 Установка](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0) * [3 Использование](#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5) * [4 Weston](#Weston) * [4.1 Установка](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_2) * [4.2 Использование](#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_2) * [4.3 Настройка](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0) * [4.3.1 XWayland](#XWayland) * [4.3.2 Запись скринкаста](#.D0.97.D0.B0.D0.BF.D0.B8.D1.81.D1.8C_.D1.81.D0.BA.D1.80.D0.B8.D0.BD.D0.BA.D0.B0.D1.81.D1.82.D0.B0) * [4.3.3 High DPI дисплеи](#High_DPI_.D0.B4.D0.B8.D1.81.D0.BF.D0.BB.D0.B5.D0.B8) * [4.3.4 Шрифты](#.D0.A8.D1.80.D0.B8.D1.84.D1.82.D1.8B) * [5 GUI библиотеки](#GUI_.D0.B1.D0.B8.D0.B1.D0.BB.D0.B8.D0.BE.D1.82.D0.B5.D0.BA.D0.B8) * [5.1 GTK+ 3](#GTK.2B_3) * [5.2 Qt5](#Qt5) * [5.3 Clutter](#Clutter) * [5.4 SDL](#SDL) * [5.5 glfw](#glfw) * [5.6 EFL](#EFL) * [6 Оконные менеджеры и оболочки рабочего стола](#.D0.9E.D0.BA.D0.BE.D0.BD.D0.BD.D1.8B.D0.B5_.D0.BC.D0.B5.D0.BD.D0.B5.D0.B4.D0.B6.D0.B5.D1.80.D1.8B_.D0.B8_.D0.BE.D0.B1.D0.BE.D0.BB.D0.BE.D1.87.D0.BA.D0.B8_.D1.80.D0.B0.D0.B1.D0.BE.D1.87.D0.B5.D0.B3.D0.BE_.D1.81.D1.82.D0.BE.D0.BB.D0.B0) * [7 Решение проблем](#.D0.A0.D0.B5.D1.88.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BF.D1.80.D0.BE.D0.B1.D0.BB.D0.B5.D0.BC) * [7.1 LLVM assertion failure](#LLVM_assertion_failure) * [7.2 Не запускается Weston после обновления до 1.7](#.D0.9D.D0.B5_.D0.B7.D0.B0.D0.BF.D1.83.D1.81.D0.BA.D0.B0.D0.B5.D1.82.D1.81.D1.8F_Weston_.D0.BF.D0.BE.D1.81.D0.BB.D0.B5_.D0.BE.D0.B1.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B4.D0.BE_1.7) * [8 См. также](#.D0.A1.D0.BC._.D1.82.D0.B0.D0.BA.D0.B6.D0.B5) ## Требования В настоящее время Wayland будет работать только на системах, использующих [KMS](/index.php/KMS "KMS"). ## Установка **Примечание:** Wayland, скорее всего, установлен на вашей системе, так как является зависимостью для [gtk2](https://www.archlinux.org/packages/?name=gtk2) и [gtk3](https://www.archlinux.org/packages/?name=gtk3). [Установите](/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B5 "Установите") пакет [wayland](https://www.archlinux.org/packages/?name=wayland). ## Использование Wayland - библиотека, которая бесполезна сама по себе. Чтобы заменить X сервер, понадобится композитный менеджер (например, [#Weston](#Weston)). ## Weston ### Установка Установите пакет [weston](https://www.archlinux.org/packages/?name=weston). ### Использование <caption>***Горячие клавиши** (super = клавиша windows - можно изменить, смотрите weston.ini)*</caption> | Комманда | Действие | | 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 + F***n*** | Перейти на рабочее пространство ***n*** | | Super + S | Сделать скриншот | | Super + R | Записать скринкаст. | Теперь, когда установлен Wayland и выполнены все требования, можно проверить его. Можно запустить Weston прямо из активного X сеанса: ``` $ weston ``` Кроме того, Weston может быть запущен самостоятельно. Попробуйте выполнить в виртуальном терминале: ``` $ weston-launch ``` Если Weston на TTY, вы можете запустить демо приложения. Чтобы запустить эмулятор терминала: ``` $ weston-terminal ``` Чтобы разместить цветы по всему экрану: ``` $ weston-flower ``` Для просмотра изображений: ``` $ weston-image image1.jpg image2.jpg... ``` ### Настройка Пример конфигурационного файла для раскладки клавиатуры, выбранных модулей и видоизмененного интерфейса. Подробности смотрите в [странице справочного руководства](/index.php/%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0_%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%BE%D0%B3%D0%BE_%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%B0 "Страница справочного руководства") `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 [Установите](/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B5 "Установите") пакет [xorg-server-xwayland](https://www.archlinux.org/packages/?name=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](/index.php/FFmpeg "FFmpeg"). #### High DPI дисплеи Для [Retina](https://en.wikipedia.org/wiki/ru:Retina "wikipedia:ru:Retina") или [HiDPI](/index.php/HiDPI "HiDPI") дисплеев, используйте: `~/.config/weston.ini` ``` [output] name=... scale=2 ``` #### Шрифты Weston использует стандартный шрифт sans-serif для заголовков окон, часов и прочих. Смотрите [Font configuration (Русский)#Заменить или установить шрифты по умолчанию](/index.php/Font_configuration_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#.D0.97.D0.B0.D0.BC.D0.B5.D0.BD.D0.B8.D1.82.D1.8C_.D0.B8.D0.BB.D0.B8_.D1.83.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.B8.D1.82.D1.8C_.D1.88.D1.80.D0.B8.D1.84.D1.82.D1.8B_.D0.BF.D0.BE_.D1.83.D0.BC.D0.BE.D0.BB.D1.87.D0.B0.D0.BD.D0.B8.D1.8E "Font configuration (Русский)") для получения инструкций о том, как изменить этот шрифт. ## GUI библиотеки Смотрите подробности на [официальном сайте](http://wayland.freedesktop.org/toolkits.html)) ### GTK+ 3 В пакете [gtk3](https://www.archlinux.org/packages/?name=gtk3) из официальных репозиториев уже включена поддержка Wayland. С версии GTK+ 3.0, GTK+ имеет поддержку нескольких бэкендов во время выполнения и может переключаться между ними таким же образом, Qt c lighthouse. Когда включены оба бэкенда Wayland и X, GTK + по умолчанию будет использовать X11, но это можно изменить, переназначив переменную окружения: `GDK_BACKEND=wayland`. ### Qt5 [Установите](/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B5 "Установите") [qt5-wayland](https://www.archlinux.org/packages/?name=qt5-wayland). Чтобы запустить приложение Qt5 с плагином Wayland, установите [переменную окружения](/index.php/Environment_variables_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Environment variables (Русский)") `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`. Вы также можете [установить](/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B5 "Установите") пакет [glfw-wayland-git](https://aur.archlinux.org/packages/glfw-wayland-git/) из AUR. ### EFL EFL полностью поддерживает Wayland. Для запуска EFL в Wayland смотрите [страницу проекта Wayland](http://wayland.freedesktop.org/efl.html). ## Оконные менеджеры и оболочки рабочего стола | Имя | Тип | Описание | | GNOME | Композитный | Смотрите [GNOME#Starting GNOME](/index.php/GNOME#Starting_GNOME "GNOME"). | | Hawaii | *(Неопределенный)* | Смотрите [Hawaii](/index.php/Hawaii "Hawaii"). | | sway | Тайловый | [Sway](/index.php/Sway "Sway") - совместимый с i3 менеджер окон для Wayland. [Github](https://github.com/SirCmpwn/sway) | | Enlightenment | *(Неопределенный)* | Минималистический оконный менеджер Wayland с возможностью переключать композитинг. Изначально в E19 была поддержка Wayland, но была удалена и только в E20+ поддержка признана достаточно стабильной для регулярного использования. [Больше информации](https://www.enlightenment.org/about-wayland). | | KDE Plasma | Композитный | Смотрите [KDE#Starting Plasma](/index.php/KDE#Starting_Plasma "KDE") | | Orbment | Тайловый | [orbment](https://github.com/Cloudef/orbment) (раньше loliwm) - тайловый менеджер окон для Wayland. | | Velox | Тайловый | [Velox](/index.php/Velox "Velox") - простой оконный менеджер, основанный на swc. Он вдохновлен [dwm](/index.php/Dwm "Dwm") и [xmonad](/index.php/Xmonad "Xmonad"). | | Orbital | Композитный | [Orbital](https://github.com/giucam/orbital) - композитор и оболочка Wayland, использующая Qt5 и Weston. Целью проекта является создание простой, но гибкой и красивой среды рабочего стола Wayland. Orbital не есть полноценная среда рабочего стола, а скорее всего является аналогом оконных менеджеров в мире X11, таких как [Awesome](/index.php/Awesome "Awesome") или [Fluxbox](/index.php/Fluxbox "Fluxbox"). | | Papyros Shell | *(Неопределенный)* | [Papyros Shell](https://github.com/papyros/papyros-shell) является оболочкой рабочего стола для [Papyros](/index.php/Papyros "Papyros"), созданная посредством QtQuick и QtCompositor в качестве композитора для Wayland. | | Maynard | *(Неопределенный)* | [Maynard](https://github.com/raspberrypi/maynard) - оболочка рабочего стола для Weston, основанная на GTK. Она была основана на weston-gtk-shell - проекте Tiago Vignatti. | | Motorcar | *(Неопределенный)* | [Motorcar](https://github.com/evil0sheep/motorcar) - композитор Wayland для исследования 3D окон. | | Way Cooler | Тайловый | [way-cooler](https://aur.archlinux.org/packages/way-cooler/) является настраиваемым (через конфигурационный файлы lua) композитором Wayland, написанным на Rust. Вдохновленный i3 и awesome. | Некоторые из установленных клиентов рабочего стола Wayland могут хранить информацию в файлах `/usr/share/wayland-sessions/*.desktop` для того, чтобы запускать их в Wayland. ## Решение проблем ### LLVM assertion failure Если вы получаете LLVM assertion failure, вам нужно пересобрать [mesa](https://www.archlinux.org/packages/?name=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 (Русский)](/index.php/Cursor_themes_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Cursor themes (Русский)") * [Arch Linux forum discussion](https://bbs.archlinux.org/viewtopic.php?id=107499) * [Официальная документация Wayland (англ.)](http://wayland.freedesktop.org/docs/html/) * [Возможности Wayland (англ.)](http://www.chaosreigns.com/wiki/Wayland_State)