Установка диспетчера окон kwin

Обновлено: 16.05.2024

Лучшие оконные менеджеры Linux

Оконные менеджеры Linux используются для управления окнами приложений в системе. Например, когда вы запускаете любое графическое приложение, оно открывает своё окно. Для того, чтобы этим окном можно было двигать и оно выглядело красиво, в фоне работает менеджер, который отвечает за все эти функции.

Обычно оконный менеджер встроен в ваше окружение рабочего стола, но для создания очень лёгких систем вы можете использовать оконный менеджер без окружения. В этой статье мы собрали лучшие оконные менеджеры Linux, которые вы можете установить и использовать в своей системе.

Лучшие оконные менеджеры Linux

Не путайте оконные менеджеры с окружением рабочего стола. Окружения рабочего стола обычно содержат панели инструментов, обои, виджеты, папки и иконки. Также они обычно имеют отдельный набор библиотек и приложений, чтобы вам было удобнее работать за своим компьютером. А оконные менеджеры же только управляют окнами. В окружениях рабочего стола уже есть встроенные оконные менеджеры и компоновщики окон, которые позволяют рисовать и создавать окна отдельно.

Первый в нашем списке - i3. Это хорошо документированный и настраиваемый оконный менеджер. В этом менеджере пользователь может настроить всё как захочет, начиная от позиции открытого приложения, заканчивая собственным сочетанием клавиш. Преимущество i3 - вся конфигурация в текстовом виде, не нужно знать никаких языков, вроде LUA или Haskell.



Переключение между плавающими окнами выполняется с помощью Win+Shift+Space. Оконный менеджер активно развивается, а обнаруженные ошибки исправляются разработчиками. Также можно использовать терминал для выполнения нужных действий.

2. Awesome WM

Awesome WM - один из лучших оконных менеджеров для Linux, который использует асинхронную библиотеку XCB вместо Xlib. Оконный менеджер написан на C++. Его можно настроить, изменить стиль, внешний вид, а также настроить горячие клавиши. И всё это надо делать на языке LUA.



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

3. XMonad

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


Из особенностей можно отметить поддержку нескольких мониторов, а также, если вам не хватает какой-либо функции, то её можно добавить с помощью модулей.

4. Openbox

Openbox - это очень лёгкий и притом один из самых популярных оконных менеджеров для Linux. Он занимает всего 100 мегабайт оперативной памяти после загрузки. Он достаточно стабилен, и разработчики постоянно закрывают новые "дыры" и ошибки.


Он высоко настраиваемый и простой в использовании. Вы можете редактировать конфигурационные файлы или использовать утилиты для настройки.

5. DWM

Этот оконный менеджер Linux входит в пакет программного обеспечения Suckles Suite. Обычно пользователи могут настраивать и расширять его возможности путём изменения исходного кода. Весь код dwm помещается меньше, чем в 2000 строк, поэтому он является примером очень чистого и читабельного кода. Кроме того, dwm очень лёгкий, имеет простой дизайн и потребляет мало ресурсов.


Простые настройки dwm и горячие клавиши хорошо продуманы, и это делает его одним из лучших оконных менеджеров. Вы можете группировать приложения и окна на рабочем столе. Статус бар-менеджера показывает информацию о Wi-Fi-соединении, уровне громкости и состоянии батареи.

6. Gala

Этот оконный менеджер работает на основе клиентской декорации GTK. У него простой, но в то же время продуманный дизайн, как будто использовались правила проектирования ElementaryOS.

Gala подходит для новичков. Он невероятно конфигурируемый и имеет все необходимые горячие клавиши для удобного использования. Для горячих углов можно назначить выполнение определённых задач или своих команд.


Также в Gala есть анимации и интересные эффекты. Вы можете добавлять их и удалять по мере необходимости. Оконный менеджер очень лёгкий и хорошо работает на слабом оборудовании, например хромбуках или старых ноутбуках. Gala стабилен. А ещё он считается одним из самых упоминаемых диспетчеров окон за всё время.

7. KWin

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


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

8. Fluxbox

Если вы ищете самый лёгкий оконный менеджер для Linux, тогда Fluxbox будет лучшим выбором для вас. На любом железе он будет работать очень быстро. А также он прост в использовании и настройке.


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

9. Musca

