- Cinnamon. Часть третья. Создание собственных тем
- Как делать темы для Cinnamon’а
- Oomox, настраивайте и создавайте свои собственные темы GTK2 и GTK3
- Установите Oomox на Ubuntu
- Настройте и создайте свои собственные темы GTK2, GTK3 с Oomox
- Настройка темы
- Настройка набора иконок
- Настройка терминала
- Тема Spotify
- Экспортируйте свою тему
- Как устроена графика в Linux: обзор различных сред оформления рабочего стола
- Основные компоненты, из которых состоит графика
- DM (Display Manager)
- Display Server
- Практикум «запускаем Х и приложения в нём»
- Компоненты DE
- Компоненты DE: кнопка «Пуск» и «Панель задач»
- Компоненты DE: WM (Window Manager)
- Компоненты DE: остальные
- DE (Desktop Environment)
- Многообразие DE
Cinnamon. Часть третья. Создание собственных тем
Как некогда было сказано, настройка шрифтов интерфейса Cinnamon’а действует более-менее для всех приложений (в Ubuntu — так просто для всех), но ни в малейшей степени не затрагивает панели и главного меню. Причём следствие показало, что в панели и меню шрифты зависят от темы оформления: при смене её гарнитура в этих элементах интерфейса менялась, хотя кегль оставался если не неизменным, то во всяком случае маленьким и трудно различимым.
После отправки дела на доследование оказалось, что так оно и есть: кегли шрифтов для меню и разных элементов панели (а в ряде случаев — даже и гарнитуры) жёстко прописывались в CSS-файле всех тем, которые я просмотрел. А поскольку все они были изготовлены зоркими соколами, кегли эти везде были очень маленькими, от 7 до максимум 11 пунктов.
Обсуждать вопрос о том, насколько это идеологически правильно, здесь не буду. Конечно, на мой взгляд, неправильно абсолютно — ибо противоречит идее сквозных настроек десктопа, последовательно проводимой в KDE и Xfce. Однако идеология — идеологией, а практика — практикой: поскольку это оказался чуть ли не единственный недостаток Cinnamon’а, его следовало по возможности искоренить, а не рассуждать на тему
Что делать — было ясно: редактировать тему, наиболее близкую по всем остальным показателям. А как делать — в принципе стало ясно из прочтения материала Клемента Лефевра, к переводу или оригиналу которого и отсылаю заинтересованного читателя. Здесь же лишь кратко опишу последовательность собственных действий.
Поскольку, как ранее было сказано, в итоге я остановился на теме Void, все относящиеся к ней файлы имели место быть у меня в каталоге
/.themes/Void/cinnamon . В том числе и cinnamon.css , который я отредактировал по заветам старины Clem’а самым простым способом: без лицемерия явным образом указал гарнитуру:
Затем просто добавил один-два пункта к кеглям шрифтов всех интерфейсных элементов. А заодно из темы Canelita потырил пиктограмму для кнопки главного меню — умолчально-зелёная в мою цветовую гамму вписывалась плохо.
Ещё один раздражающий момент присутствовал абсолютно во всех просмотренных мной темах: слияние текста заголовка и его фона для активного окна (первый везде почему-то белый, а второй… тоже почти белый). Вероятно, и это лечится редактированием файла cinnamon.css , но я так и не нашёл в нём строки, которые за это отвечают. И потому прибег к ещё одному внештатному методу, о котором расскажу на следующей странице.
А пока вот что получилось в итоге:
В качестве фона рабочего стола использована фотография, сделанная джуйковцем @mahury. Кстати, заставка к этому сайту — вариации на её же тему. За что, пользуясь случаем, выражаю свою признательность.
Источник
Как делать темы для Cinnamon’а
Клемент Лефевр (aka «Clem»), оригинал, 30 января 2012
Перевод: Алексей Федорчук
Делать темы для Cinnamon легко и весело — давайте посмотрим, как это выглядит.
На этом уроке мы будем создавать тему под названием MyTheme путём изменения умолчальной темы Cinnamon’а.
1. Создание новой темы
- Перейдите в свой домашний каталог
- Создайте подкаталог MyTheme
- Создайте подкаталог cinnamon внутри MyTheme
- Скопируйте все содержимое из /usr/share/cinnamon/theme в Mytheme/cinnamon/
2. Избавление от ненужных файлов
Файл thumbnail-generic.png не нужен, и потому вы можете удалить его.
3. Установка темы
Поместите свою тему в
Примечание: .themes является «скрытым» подкаталогом в вашем домашнем каталоге, так что, возможно, придётся нажать на Вид -> Показывать скрытые файлы в файловом менеджере. Если каталог .themes не существует, создайте его.
4. Выбор темы
Чтобы выбрать тему, запустите Cinnamon Settings, нажмите на Themes и выберите MyTheme.
5. Изменение темы
Откройте каталог .themes/Mytheme/cinnamon в файловом менеджере и посмотрите на его содержимое. Вы увидите следующее:
- изображения png , которые можно изменить в Gimp’е
- векторные изображения svg , которые можно изменить в Inkscape (или в текстовом редакторе , если вы предпочитаете грубую силу по поиску/замене функций)
- стилевые файлы css , которые можно редактировать с помощью текстового редактора (я лично рекомендую для этого Geany; а я присоединяюсь к рекомендации — А.Ф.)
Протестируйте свои изменения, насколько возможно. Чтобы увидеть, как ваша тема смотрится после внесения изменений в неё, можно либо выбрать другую тему и снова вернуться к своей в Cinnamon Settings, или перезапустить Cinnamon, нажав Alt+F2 и набрав R.
6. Советы и хитрости
Вот несколько вещей, которые вы должны знать:
- toggle-on-us.svg и toggle-off-us.svg используются при английской локали. Для других языков используются toggle-on-intl.svg и toggle-off-intl.svg . Если вы их изменили, убедитесь, что были изменены и версия US, и международная;
- thumbnail.png — картинка, используемая в Cinnamon Setting для предварительного просмотра вашей темы. Как только вы закончите работу с темой, сделайте скриншот примерно такого же размера, перезапишите его как thumbnail.png и убедитесь, что он выглядит красиво в Cinnamon Setting.
- overview.png и overview-hover.png удалять не следует. Пользователи сами решат, хотят ли они принять значки из вашей темы или удалить их.
- файл cinnamon.css определяет внешний вид Cinnamon’а и более или менее всё остальное. Он начинается с секций и определений тем, которые имеются также в Gnome Shell (чтобы сделать перенос имеющихся тем Shell в Cinnamon лёгким для художников), и затем содержит определение стилей, специфичных для Cinnamon’а.
CSS широко используется в Интернете, так что по нему есть много ресурсов. Не стесняйтесь спрашивать Google, как сделать с ним ту или иную вещь.
CSS поддерживает определения цветов как в Hex-формате (типичные цветовые коды HTML), так и в RGB (который позволяет задать значения прозрачности). Не стесняйтесь использовать Gimp для захвата Hex-кода конкретного цвета, видимого на экране, а также пользоваться этим и этим ресурсами для простого перевода RGB в Hex и наоборот.
7. Представление своей темы
Как только вы достигли счастья с вашей темой, добавьте её на сайт Cinnamon Spices.
Народ будет скачивать её, оценить и комментировать. Не стесняйтесь использовать их отзывы для дальнейшего улучшения своей темы. Задайте для неё номера версий и поместите список изменений в её описании, чтобы народ знал, что было улучшено, и ради чего её нужно сказать снова.
8. Получение помощи
Если вам нужна помощь, не стесняйтесь обращаться к разработчикам Cinnamon’а на IRC at #linuxmint-dev на irc.spotchat.org.
Об авторе
Клемент Лефевр (Clement Lefebvre, aka «Clem») является ведущим разработчиком и основателем проектов Cinnamon и Linux Mint. Он также участвует в проекте MATE в качестве релиз-менеджера.
Источник
Oomox, настраивайте и создавайте свои собственные темы GTK2 и GTK3
В следующей статье мы рассмотрим Oomox. Возможности тематической и визуальной настройки системы Gnu / Linux известны всем. Поскольку весь код открыт, мы сможем изменить внешний вид и поведение нашей операционной системы в большей степени, чем в других случаях. В Тема GTK это, пожалуй, самый популярный способ персонализации компьютеров.
GTK Toolkit используется в самых разных средах рабочего стола, таких как Gnome, Cinnamon, Unity, XFCE и budgie. Это означает, что одна тема, созданная для GTK, может быть применена к любой из этих сред рабочего стола с небольшими изменениями. Есть много популярных тем GTK с очень высоким качеством, таких как Arc, Numix и Adapta, которые мы сможем использовать с этой программой. Если хочешь настроить эти темы и создать свой собственный визуальный дизайн, вы можете использовать Oomox. На эта же программа Некоторое время назад с нами разговаривал коллега.
Oomox — это графическое приложение для настройки и создания вашей собственной полной темы GTK. С вашими собственными цветами, значками и стилем терминала. Он поставляется с несколькими предустановками, которые вы можете применить в теме стиля Numix, Arc или Materia, чтобы создать свою собственную тему GTK.
Установите Oomox на Ubuntu
Для систем Debian / Ubuntu / Linux Mint нам нужно будет только скачать oomox.debpackage со своей страницы по адресу GitHub и установите его, как показано ниже. Откройте терминал (Ctrl + Alt + T) и введите в нем:
Oomox также доступно как приложение Flatpak. Убедитесь, что вы установили Flatpak, как описано в это руководство. Затем установите и запустите Oomox, используя следующие команды в терминале (Ctrl + Alt + T):
к другие дистрибутивы Gnu / Linuxперейдите на страницу проекта Oomox по адресу Github. Загрузите, скомпилируйте и установите вручную из исходников.
Настройте и создайте свои собственные темы GTK2, GTK3 с Oomox
Настройка темы
Мы сможем изменить цвет практически всех элементов интерфейса, например: заголовки, кнопки, кнопки внутри заголовков, меню или выделенного текста.
Слева есть несколько предустановок, таких как тема Cars, современные темы, такие как Materia и Numix, а также ретро-темы. В верхней части главного окна есть опция «Стиль темы», которая позволяет нам установить общий визуальный стиль темы.
С помощью определенных стилей, таких как Numix, вы даже можете изменить такие параметры, как градиент заголовка, ширину контура и непрозрачность панели. Также возможно добавьте темный режим для своей темы Он будет создан автоматически из темы по умолчанию.
Настройка набора иконок
Мы можем настроить набор значков для использования в качестве значков для тем. Есть 2 варианта: Цвета гномов y Archdroid. Вы можете изменить основу и отследить цвета набора иконок.
Настройка терминала
У нас также будет возможность настроить цвета терминала. Приложение имеет различные предустановкис. Вы можете настроить точный цветовой код для каждого значения цвета, такого как красный, зеленый, черный и т. Д. Мы найдем возможность автоматической замены цветов фона и переднего плана.
Тема Spotify
Уникальной особенностью этого приложения является то, что мы сможем есть тема из приложения Spotify по нашему вкусу. Вы можете изменить цвет переднего плана, фона и Spotify приложения в соответствии с общей темой GTK.
Затем вам просто нужно нажать кнопку «Применить».
Просто нажмите «Применить», и все готово.
Экспортируйте свою тему
Когда вы закончите настройку темы по своему вкусу, вы можете переименовать это нажав кнопку «Переименовать» в левом верхнем углу:
Чтобы закончить, просто нажмите Экспорт темы. Следует отметить, что мы также сможем экспортировать набор иконок или тему из терминала.
После этого мы теперь можем открыть любое приложение визуальной настройки для вашей среды рабочего стола и выбрать экспортированную тему GTK и Shell.
Если вы поклонник тем Gnu / Linux и точно знаете, как должна выглядеть каждая кнопка, стоит взглянуть на Oomox. Мы сможем изменить практически все что касается аспекта вашей системы. Для людей, которые просто хотят немного подправить существующую тему, в ней есть множество предустановок, так что вы можете получить то, что хотите, без особых усилий.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Убунлог » Ubuntu » Oomox, настраивайте и создавайте свои собственные темы GTK2 и GTK3
Источник
Как устроена графика в Linux: обзор различных сред оформления рабочего стола
Эта статья о том, как устроена графика в Linux и из каких компонентов она состоит. В ней много скриншотов с различными реализациями сред рабочих столов.
Если вы не сильно различаете KDE и GNOME или различаете, но хотели бы узнать, какие еще есть альтернативы, то эта статья для вас. Она обзорная, и хотя в ней много названий и немного терминов, материал будет также полезен начинающим и только посматривающим в сторону Linux.
Тема может заинтересовать и продвинутых пользователей при настройке удаленного доступа и при реализации тонкого клиента. Часто встречаю вполне матерых линуксойдов с утверждениями «на сервере только командная строка, и графику подробнее изучать не планирую, так как это всё нужно для простых пользователей». Но даже знатоки Linux с большим удивлением и радостью открывают для себя опцию «-X» у команды ssh (а для этого полезно понимать работу и функции X-сервера).
Источник
Я почти 15 лет обучаю на курсах Linux в «Сетевой Академии ЛАНИТ» и уверен, что многие из тех более пяти тысяч человек, которых обучил, читают и наверняка пишут статьи на Хабр. Курсы всегда очень насыщены (средняя продолжительность курса — пять дней), нужно рассказать темы, на полноценное знакомство с которыми требуется минимум дней десять. И всегда в ходе курса в зависимости от аудитории (новички собрались или матерые администраторы), а также от «вопросов из зала» я делаю выбор, что донести подробнее, а что — более поверхностно, чтобы посвятить больше времени утилитам командной строки и их практическому применению. Таких тем, которыми приходится немного жертвовать, достаточно. Это «История Linux», «Различия в дистрибутивах Linux», «Про лицензии: GPL, BSD, . », «Про графику и среды рабочих столов» (тема этой статьи) и др. Не то, чтобы они не важны, но обычно есть множество более актуальных «здесь и сейчас» вопросов и всего каких-то пять дней… Однако для общего понимания основ ОС Linux, понимания доступного разнообразия (чтобы даже пользуясь одним конкретным дистрибутивом Linux, всё-таки иметь более широкий взгляд на весь этот огромный и необъятный мир, что зовется «Linux») изучать эти темы полезно и нужно.
По ходу статьи по каждому компоненту я указываю ссылки для тех, кому захочется глубже погрузиться в тему, например, на статьи в Википедии (при этом указываю на более полную/полезную версию при наличии англоязычной и русскоязычной статей).
Для основных примеров и скриншотов я использовал дистрибутив openSUSE. Можно было использовать любой другой дистрибутив, разрабатываемый сообществом, с наличием большого количества пакетов в репозитории. Сложно, но возможно, продемонстрировать многообразие оформления рабочего стола на коммерческом дистрибутиве, так как часто в них используются только одна или две наиболее известных сред рабочего стола. Так разработчики сужают себе задачу выпуска стабильной отлаженной ОС. На данную же систему я установил все DM/DE/WM (объяснение этих терминов ниже), которые нашёл в репозитории.
Скриншоты с «синими рамками» как раз и сделаны на openSUSE.
Скриншоты с «белыми рамками» делал на других дистрибутивах, они указаны на скриншоте.
Скриншоты с «серыми рамками» были взяты из интернета, в качестве примеров оформлений рабочего стола из прошлых лет.
Основные компоненты, из которых состоит графика
Выделю три основные компонента и перечислю их в порядке, как они запускаются при старте системы:
- DM (Display Manager);
- Display Server;
- DE (Desktop Environment).
Дополнительно в качестве важных подпунктов у Desktop Environment:
- Apps Manager/Launcher/Switcher (кнопка «Пуск»);
- WM (Window Manager);
- различное ПО, поставляемое вместе со средой рабочего стола.
Подробнее по каждому пункту.
DM (Display Manager)
Первое приложение, которое запускается при старте «графики», — это DM (Display Manager), дисплейный менеджер. Его основные задачи:
- спросить, каких пользователей пустить в систему, запросить аутентификационные данные (пароль, отпечаток пальца);
- выбрать, какую среду оформления рабочего стола запустить.
На текущий момент в различных дистрибутивах широко используются:
- SDDM (сменил KDM),
- GDM,
- LightDM,
- XDM.
- Также можно упомянуть Fly-DM (используемый в AstraLinux).
Список существующих DM ведётся в актуальном состоянии в Wiki-статье.
Стоит отметить, что на следующих скриншотах используется один и тот же дисплейный менеджер LightDM, но в разных дистрибутивах (названия дистрибутивов указаны в круглых скобках). Оцените, насколько по-разному может выглядеть этот DM благодаря работе дизайнеров различных дистрибутивов.
Главное в этом многообразии, чтобы было понятно, что есть такое приложение, которое отвечает за запуск графики и допуск пользователя к этой графике, и есть разные реализации этого приложения, различающиеся внешним видом и немного функционалом (выбор сред оформления, выбор пользователей, версия для плохо видящих пользователей, наличие возможности удаленного доступа по протоколу XDMCP).
Display Server
Display Server — это некий фундамент графики, основная задача которого — работать с видеокартой, монитором и с различными устройствами ввода (клавиатура, мышь, тачпады). То есть приложению (например, браузер или текстовый редактор), которое отрисовывается в «графике», не нужно знать, как напрямую работать с устройствами, не нужно знать про драйверы. Это всё на себя берет X Window.
Когда говорится про Display Server, то много лет в Linux, да и в Unix имелось в виду приложение X Window System или в простонародье X (Иксы).
Сейчас во многих дистрибутивах на смену X внедряют Wayland.
Также можно почитать:
- общее описание архитектуры X’ов,
- запуск X’ов в X’ах,
- Х’ы под ОС Windows (нужны для удаленного запуска графических приложений, например используя PuTTY).
Для начала запустим X’ы и несколько графических приложений в них.
Практикум «запускаем Х и приложения в нём»
Выполнять всё буду от свежесозданного пользователя webinaruser (проще, но не безопаснее было бы всё выполнить от root’а).
- Так как Х’ам нужен доступ к устройствам, даю доступ: Список устройств определил посмотрев ошибки при запуске Х’ов в логе (/home/webinaruser/.local/share/xorg/Xorg.77.log)
% sudo setfacl -m u:webinaruser:rw /dev/tty8 /dev/dri/card0 /dev/fb0 /dev/input/*
- После этого запускаю X’ы:
% X -retro :77 vt8 &
Опции: * -retro — запускают с «серым» классическим фоном, а не с чёрным как по умолчанию; * :77 — задаю (можно любой в разумном диапазоне, только :0 уже скорее всего занят под уже запущенную графику) номер экрана, фактический некий уникальный идентификатор, по которому можно будет различать несколько запущенных X’ов; * vt8 — указывает терминал, здесь /dev/tty8, на котором будут отображаться X’ы).
- Запускаем графическое приложение:
Для этого предварительно задаём переменную, по которой приложение будет понимать, в какие из запущенных у меня X’ов отсылать то, что нужно нарисовать:
Посмотреть список запущенных X’ов можно так:
После того, как задали переменную, можно запускать приложения в наши X’ы — например, запускаю часы:
% xclock -update 1 &
% xeyes -g 200×150-300+50 &
Основные идеи и выводы из этого фрагмента:
- X’ам требуется доступ к устройствам: терминалу, видеокарте, устройствам ввода,
- Сами X’ы никаких элементов интерфейса не отображают — это серое (если с опцией «—retro») или чёрное полотно определённых размеров (например, 1920×1080 или 1024×768), чтобы запускать в нем графические приложения.
- По движению «крестика» видно, что 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)», то есть инструмент для управления приложениями (запуска и переключением между запущенными), а также укажу утилиты, которые являются примером приложения данного типа.
- Бывает в виде кнопки «Пуск» на классической (во всю длину одного из краёв экрана) «Панели задач»:
○ xfce4-panel,
○ mate-panel/gnome-panel,
○ vala-panel,
○ tint2.
Также можно отдельно выделить «MacOS-образные панели задач» (не на всю длину края экрана), хотя многие панели задач могут отображаться в обоих вариантах. Тут скорее главное отличие чисто визуальное — наличие «эффекта увеличения пиктограмм при наведении».
○ docky,
○ latte-dock,
○ cairo-dock,
○ plank.
И/Или службы, запускающей приложения при нажатии «горячих клавиш» (во многих средах рабочего стола аналогичный компонент обязательно присутствует и позволяет настроить свои собственные горячие клавиши):
○ sxhkd.
Также имеются различные меню-образные «лаунчеры» (от англ. Launch (запускать)):
○ dmenu-run,
○ rofi -show drun,
○ albert,
○ grun.
Компоненты 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 года на вебинаре. Его можно посмотреть здесь.
На этом всё. Надеюсь, было полезно. Если есть какие-то вопросы и комментарии, пишите. Буду рад ответить. Ну и приходите учиться в «Сетевую Академию ЛАНИТ»!
Источник