- Облако тэгов
- мои изыскания на случай забывания
- Возникшие проблемы:
- Подключение репозиториев Debian
- Установка графической подсистемы (ставим иксы в Linux)
- Установка графической оболочки GNOME
- linux-notes.org
- Установка GUI на Debian/Ubuntu/Mint
- Gnome
- Cinnamon
- Enlightenment
- FluxBox
- Openbox
- Как устроена графика в Linux: обзор различных сред оформления рабочего стола
- Основные компоненты, из которых состоит графика
- DM (Display Manager)
- Display Server
- Практикум «запускаем Х и приложения в нём»
- Компоненты DE
- Компоненты DE: кнопка «Пуск» и «Панель задач»
- Компоненты DE: WM (Window Manager)
- Компоненты DE: остальные
- DE (Desktop Environment)
- Многообразие DE
Облако тэгов
мои изыскания на случай забывания
Итак, базовая система — установлена, оживим ее графическим интерфейсом!
Подключим основной официальный репозиторий Debian. Для этого добавим в файл /etc/apt/sources.list следующие строки:
Затем обновляем список доступных пакетов (aptitude предварительно надо установить или использовать вместо него apt-get):
Информацию об имеющихся в репозиториях пакетах можно узнать с помощью команды:
Далее устанавливаем графическую подсистему (ставим иксы в Linux)
И наконец, производим установку графической оболочки GNOME:
Возникшие проблемы:
- зависание графической оболочки
- решение для Nvidia
Для того чтобы установить графическую оболочку в базовой системе Debian, придется проделать следующие действия: во-первых, подключить репозитории Debian в систему и добавить их для установки программ, во-вторых, установить графическую подсистему (иксы) и только после этого станет возможным поставить выбранную графическую оболочку.
Подключение репозиториев Debian
Репозиторий — специальной структуры файловое хранилище, в котором данные хранятся в удобном виде. Репозиторий может быть доступен по сети, в качестве репозитория может использоваться диск, флэшка, простая папка с необходимой структурой и другие варианты.
Репозитории Debian хранят в себе не только исходники программного обеспечения, но и готовые скомпилированные пакеты, которые можно с помощью менеджера пакетов dpkg, apt-get, aptitude установить.
Информация о подключенных репозиториях хранится в файле /etc/apt/sources.list. Для того, чтобы подключить репозиторий надо добавить информацию о нем в данный файл. После изменения списка необходимо обновить информацию о доступных пакетах в репозиториях с помощью менеджера пакетов apt-get или aptitude. Существует множество репозиториев Debian ( список официальных репозиториев debian, полезные репозитории для Debian), но я добавлю лишь основной репозиторий,
Так выглядит файл /etc/apt/sources.list сразу после установки базовой системы:
Добавим в него основной официальный репозиторий.
- Откроем файл /etc/apt/sources.list для редактирования с правами ROOT — пользователя:
Сохраняем изменения в файле и закрываем его.
- Обновляем список доступных пакетов:
# aptitude update ($ sudo aptitude update)
# apt-get update ($ sudo apt-get update)
- Информацию об имеющихся в репозиториях пакетах можно узнать с помощью команды:
Установка графической подсистемы (ставим иксы в Linux)
# aptitude install xorg ($ aptitude install xorg)
Это приведёт к тому, что установится базовая графическая система. В процессе установки система запросит разрешение поставить необходимые пакеты, на что соглашаемся. Это может занять много времени, ждём пока пакетная система всё настроит и вернёт нам управление.
Чтобы запустить иксы, в консоли даём команду:
Экран может помигать, почернеть и вылезет серая сеточка с крестиком. Подёргайте мышку, крестик должен последовать за мышью. Если это произошло — графическая система завелась. Нажмите левой кнопкой мыши и держите — увидите унылого болотно-зелёного цвета менюшку. Знакомьтесь: это twm, Tab Window Manager, графический интерфейс иксов по умолчанию. Теперь можно устанавливать желаемую графическую оболочку. Но перед этим гасим иксы, нажимая одновременно Ctrl+Alt+Backspace.
Установка графической оболочки GNOME
Вот и настал долгожданный момент, когда наконец-то можно непостредственно приступить к установке выбранной графической оболочки, справедливости ради отметим, что выбрать — есть из чего, но об этом — попозже. Установим графическую среду GNOME, остальные среды, надо думать, устанавливаются аналогично.
Источник
linux-notes.org
Установка GUI на Debian/Ubuntu/Mint
Хочу рассказать как можно установить графический рабочий стол на ОС, такие как Debian/Ubuntu/Mint. Я собрал большое количество графических оболочек до кучи в своей статье «Установка GUI на Debian/Ubuntu/Mint». Хочу отметить, мне само больше нравится 3 основных графических стола: KDE, Gnome, XFCE, но приведу еще несколько.
Недавно я писал статью по установке GUI на CentOS/RedHat/Fedora, если есть желание прочитать:
Gnome
GNU Object Model Environment (Gnome) является графической оболочкой и графическим интерфейсом для пользователей, который работает поверх операционной системы компьютера для операционных систем Unix, основанных полностью на свободном программном обеспечении.
Установка
Существует 4 режима установки GNOME для Debian или Ubuntu или Mint:
1. Чтобы установить полную среду GNOME которая включает элементы, которые входят не с официального релиза:
2. Установка официального набора элементов для GNOME:
3. Установка минимального набора элементов, которые необходимы для работы в среде ГНОМ:
4. Установка набора элементов GNOME вместе с вспомогательными технологиями( например, лупа, чтение с экрана):
Чтобы установить самую минимальную версию GNOME, нужно выполнить:
Запустить GNOME можно следующим образом:
Чтобы начать использовать startx добавьте в файл
/.xinitrc следующую строчку:
Настройка
Основная настройка в ГНОМ выполняется с помощью графических программ (gnome-control-center), но если хотите настроить «тонко», то это можно сделать с использованием редактора конфигураций, такого как gconf-editor.
GDM (GNOME Display Manager)
Если есть необходимость использовать графический вход в систему, то необходимо установить GDM:
После этого, GDM будет использоваться для авторизации по умолчанию.
Чтобы настроить GDM нужно перейти «Меню->Система->Администрирование->Окно входа в систему», или используйте команду в консоле:
Вам нужно включить отображение значков в меню и вы не знаете как?
Делается это следующим образом, нужно использовать gconf-editor (переходим в Приложения -> Системные -> Редактор конфигурации) и необходимо поставить галочку в /desktop/gnome/interface/menus_have_icons.
Вам нужно убрать индикатор раскладки из области уведомлений и Вы не знаете как?
Снова поможет утилита gconf-editor (переходим в Приложения -> Системные -> Редактор конфигурации) и нужно убрать галочку из /apps/gnome_settings_daemon/plugins/keyboard/active, после этого перезагружаем GNOME и индикатор исчезнет.
Графическая среда — GNOME готова к использованию.
KDE — это не только среда рабочего стола, но это и сообщество людей, выпускающее многие программные продукты. Это ПО включает в себя набор библиотек и замечательных приложений.
Установка
Установка состоит из 4 пунктов, нужно выбрать любой и установить его:
1. Если есть необходимость установить полный комплект KDE, то выполните:
2. Можно установить рабочее окружение, такое как KDE Plasma с набором стандартных приложений KDE которые наиболее часто используются:
3. Так же есть возможность установить минимальный комплект с минимумом ПО:
4. Установка для нетбуков:
Чтобы установить руссификацию на «кеды», выполните:
Внешний вид GTK-программ в KDE
Чтобы настроить внешний вид GTK-утилит в KDE по этому необходимо выполнить установку этих пакетов и после чего настроить их внешний вид (перейдите в Параметры системы > Внешний вид приложений).
Установите модуль настройки для оформления GTK+ 2/3.x приложений для KDE:
Установите набор стилей виджетов Oxygen для утилит которые основаны на Gtk2:
Чтобы установить набор стилей виджетов Oxygen для утилит которые основанны на Gtk3 (Debian Wheezy):
Графическая среда — KDE готова к использованию.
TDE (Trinity Desktop Environment) представляет собой рабочую среду Linux. TDE является продолжением графической оболочки KDE 3, выглядит в точности как и KDE 3.5, но эти пакеты не являются взаимозаменяемыми с KDE. Первый раз, когда вы начинаете использование TDE, то Kpersonalizer поможет вам настроить базовую настройку рабочего стола Trinity.
Debian
Чтобы установить TDE на Debian, вам нужно будет добавить репозиторий в файл sources.list:
Теперь уже можно и установить TDE на Debian:
Compiz — один из оригинальных оконных менеджеров компоновки для Window System X, который способен использовать OpenGL-ускорения. Интеграция позволяет ему работать комбинированием разных эффектов для управление окнами, например эффект минимизации и куб рабочего пространства. Compiz соответствует стандарту ICCCM он произведет замену основного Metacity в GNOME или KWin в KDE.
Вы можете настроить Compiz через CCSM утилиту (System -> Preferences -> CompizConfig).
Графическая среда — TDE готова к использованию.
Cinnamon
Cinnamon является средой рабочего стола на основе GTK + 3. Проект изначально был отделен от GNOME Shell и был первоначально разработан для Linux Linux Mint. Но спустя некоторое время, стал поддерживать и другие unix\Linux ОС.
Установлена Ubuntu?
Добавляем репозиторий и после чего, с легкостью устанавливаем:
Установлен Debian/Linux Mint?
Открываем файл и добавим в него нужный для работы репозиторий:
Обновляем репозиторий и устанавливаем ключ аутентификации:
Снова обновим репозиторий и установим уже Cinnamon:
Графическая среда — Cinnamon готова к использованию.
MATE Desktop Environment (MATE — испанское произношение: помощник), является графической оболочкой для пользователей, используя традиционную метафору вычислений рабочего стола. MATE основан на старой версии Gnome 2, которая является стабильной. Из-за этого существует уже так много, инструментов что делает Gnome 2 полностью совместим с большинством программ, а также настраиваемый (например, вы можете запустить Compiz на нем). Он назван в честь южноамериканского растения мате (чай из травы).
Debian.
Добавляем в файл sources.list репозиторий Мате:
Устанавливаем mate ключ и производим обновление (чтобы обновился он):
Пожалуйста, обратите внимание, что в нормальных условиях когда устанавливаете неаутентифицированные пакеты от неизвестных хранилищ может представлять угрозу для безопасности:
Теперь, чтобы установить MATE выбрать 1 из 3 apt-get пунктов:
1. Это устанавливает базовые пакеты
2. Это установить мате-ядро и больше дополнительных услуг
3. Это установить mate-core + mate-desktop-environment и даже больше дополнительных услуг.
Вот и все, выйдите из текущего сеанса, выберите Mate в качестве стандартной сессии, а затем снова войдите в систему. Графическая среда -Mate готова к использованию.
Enlightenment
Enlightenment — является еще одной средой рабочего стола для Linux, он имеет библиотеки, чтобы помочь вам создавать пользовательские интерфейсы.
Debian.
Чтобы установить Enlightenment для debian мы должны добавить репозиторий в sources.list:
Я буду использовать LightDM вместо менеджера Gnome GDM3. Если Вы установили gdm3, то его необходимо удалить и установить lightdm.
Делаем оставновку gdm3:
Удаляем gdm3 из системы:
Выполняем установку lightdm:
После установки запускаем lightdm:
Теперь мы можем установить Enlightenment:
Чтобы запустить Enlightenment, вы можете использовать эту команду, или Enlightenment должно запустится автоматически после того как вы сделать перезагрузку вашей ОС:
Графическая среда — Enlightenment готова к использованию.
Xfce это легкая среда рабочего стола для UNIX-подобных операционных систем. Она стремится быть быстрой и не нагружает сильно ваши системные ресурсы, в то же время визуально привлекает удобным для пользователя интирфейсом.
Debian.
Чтобы установить Xfce на debian, нужно выполнить:
Чтобы установить XFCE с дополнительными пакетами, используейте:
После установки Xfce нужно выполнить перезагрузку ОС, войдите под своим именем пользователя и паролем, и введите:
или можно выполнить:
Для запуска Xfce в автоматическом режиме при каждм входе в tty1 нужно отредактировать .bashrc в вашем каталоге пользователя
И добавить в самый конец файла следующие строки кода:
Графическая среда -Xfce готова к использованию.
LXDE или «Lightweight X11 Desktop Environment» является чрезвычайно быстрым и энергосберегающим окружением рабочего стола. LXDE использует меньше ресурсов центрального процессора и меньше оперативной памяти, чем в других средах. Она специально разработана для облачных компьютеров с низким аппаратных спецификаций, таких как нетбуки, мобильные устройства (например, MID) или старых компьютерах. LXDE может быть установлена на многих дистрибутивах Linux, включая Debian, Fedora, OpenSUSE и Ubuntu.
Установка с минимальным количеством элементов:
Установка с полным набором элементов:
Завершение установки LXDE окружение рабочего стола:
Графическая среда — LXDE готова к использованию.
FluxBox
Fluxbox является крайне минималистичным и быстрым оконным менеджером для систем Linux и Unix. На основе кода Blackbox 0.61.1, FluxBox использует очень мало ресурсов и памяти по сравнению с KDE или Gnome, который отлично подходит для старых или маломощных машин.
Debian.
Вам нужно будет установить X Windows System до самой установки Fluxbox:
После того как вы установили X, теперь вы можете установить FluxBox на Debian:
Пакет Fluxbox содержит:
- Fluxbox: оконный менеджер
- fbsetbg: настройки скрипта для фона rootwindow
- fbrun: небольшая утилита RunApplication
- startfluxbox: Fluxbox стартер, который читает информацию о сессии из
Графическая среда -Fluxbox готова к использованию.
Openbox
Openbox очень легкий и минимальный оконный менеджером (не среда рабочего стола) для Debian или любого Linux и Unix системы котороый похож на Xfce, LXDE и Fluxbox. Так Openbox является легкий вес, он использует очень мало ресурсов, но очень функциональный.
Чтобы установить его, выполните:
После установки, выполните команду для запуска openbox:
Графическая среда — openbox готова к использованию.
Установка GUI на Debian/Ubuntu/Mint завершена. Можете использовать любую из графических оболочек. Мои самые любимые — Gnome, KDE, Xfce, но а вы выбирайте сами.
Источник
Как устроена графика в 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 года на вебинаре. Его можно посмотреть здесь.
На этом всё. Надеюсь, было полезно. Если есть какие-то вопросы и комментарии, пишите. Буду рад ответить. Ну и приходите учиться в «Сетевую Академию ЛАНИТ»!
Источник