Этот менеджер окон считается очень простым и понятным. Он также очень эффективен в плане использования дискового пространства и памяти. Здесь нет никаких панелей и декораций для окон. Но их можно добавить, установив дополнительные приложения. Система группировки окон очень похожа на виртуальные рабочие столы.


Окна распределяются по различным именованным группам, и вы можете очень просто переключаться между ними. Пользователь может создавать или удалять группы. Musca поддерживает несколько мониторов и может создавать группы окон автоматически.

10. SpectrWM

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


Настраивать spectrwm очень просто, поскольку здесь есть базовый набор настроек и вам не нужно знать никакого языка программирования для их изменения. Поэтому он идеально подходит для новичков и тех, кто хочет использовать Xmonad, но не знает Haskell.

11. HerbstluftWM

В этом оконном менеджере очень просто разобраться и настроить его. Все настройки выполняются через командную строку и вам не нужно выходить из окружения. Отличная особенность HerbstluftWM - это поддержка ручного и автоматического тайлинга окон. Пользователь может настроить автоматический тайлинг для каждого окна или приложения. В любой момент автоматический тайлинг может быть изменён на ручной.

DevOps


Для настройки здесь используется скрипт на Bash, но в остальном здесь всё достаточно просто. Можно использовать разные шаблоны расположения, а также создавать шаблоны на лету. Также поддерживается использование двух мониторов.

12. Enlightenment

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


Вы можете полностью настроить его по своему вкусу, а также добавить дополнительный композитный менеджер. Здесь также есть виртуальные рабочие столы, виджеты. Enlightenment - очень быстрое окружение, идеально подойдёт для ноутбуков.

13. JWM


JWM - чрезвычайно лёгкий оконный менеджер. Он используется в качестве дисплейного менеджера по умолчанию в Puppy Linux. Он также идеально подойдёт для любого старого компьютера. Меню и окна открываются быстрее, чем в других менеджерах. Также JWM легко настраивается, вам не нужно для этого каких-либо знаний по программированию.

14. Window Maker


Дизайн Window Maker очень похож на графический интерфейс NeXT и пользователю будет удобно работать с ним. Оконный менеджер очень лёгкий и элегантный, поддерживает расширение с помощью различных док-панелей.

15. IceWM


IceWM - один из самых лёгких оконных менеджеров. Он занимает очень мало места на жёстком диске. Он быстрый и достаточно просто управляется с помощью клавиатуры. Также здесь есть множество настроек и тем оформления, которые вы можете использовать. А ещё поддерживается работа с несколькими мониторами.

16. Pantheon


Новички в Linux могут решить, что Pantheon создан для людей, которые раньше имели опыт использования MacOS. Это современный оконный менеджер с красивым дизайном. Здесь есть док-панель, которую можно использовать для запуска приложений. Программы можно отсортировать по категории или алфавиту.

17. XFWM


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

18. Ratpoison


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

19. Compiz


куб рабочего стола Compiz

Compiz - старый оконный менеджер, который раньше очень часто использовался. Здесь есть ещё больше эффектов, чем у Kwin. Например, он известен таким эффектом, как куб рабочего стола. Также поддерживается расширение возможностей Compiz с помощью плагинов. Можно включить или отключить ту или иную возможность, включая или отключая её плагин. Процесс настройки очень прост - всё есть в специальной утилите.

20. Wayland


У этого оконного менеджера нет API-рисования. Пользователи Wayland получают дескриптор DRM-буфера, который работает, как указатель на графическую память. Для отрисовки изображений в Wayland используется графическая карта, а не процессор. Wayland сделает работу графической оболочки проще и уберёт многие ненужные вещи. Основная его цель - упростить графический стек ОС Linux. В будущем он будет использоваться вместо X-сервера во всех окружениях, но пока он находится в разработке.

Выводы

Есть три основных типа оконных менеджеров в Linux: стековые, тайлинговые и композитные. Композитные заботятся о 2D- и 3D-окружении. Стековые позволяют окнам перекрывать друг друга поверх фонового рисунка рабочего стола. А тайлинг гарантирует, что все окна будут видны одновременно и не будут перекрываться.

В этой статье мы рассмотрели лучшие оконные менеджеры Linux. У каждого из них есть свои плюсы и минусы. Перед тем, как определиться с выбором, определитесь, что именно вам нужно, и попробуйте как можно больше вариантов. Программы бесплатны и достаточно всего несколько команд для их установки. Какие лучшие оконные менеджеры вы знаете? А какой из них будете использовать? Напишите в комментариях!

Похожие записи:

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Установка диспетчера окон kwin

Установка диспетчера окон Kwin на Ubuntu 18.04

Kwin на Ubuntu 16.04 (XFCE, или MATE)

Установка диспетчера окон Kwin на Ubuntu 18.04 (XFCE, или MATE)

Введение:

Зачем он мне?

Вот основные преимущества из за которых я юзаю Kwin без кед (KDE), уже давно:

  • Не требователен к ресурсам, особенно если используется вместе с легковесным рабочим окружением
  • Красивый, удобный и очень гибкий в настройке (горячие клавиши и большое количество тем которые можно добавлять прямо из панели управления)
  • Убирает тиринг (разрывы изображения) при просмотре фильмов (такая проблема до сих пор осталась, например на чистом XFCE)
  • Не уменьшает ФПС в играх, так как в настройках можно отключить все эффекты для полноэкранных окон, что положительно влияет на производительность

На каких системах это работает

Необходимые пакеты:

Для успешного использования диспетчера окон Kwin нам потребуется 3 основных пакета:

kwin (собственно сам диспетчер окон. КЭП =)

systemsettings (для легкой настройки самого менеджера окон)

sudo apt-get update && sudo apt install -y kwin systemsettings

Проверка и запуск

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

Заработало?! Не пугайтесь, изначально настройки (мягко говоря) ужасные.

Настройка автозапуска

Что бы диспетчер окон запускался вместе с вашей ОС автоматически, необходимо данную команды (из предыдущего пункта) добавить в автозагрузку.

Имя: Kwin WM

Описание: Менеджер окон Kwin из KDE

Команда: kwin --replace

и кликаем ОК. Готово!

Переходим обратно, ко всем настройкам и находим новый пункт: Параметры системы KDE

Дальше я думаю что вы и сами разберетесь и настроите менеджер окон Kwin на свой вкус.

Эффективное управление окнами в KWin, или управляем рабочими столами

Преамбула:
Эта статья поможет нам распределить нужные окна по рабочим столам. Для начала создайте побольше рабочих столов (ПКМ на переключалке -> Настроить рабочие столы). Также желательно настроить показ имени рабочего стола в свойствах аплета рабочих столов.


В KWin есть такая вещь, как особые параметры окна, она нам поможет переместить нужное нам окно на нужный рабочий стол.


Находится она в Systemsettings -> Поведение окна.


1.Создадим новую запись, например для Dolphin:

«Класс окна» в 99 % случаев совпадает с именем приложения. В моем случае только у VLC пришлось определять заголовок вместо класса окна.

Роль окна также не имеет значения в обычном случае. Но если вам нужно настроить одинаковое поведение для всех браузеров, нужно выбрать роль окна «browser». Arora и Firefox у меня подхватили эту роль.

Во второй вкладке можно выбрать тип окна, или настроить определение заголовка: для VLC это понадобится.


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


Параметр «Применить изначально» подходит в 99 % случаев.

В четвертой и пятой вкладке можно настроить дополнительные параметры по вкусу.

Организуем окна в Windows с помощью менеджеров окон

Если в Google ввести запрос «менеджер окон Mac», выдается множество результатов утилит — менеджеров окон, обзоры и отзывы. А вот для Windows — полная тишина.
На любимом сервисе Toster мне подсказали несколько утилит, существенно облегчающих организацию рабочего пространства, которыми я теперь пользуюсь сам и хочу поделиться с другими.

Чтобы не тратить время тех, кто о них знает, сразу перечислю: AquaSnap, DIVVY и BetterDesktopTool.
Сам же постараюсь кратко описать их наиболее полезные функции.

AquaSnap


Коронной функцией этой программы считаю синхронное изменение размера окон. Странно, что фирме Microsoft в своем популярнейшем ПО с названием «Окна» (Windows) не пришла в голову идея реализовать это.

Также существенным удобством является возможность переместить окно в одну из четвертей (или двух половин) рабочего стола, потянув за его заголовок, или назначить на это горячие клавиши

Лучший способ влюбиться оценить все возможности программы можно, посмотрев полное демонстрационное видео.

Небольшое отступление или «камень в огород LG»
В данный момент фирма LG активно рекламирует и пытается внедрить в новых моделях мониторов ту самую функцию синхронного изменения окон, но программное обеспечение работает исключительно криво, а резкие и краткие ответы операторов Call-центра создают впечатление, что маркетологи сработали хорошо, а вот разработчики «немного не успели» реализовать обещанное. Все вышесказанное проверенно и подтверждено покупкой (и последующим возвратом в магазин) монитора LG с заявленной функцией.

DIVVY


Из-за того, что AquaSnap выполняет весь необходимый функционал, я несколько раз устанавливал, а после удалял DIVVY.

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

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

BetterDesktopTool


Во время просмотра презентации новой ОС от Apple я заметил отличный функционал под названием Mission Control, позволяющий отобразить на экране все открытые окна, что визуально облегчает выбор нужного при их большом количестве. Именно это выполняет указанная программа.

Приятным бонусом является возможность создавать виртуальные столы и взаимодействовать с ними с помощью горячих клавиш. Например, я на виртуальный стол всегда «отправляю» ненужные окна (например, консоль запущенного сервера).
Полное демонстрационное видео

Второй монитор

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

Как устроена графика в Linux: обзор различных сред оформления рабочего стола

Эта статья о том, как устроена графика в Linux и из каких компонентов она состоит. В ней много скриншотов с различными реализациями сред рабочих столов.

Если вы не сильно различаете KDE и GNOME или различаете, но хотели бы узнать, какие еще есть альтернативы, то эта статья для вас. Она обзорная, и хотя в ней много названий и немного терминов, материал будет также полезен начинающим и только посматривающим в сторону Linux.

Тема может заинтересовать и продвинутых пользователей при настройке удаленного доступа и при реализации тонкого клиента. Часто встречаю вполне матерых линуксойдов с утверждениями «на сервере только командная строка, и графику подробнее изучать не планирую, так как это всё нужно для простых пользователей». Но даже знатоки Linux с большим удивлением и радостью открывают для себя опцию «-X» у команды ssh (а для этого полезно понимать работу и функции X-сервера).


Источник

Я почти 15 лет обучаю на курсах Linux в «Сетевой Академии ЛАНИТ» и уверен, что многие из тех более пяти тысяч человек, которых обучил, читают и наверняка пишут статьи на Хабр. Курсы всегда очень насыщены (средняя продолжительность курса — пять дней), нужно рассказать темы, на полноценное знакомство с которыми требуется минимум дней десять. И всегда в ходе курса в зависимости от аудитории (новички собрались или матерые администраторы), а также от «вопросов из зала» я делаю выбор, что донести подробнее, а что — более поверхностно, чтобы посвятить больше времени утилитам командной строки и их практическому применению. Таких тем, которыми приходится немного жертвовать, достаточно. Это «История Linux», «Различия в дистрибутивах Linux», «Про лицензии: GPL, BSD, . », «Про графику и среды рабочих столов» (тема этой статьи) и др. Не то, чтобы они не важны, но обычно есть множество более актуальных «здесь и сейчас» вопросов и всего каких-то пять дней… Однако для общего понимания основ ОС Linux, понимания доступного разнообразия (чтобы даже пользуясь одним конкретным дистрибутивом Linux, всё-таки иметь более широкий взгляд на весь этот огромный и необъятный мир, что зовется «Linux») изучать эти темы полезно и нужно.

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

Для основных примеров и скриншотов я использовал дистрибутив openSUSE. Можно было использовать любой другой дистрибутив, разрабатываемый сообществом, с наличием большого количества пакетов в репозитории. Сложно, но возможно, продемонстрировать многообразие оформления рабочего стола на коммерческом дистрибутиве, так как часто в них используются только одна или две наиболее известных сред рабочего стола. Так разработчики сужают себе задачу выпуска стабильной отлаженной ОС. На данную же систему я установил все DM/DE/WM (объяснение этих терминов ниже), которые нашёл в репозитории.

Скриншоты с «синими рамками» как раз и сделаны на openSUSE.

Скриншоты с «белыми рамками» делал на других дистрибутивах, они указаны на скриншоте.

Скриншоты с «серыми рамками» были взяты из интернета, в качестве примеров оформлений рабочего стола из прошлых лет.

Основные компоненты, из которых состоит графика

Выделю три основные компонента и перечислю их в порядке, как они запускаются при старте системы:

  1. DM (Display Manager);
  2. Display Server;
  3. DE (Desktop Environment).
  • Apps Manager/Launcher/Switcher (кнопка «Пуск»);
  • WM (Window Manager);
  • различное ПО, поставляемое вместе со средой рабочего стола.

DM (Display Manager)

Первое приложение, которое запускается при старте «графики», — это DM (Display Manager), дисплейный менеджер. Его основные задачи:

  • спросить, каких пользователей пустить в систему, запросить аутентификационные данные (пароль, отпечаток пальца);
  • выбрать, какую среду оформления рабочего стола запустить.
    (сменил KDM), , , .
  • Также можно упомянуть Fly-DM (используемый в AstraLinux).





Стоит отметить, что на следующих скриншотах используется один и тот же дисплейный менеджер LightDM, но в разных дистрибутивах (названия дистрибутивов указаны в круглых скобках). Оцените, насколько по-разному может выглядеть этот DM благодаря работе дизайнеров различных дистрибутивов.






Главное в этом многообразии, чтобы было понятно, что есть такое приложение, которое отвечает за запуск графики и допуск пользователя к этой графике, и есть разные реализации этого приложения, различающиеся внешним видом и немного функционалом (выбор сред оформления, выбор пользователей, версия для плохо видящих пользователей, наличие возможности удаленного доступа по протоколу XDMCP).

Display Server

Display Server — это некий фундамент графики, основная задача которого — работать с видеокартой, монитором и с различными устройствами ввода (клавиатура, мышь, тачпады). То есть приложению (например, браузер или текстовый редактор), которое отрисовывается в «графике», не нужно знать, как напрямую работать с устройствами, не нужно знать про драйверы. Это всё на себя берет X Window.

Когда говорится про Display Server, то много лет в Linux, да и в Unix имелось в виду приложение X Window System или в простонародье X (Иксы).

Сейчас во многих дистрибутивах на смену X внедряют Wayland.

Также можно почитать:

    , , (нужны для удаленного запуска графических приложений, например используя PuTTY).

Практикум «запускаем Х и приложения в нём»

Выполнять всё буду от свежесозданного пользователя webinaruser (проще, но не безопаснее было бы всё выполнить от root'а).

  • Так как Х'ам нужен доступ к устройствам, даю доступ: Список устройств определил посмотрев ошибки при запуске Х'ов в логе (/home/webinaruser/.local/share/xorg/Xorg.77.log)
  • После этого запускаю X'ы:

Опции: * -retro — запускают с «серым» классическим фоном, а не с чёрным как по умолчанию; * :77 — задаю (можно любой в разумном диапазоне, только :0 уже скорее всего занят под уже запущенную графику) номер экрана, фактический некий уникальный идентификатор, по которому можно будет различать несколько запущенных X'ов; * vt8 — указывает терминал, здесь /dev/tty8, на котором будут отображаться X'ы).

  • Запускаем графическое приложение:

Посмотреть список запущенных X'ов можно так:

После того, как задали переменную, можно запускать приложения в наши X'ы — например, запускаю часы:

% xclock -update 1 &

% xeyes -g 200x150-300+50 &


Основные идеи и выводы из этого фрагмента:

  • X'ам требуется доступ к устройствам: терминалу, видеокарте, устройствам ввода,
  • Сами X'ы никаких элементов интерфейса не отображают — это серое (если с опцией «--retro») или чёрное полотно определённых размеров (например, 1920x1080 или 1024x768), чтобы запускать в нем графические приложения.
  • По движению «крестика» видно, что X'ы отслеживают положения мыши и передают эту информацию запущенным в нём приложениям.
  • Также X'ы отлавливают нажатия клавиш на клавиатуре и передают эту информацию приложениям.
  • Переменная DISPLAY указывает графическим приложениям, в каком экране (каждые X'ы при запуске запускаются с уникальным номером экрана), а следовательно и в какие из запущенных на моей машине, нужно будет рисовать X'ы. (Также есть возможность в этой переменной указать удалённую машину и отсылать вывод на X'ы, запущенные на другой машине в сети.) Так как X'ы запускали без опции -auth, поэтому нет необходимости разбираться с переменной XAUTHORITY или с командой xhost.
  • Графические приложения (или как их называют X-клиенты) отрисовываются в X'ах — при этом без возможности их перемещать/закрывать/изменить «-g (Ширина)x(Высота)+(СдвигОтЛевогоКрая)+(СдвигОтВехнегоКрая)». Со знаком «минус» соответственно от правого и от нижнего края.
  • Два термина, которые стоит озвучить: X-сервер (так называют X'ы) и X-клиенты (так называют любое графическое приложение, запускаемое в X'ах). Есть небольшая путаница в понимании этой терминологии, многие понимают её в точности до наоборот. В случае, когда я с «клиентской машины» (в терминологии удалённого доступа) подключаюсь к «серверу» (в терминологии удалённого доступа), чтобы отобразить на своём мониторе графическое приложение с сервера, то X-сервер запускается на той машине, где монитор (то есть на «клиентской машине», а не на «сервере»), а X-клиенты запускаются и работают на «сервере», хоть и отображаются на мониторе «клиентской машины».


Компоненты DE

Далее разберём компоненты, из которых обычно состоит рабочий стол.

Компоненты DE: кнопка «Пуск» и «Панель задач»

Начнём с так называемой кнопки «Пуск». Часто это отдельный апплет, используемый на «Панели задач». Также там обычно имеется апплет для переключения между запущенными приложениями.


Посмотрев на разные среды рабочих столов, я обобщил бы подобные приложения под общим названием «Apps Manager (Launcher/Switcher)», то есть инструмент для управления приложениями (запуска и переключением между запущенными), а также укажу утилиты, которые являются примером приложения данного типа.

    Бывает в виде кнопки «Пуск» на классической (во всю длину одного из краёв экрана) «Панели задач»:


Компоненты DE: WM (Window Manager)

WM (Оконный менеджер) — некое приложение, которое отвечает за управление окнами, добавляет возможность:

  • перемещений окон по рабочему столу (в том числе стандартное с зажатием клавиши Alt за любую часть окна, а не только за заголовок);
  • изменение размеров окон, например, перетаскивая за «рамку окна»;
  • добавляет к интерфейсу окна «заголовок (title)» и кнопки сворачивания/разворачивания/закрытия приложения;
  • понятие, какое приложение находится в «фокусе».


Перечислю наиболее известные (в круглых скобках указываю, в каком DE используется по умолчанию):


Также перечислю «старые WM с элементами DE». Т.е. помимо оконного менеджера в них имеются элементы типа кнопки «Пуск» и «Панели задач», более присущие полноценным DE. Хотя какие они «старые», если и IceWM, и WindowMaker уже выпустили свои обновлённые версии в 2020 году. Получается, что корректнее не «старые», а «старожилы»:






Помимо «классических» («стековых оконных менеджеров») стоит отдельно отметить тайловые WM, которые позволяет размещать окна «черепицей» по всему экрану, а также для некоторых приложений отдельный рабочий стол для каждого запускаемого приложения на весь экран. Это немного непривычно для людей, ранее их не использовавших, но так как я сам достаточно давно использую такой интерфейс, могу сказать, что это вполне удобно и быстро привыкаешь к такому интерфейсу, после чего уже «классические» оконные менеджеры не кажутся удобными.


Также стоит отдельно упомянуть проект Compiz и такое понятие, как «Композитный менеджер окон», использующий возможности аппаратного ускорения для отображения прозрачности, теней, различных трёхмерных эффектов. Около 10 лет назад был бум 3D-эффектов на Linux-десктопах. Сейчас многие из оконных менеджеров, встроенных в DE, частично используют композитные возможности. Недавно появился Wayfire — продукт с аналогичным Compiz функционалом под Wayland.


Подробный список различных оконных менеджеров также можно посмотреть в статье-сравнении.

Компоненты DE: остальные

Также стоит отметить следующие компоненты рабочего стола (здесь использую английские устоявшиеся термины для описания разновидности приложения — это не названия самих приложений):

  • Applets(Аплеты):
  • ПО (Widget toolkit) — часто со средой поставляется некий «минимальный набор» ПО:

DE (Desktop Environment)

Из перечисленных выше компонентов получается так называемая «Среда оформления рабочего стола». Часто все её компоненты разрабатываются с использованием одних и тех же графических библиотек и с использованием одинаковых принципов оформления. Тем самым, как минимум, выдерживается общий стиль для внешнего вида приложений.

Здесь можно выделить следующие существующие на данный момент среды рабочего стола:


Сравнение по различным параметрам в виде таблицы можно посмотреть в соответствующей статье Википедии.

Многообразие DE


Даже есть такие интересные примеры уже из истории: в 2003-2007 годах для Linux было сделано «3D-оформление рабочего стола» с названием «Project Looking Glass» от фирмы Sun. Я сам пользовался этим рабочим столом, точнее «игрался», так как пользоваться было тяжело. Это «3D-оформление» было написано на Java во времена, когда не было ещё видеокарт с поддержкой 3D. Потому все эффекты пересчитывались процессором, и компьютер должен был быть очень мощным, иначе все работало медленно. Но зато получалось красиво. Трёхмерные плашки приложений можно было поворачивать/разворачивать. Можно было поворачиваться в цилиндре рабочего стола с обоями из панорамы в 360 градусов. Было несколько своих красивых приложений: например, прослушивание музыки в виде «смены CD-дисков» и т. д. Можно на youtube посмотреть видео про этот проект, только качество этих видео скорее всего будет плохим, так как в те годы не было возможности загрузить видео высокого качества.


Легковесный рабочий стол. Существует проект достаточно давно, с 1996 года. В последние годы достаточно популярен, в противовес более тяжёлым KDE и GNOME, на многих дистрибутивах которым требуется лёгкий и «классический» интерфейс рабочего стола. В нем имеется много настроек и большое количество своих программ: терминал (xfce4-terminal), файловый менеджер (thunar), просмотрщик картинок (ristretto), текстовый редактор (mousepad).


Используется в дистрибутиве «Elementary OS». Тут можно сказать, что есть «рабочие столы», которые разрабатываются и используются в рамках одного отдельного дистрибутива и не сильно используются (если не сказать «совсем не используются») в других дистрибутивах. По крайней мере они пока не набрали популярность и не убедили большую часть аудитории в преимуществах своего подхода. Pantheon ставит перед собой задачу построить интерфейс, похожий на macOS.


Вариант с dock-панелью:


Сильный уклон в графические эффекты и виджеты (ещё со времён, когда другие рабочие среды не имели виджеты на рабочем столе, например, календарь/часы). Использует свои библиотеки. Имеется большой набор своих «красивых» приложений: терминал (Terminology), видеоплеер (Rage), просмотр картинок (Ephoto).


Это форк Enlightenment17, который используется в дистрибутиве BodhiLinux.


Изначально «классический» интерфейс рабочего стола, созданный в противовес KDE, который был написан на библиотеке Qt, на тот момент распространяющийся по лицензии, не очень удобной для коммерческих дистрибутивов.


С третьей версии GNOME стал поставляться с оболочкой GNOME Shell, имеющей «неклассический вид», что понравилось не всем пользователям (любые резкие изменения в интерфейсах пользователями сложно принимаются). Как следствие — появление форк-проектов, продолжающих развитие этого рабочего стола в «классическом» стиле: MATE и Cinnamon. Используется по умолчанию во многих коммерческих дистрибутивах. Имеет большое количество настроек и своих приложений.

Дополнение: Рекомендую к просмотру очень хорошую ретроспективу «как менялся внешний вид и функционал оболочки GNOME»: История GNOME (Видео)


Появилась на основе GNOME2 и продолжает развитие этой среды оформления. Имеет большое количество настроек и форков приложений, которые использовались еще в GNOME2 (употребляются новые имена) для того, чтобы не путать форки с их новой версией для GNOME3.


Форк GNOME Shell, предоставляющий пользователям интерфейс в «классическом» стиле (как это было в GNOME2).

Имеет большое количество настроек и те же приложения, что и для GNOME Shell.


Форк GNOME в «классическом» стиле, который развивался в рамках дистрибутива Solus, но сейчас также поставляется в рамках самостоятельного рабочего стола на различных других дистрибутивах.


KDE_Plasma (или, как часто называют, просто KDE)

Среда рабочего стола, развиваемая в рамках проекта KDE.

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

Дополнение: Рекомендую к просмотру ретроспективу «как менялся внешний вид и функционал оболочки KDE»: История KDE (Видео)


В 2008 году KDE выпустила свою новую реализацию KDE Plasma (был сильно переписан движок рабочего стола). Также, как и с GNOME/MATE, не всем фанатам KDE это понравилось. В результате появился форк проекта, продолжающий развитие предыдущей версии, под названием TDE (Trinity Desktop Environment).


Одна из новых сред рабочего стола, написанная с использованием Qt (на котором написан KDE). Имеет много настроек и достаточно красивый (хотя это субъективное понятие) и проработанный интерфейс. Разрабатывается в рамках дистрибутива Deepin Linux. Также есть пакеты под другие дистрибутивы


Fly

Пример среды рабочего стола, написанной с использованием Qt. Разрабатывается в рамках дистрибутива Astra Linux.


Легковесная среда рабочего стола. Как и несколько предыдущих примеров, написана с использованием Qt. Фактически является продолжением проекта LXDE и результатом объединения с проектом Razor-qt.

Как видите, рабочий стол в Linux может выглядеть очень по-разному и на вкус любого здесь найдётся подходящий интерфейс: от очень красивых и с 3D-эффектами до минималистических, от «классических» до необычных, от активно использующих ресурсы системы до легковесных, от больших экранов до планшетов/смартфонов.

Ну и хочется надеяться, что у меня получилось дать представление о том, из каких основных компонентов состоит графика и рабочий стол в ОС Linux.

Материал для этой статьи был обкатан в июле 2020 года на вебинаре. Его можно посмотреть здесь.

На этом всё. Надеюсь, было полезно. Если есть какие-то вопросы и комментарии, пишите. Буду рад ответить. Ну и приходите учиться в «Сетевую Академию ЛАНИТ»!

Как установить kwin-addons в Ubuntu / Debian

Для установки kwin-addons в Ubuntu / Linux Mint / Debian, введите в Терминал :

sudo apt update sudo apt install kwin-addons

kwin-addons — дополнительные переключатели рабочего стола и окна для KWin

Подробная информация о пакете:

Дополнительные переключатели рабочего стола и окна для KWin

Зависимости:

Файлы локали для kdeplasma-addons

Диспетчер окон KDE, версия X11

Это виртуальный пакет. Для определения виртуальных пакетов см. Политику Debian.

Как установить kwin-common в Ubuntu / Debian

Для установки kwin-common в Ubuntu / Linux Mint / Debian, введите в Терминал :

sudo apt update sudo apt install kwin-common

kwin-common — Диспетчер окон KDE, общие файлы

Подробная информация о пакете:

Диспетчер окон KDE, общие файлы

Зависимости:

Абстракция ресурсов и сетевого доступа

Инструмент командной строки kpackage

Файлы данных диспетчера окон KDE

Библиотека GNU C: общие библиотеки

Библиотека управления указателями функций OpenGL

Библиотека поддержки GCC

Библиотека межконтентной библиотеки X11

Управление устройством ввода и библиотека обработки событий - общая библиотека

Библиотека для создания оконных украшений

Библиотека для создания оконных украшений - частная библиотека

Библиотека для организации работы пользователя в отдельных действиях.

Абстракция для системной политики и функций аутентификации

Виджеты с расширенными функциями автозаполнения.

Структура настроек конфигурации для Qt

Структура настроек конфигурации для Qt

Дополнительные виджеты для упрощения конфигурации.

KDE Frameworks 5 дополнений к QtCore

Обеспечивает интеграцию фреймворков QML и KDE

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

Настраиваемая глобальная поддержка ярлыков - частная библиотека времени выполнения

Дополнительные API для написания модулей KConfig.

Абстракция ресурсов и сетевого доступа

Поддержка загрузки активов приложения из сети.

Фреймворк для уведомлений на рабочем столе

Структура управления недвоичными активами

Компоненты Runtime Plasma

Расширенная интроспекция плагинов и сервисов

Расширенная интроспекция плагинов и сервисов

Расширенные виджеты редактирования текста.

Оболочка библиотеки Qt для библиотек Wayland

Оболочка библиотеки Qt для библиотек Wayland

Дополнительные виджеты и классы для приложений, использующих модуль Qt Widgets

Установка диспетчера окон kwin

kwin

Все любят эффекты, которые можно использовать с помощью Compiz, но Compiz не на всех системах работает, в том числе и в рабочем окружении XFCE.

Но, мы можем спокойно установить менеджер окон Kwin в Xfce, и уже с помощью него настроить всеми любимый 3D куб рабочего стола, эффект сворачивания окон Magic Lamp, и другие.

Установить Kwin в Xfce

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

Для установки, откройте терминал(Ctrl+Alt+T), и введите команду

Эта команда установит не только менеджер окон, но и настройки, для того чтобы вы могли применить все эти эффекты.

Смените свой стандартный менеджер окон, на новый, с помощью команды

После ввода этой команды, у вас станет система не очень красивая, но это все очень легко изменить.

magic lamp

3d cub

kwin

Всем удачного дня.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: