Что такое оболочка линукс
Графические оболочки Linux. Часть 1.
Графические оболочки Linux бывают разные, как их хозяева. Одни очень красивы, но ресурсоемкие. Другие непритязательны, но шустры и экономны.
LXDE использует Openbox как оконный менеджер по умолчанию и стремится предложить быстрый и лёгкий рабочий стол, основанный на взаимно независимых компонентах.
Unity
Unity — свободная оболочка для среды рабочего стола GNOME, разрабатываемая компанией Canonical для операционной системы Ubuntu. Она позволяет более эффективно использовать маленькие экраны нетбуков, благодаря, например, вертикальной панели для переключения между запущенными программами. Изначально, в качестве оконного менеджера использовался Metacity, который затем был заменён на Compiz, в настоящее время используется Mutter. Начиная с Ubuntu 11.04, Canonical заменил стандартную оболочку GNOME на Unity. Все стандартные приложения по-прежнему были взяты из GNOME.
Налюбовавшись красотами, можно ускорить Unity.
Gnome
Достоинства Gnome (GNU Network Object Model Environment):
Можно изменить параметры GTK и добиться ускорения работы Gnome, оптимизировав его.
Equinox Desktop Environment
Equinox Desktop Environment (EDE) — свободная среда рабочего стола для UNIX-подобных операционных систем, отличается своей компактностью, быстротой, лёгкостью и простотой.
IRIX Interactive Desktop
IRIX Interactive Desktop (изначально Indigo Magic) — среда рабочего стола по умолчанию на рабочих станциях Silicon Graphics с операционной системой IRIX. IRIX Interactive Desktop использует Motif поверх X Window System. По умолчанию оконным менеджером является 4Dwm.
OpenWindows
OpenWindows — оконная среда для рабочих станций Sun Microsystems, которая поддерживала протоколы SunView, NeWS и X Window System. OpenWindows включалась в поздние версии операционной системы SunOS и Solaris до тех пор, пока не была заменена на CDE и GNOME 2.0 в Solaris 9. Оконная среда OpenWindows отвечала спецификации OPEN LOOK.
Ambient desktop
Ambient — свободная среда рабочего стола предназначенная для операционной системы MorphOS. Создана при помощи MUI. Отличительной особенностью является простота, быстродействие и удобство работы.
ROX Desktop
ROX Desktop — свободная среда рабочего стола для UNIX-совместимых операционных систем, которая базируется на файловом менеджере ROX-Filer. Название ROX происходит от RISC OS на X Window System.
KDE очень хорошо конфигурируется и некоторые параметры заметно ускоряют KDE.
Fluxbox
Enlightenment
Enlightenment — оконный менеджер с открытым исходным кодом для X Window System. Название переводится как просветление и часто сокращается до одной буквы E.
xd640
XD640 простой графический рабочий стол для X-Window. Создан быть легким и быстрым для медленных компьютеров (i486 66MHz 16MB) и маленьких экранов (640×480).
Metacity
Amiwm
XFce является графической оболочкой, построенной на основе инструментального пакета GTK+, используемого в Gnome, но гораздо легче и предназначен для тех, кому нужен простой, эффективно работающий стол, который легко использовать и настраивать. Вот некоторые из достоинств XFce:
WindowMaker
Athene
По образу этого рабочего стола была разработана система управления MS Windows.
Отличия:
Sawfish
AfterStep
AfterStep поддерживает виртуальные экраны. Настройка внешнего вида производится при помощи набора текстовых файлов конфигурации.
fvwm, mwm, twm
F Virtual Window Manager — менеджер окон для X Window System с поддержкой виртуальных экранов. FVWM знаменит высоким качеством исходного кода, который разрабатывался и улучшался в течение многих лет, поэтому многие проекты основаны на нём, среди которых AfterStep, Xfce, Enlightenment и множество других.
Metisse
IceWM
Самые популярные оболочки рабочего стола Linux
Оболочка рабочего стола или среда рабочего стола, а также графическое окружение рабочего стола (англ. desktop environment) — разновидность графических интерфейсов пользователя, основанная на метафоре рабочего стола. Назначение рабочего окружения — создание интуитивного способа взаимодействия пользователя с компьютером.
— Преимущества : очень стильно и современно выглядит, чрезвычайно гибко настраивается, имеет огромное количество функций.
— Недостатки : потребляет больше системных ресурсов, чем другие оболочки. Новичкам будет тяжело разобраться во всём изобилии настроек.
Разработчики GNOME ориентируются на создание полностью свободной среды, доступной всем пользователям вне зависимости от их уровня технических навыков, физических ограничений и языка, на котором они говорят. В рамках проекта GNOME разрабатываются как приложения для конечных пользователей, так и набор инструментов для создания новых приложений, тесно интегрируемых в рабочую среду.
— Преимущества : красиво и современно выглядит, удобен и быстр, поддерживает много расширений, имеет большое количество настроек.
— Недостатки : довольно тяжеловесный. Не всем пользователям придётся по душе интерфейс, ориентированный на сенсорные устройства.
— Кому подойдёт : обладателям старых и маломощных ПК либо тем, кто не хочет, чтобы красивый интерфейс отнимал много ресурсов.
— Преимущества : очень быстрая и простая в использовании рабочая среда, которая потребляет мало ресурсов, но при этом неплохо настраивается.
— Недостатки: интерфейс MATE может показаться чересчур консервативным и старомодным.
Главная особенность оболочки Cinnamon — её простота. В то время, как другие графические окружения пытаются стать чем-то особенным и непохожим на остальные интерфейсы, эта разработка старается быть как можно более дружелюбной к новичкам. Освоить её будет просто даже тем, кто ранее пользовался только Windows, поскольку внешне есть значительное сходство с операционной системой от Microsoft. Панель с открытыми приложениями внизу, слева главное меню и значки быстрого запуска, справа трей и часы.
При всей своей простоте Cinnamon — это всё же довольно продвинутая и настраиваемая оболочка. Панели и элементы можно перемещать в произвольном порядке. И если вам надоест напоминающий Windows вид, вы легко сможете перекроить интерфейс на свой лад за пару минут.
— Преимущества : очень симпатичный внешний вид, в интерфейсе будет просто разобраться. Есть изрядное количество настроек и апплетов.
— Недостатки : не замечено.
— Кому подойдёт : пользователям macOS и новичкам, которые хотят простой и интуитивно понятный интерфейс.
— Преимущества : очень быстрая, неплохо выглядит. Анимации окон и панелей смотрятся стильно и приятно.
Xfce — нетребовательное к ресурсам окружение рабочего стола. Его разработчики делают акцент на обеспечении быстродействия и низкого потребления системных ресурсов, не забывая о внешней привлекательности и удобстве для пользователей.
— Кому подойдёт : универсальное окружение, которое могут использовать и обладатели старых компьютеров, и любители простых аскетичных интерфейсов.
— Недостатки : Не замечено.
— Кому подойдёт : освоить сможет любой пользователь.
— Преимущества : минималистичный и удобный интерфейс, который смотрится стильно и необычно. В нём легко разберутся даже новички.
Среда LXQt не содержит своего собственного оконного менеджера. То есть программна, которая отвечает за отрисовку и поведение окон. Вместо этого LXQt может использовать произвольный оконный менеджер.
Среда гарантированно работает со следующими оконными менеджерами:
— Преимущества : очень быстра.
— Недостатки : интерфейс, прямо скажем, немного архаичный, хотя это можно поправить при помощи тем.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Комментарии
Счётчик посещений сайта:
Оболочка пользователя ( shell ) в Linux.
— Интерпретация командной строки.
— Доступ к командам и результатам их выполнения.
— Обработка файлов, операций стандартного ввода и вывода.
— Реализация специального языка программирования оболочки.
Для операционных систем семейства Unix / Linux возможно использование нескольких различных оболочек, отличающихся свойствами и методами взаимодействия с системой. Наиболее распространенными оболочками являются
bash оболочка Bourne Again (GNU Bourne-Again SHell). Пожалуй, наиболее распространенная на данный момент, оболочка в среде ОС семейства Linux.
В системе может быть установлено несколько различных оболочек, и для каждого пользователя возможно использование своей, запускаемой по умолчанию, оболочки. Все это, естественно, выполняется автоматически в процессе загрузки и регистрации пользователя.
user1:x:508:511::/home/user1:/bin/sh
interbase:x:510:511::/home/interbase:/bin/csh
apb:x:511:513:apb:/home/apb:/bin/bash
— посредством команды exit выполненной пользователем
Интерпретация командной строки.
При использовании нескольких опций, их можно объединять. Например, варианты следующих команд идентичны :
Каждый из этих файлов имеет свои особенности применения, поэтому следует внимательно выбирать тот, который подходит для ваших целей. Например, если нужно добавить пользовательский каталог
/bin в переменную PATH для всех пользователей, поместите следующий код в один из системных файлов инициализации окружения (/etc/profile или /etc/bash.bashrc):
# Если идентификатор ID пользователя более или равно 1000, и существует каталог
#не был ранее добавлен в переменную PATH,
Как правило, в операционных системах Linux, идентификатор пользователя менее 1000 или менее 500 используется для служебных учетных записей. В данном примере, переменная окружения будет установлена для всех локальных пользователей системы с идентификатором 1000 или более.
Если же нужно изменить среду окружения для конкретного пользователя, используется модификация содержимого среды окружения пользователя:
Например, чтобы добавить каталог пользователя
/.profile поместить строку:
Чтобы установить переменные окружения для графических приложений, используется содержимое файлов настройки графической среды пользователей
Гораздо чаще значения переменных окружения задаются для текущего сеанса пользователя. Например, для добавления пользовательского каталога
/bin в пути поиска исполняемых файлов:
Новое значение переменной PATH будет действовать только до завершения текущего сеанса пользователя.
При запуске bash без параметров командной строки, оболочка запускается в интерактивном режиме, отображая на экране приглашение к вводу команд. Интерактивная оболочка обычно читает данные из терминала пользователя и пишет данные в этот же терминал, стандартным устройством ввода является клавиатура, а стандартным устройством вывода – дисплей. Пользователь вводит команды на клавиатуре, а результат их выполнения отображается на дисплее.
Как устроена графика в Linux: обзор различных сред оформления рабочего стола
Эта статья о том, как устроена графика в Linux и из каких компонентов она состоит. В ней много скриншотов с различными реализациями сред рабочих столов.
Если вы не сильно различаете KDE и GNOME или различаете, но хотели бы узнать, какие еще есть альтернативы, то эта статья для вас. Она обзорная, и хотя в ней много названий и немного терминов, материал будет также полезен начинающим и только посматривающим в сторону Linux.
Тема может заинтересовать и продвинутых пользователей при настройке удаленного доступа и при реализации тонкого клиента. Часто встречаю вполне матерых линуксойдов с утверждениями «на сервере только командная строка, и графику подробнее изучать не планирую, так как это всё нужно для простых пользователей». Но даже знатоки Linux с большим удивлением и радостью открывают для себя опцию «-X» у команды ssh (а для этого полезно понимать работу и функции X-сервера).
По ходу статьи по каждому компоненту я указываю ссылки для тех, кому захочется глубже погрузиться в тему, например, на статьи в Википедии (при этом указываю на более полную/полезную версию при наличии англоязычной и русскоязычной статей).
Для основных примеров и скриншотов я использовал дистрибутив openSUSE. Можно было использовать любой другой дистрибутив, разрабатываемый сообществом, с наличием большого количества пакетов в репозитории. Сложно, но возможно, продемонстрировать многообразие оформления рабочего стола на коммерческом дистрибутиве, так как часто в них используются только одна или две наиболее известных сред рабочего стола. Так разработчики сужают себе задачу выпуска стабильной отлаженной ОС. На данную же систему я установил все DM/DE/WM (объяснение этих терминов ниже), которые нашёл в репозитории.
Скриншоты с «синими рамками» как раз и сделаны на openSUSE.
Скриншоты с «белыми рамками» делал на других дистрибутивах, они указаны на скриншоте.
Скриншоты с «серыми рамками» были взяты из интернета, в качестве примеров оформлений рабочего стола из прошлых лет.
Основные компоненты, из которых состоит графика
Выделю три основные компонента и перечислю их в порядке, как они запускаются при старте системы:
DM (Display Manager)
Первое приложение, которое запускается при старте «графики», — это DM (Display Manager), дисплейный менеджер. Его основные задачи:
Стоит отметить, что на следующих скриншотах используется один и тот же дисплейный менеджер LightDM, но в разных дистрибутивах (названия дистрибутивов указаны в круглых скобках). Оцените, насколько по-разному может выглядеть этот DM благодаря работе дизайнеров различных дистрибутивов.
Главное в этом многообразии, чтобы было понятно, что есть такое приложение, которое отвечает за запуск графики и допуск пользователя к этой графике, и есть разные реализации этого приложения, различающиеся внешним видом и немного функционалом (выбор сред оформления, выбор пользователей, версия для плохо видящих пользователей, наличие возможности удаленного доступа по протоколу XDMCP).
Display Server
Display Server — это некий фундамент графики, основная задача которого — работать с видеокартой, монитором и с различными устройствами ввода (клавиатура, мышь, тачпады). То есть приложению (например, браузер или текстовый редактор), которое отрисовывается в «графике», не нужно знать, как напрямую работать с устройствами, не нужно знать про драйверы. Это всё на себя берет X Window.
Когда говорится про Display Server, то много лет в Linux, да и в Unix имелось в виду приложение X Window System или в простонародье X (Иксы).
Сейчас во многих дистрибутивах на смену X внедряют Wayland.
Также можно почитать:
Практикум «запускаем Х и приложения в нём»
Выполнять всё буду от свежесозданного пользователя webinaruser (проще, но не безопаснее было бы всё выполнить от root’а).
Посмотреть список запущенных X’ов можно так:
После того, как задали переменную, можно запускать приложения в наши X’ы — например, запускаю часы:
Основные идеи и выводы из этого фрагмента:
Компоненты DE
Далее разберём компоненты, из которых обычно состоит рабочий стол.
Компоненты DE: кнопка «Пуск» и «Панель задач»
Начнём с так называемой кнопки «Пуск». Часто это отдельный апплет, используемый на «Панели задач». Также там обычно имеется апплет для переключения между запущенными приложениями.
Посмотрев на разные среды рабочих столов, я обобщил бы подобные приложения под общим названием «Apps Manager (Launcher/Switcher)», то есть инструмент для управления приложениями (запуска и переключением между запущенными), а также укажу утилиты, которые являются примером приложения данного типа.
Компоненты DE: WM (Window Manager)
WM (Оконный менеджер) — некое приложение, которое отвечает за управление окнами, добавляет возможность:
Перечислю наиболее известные (в круглых скобках указываю, в каком DE используется по умолчанию):
Также перечислю «старые WM с элементами DE». Т.е. помимо оконного менеджера в них имеются элементы типа кнопки «Пуск» и «Панели задач», более присущие полноценным DE. Хотя какие они «старые», если и IceWM, и WindowMaker уже выпустили свои обновлённые версии в 2020 году. Получается, что корректнее не «старые», а «старожилы»:
Помимо «классических» («стековых оконных менеджеров») стоит отдельно отметить тайловые WM, которые позволяет размещать окна «черепицей» по всему экрану, а также для некоторых приложений отдельный рабочий стол для каждого запускаемого приложения на весь экран. Это немного непривычно для людей, ранее их не использовавших, но так как я сам достаточно давно использую такой интерфейс, могу сказать, что это вполне удобно и быстро привыкаешь к такому интерфейсу, после чего уже «классические» оконные менеджеры не кажутся удобными.
Также стоит отдельно упомянуть проект Compiz и такое понятие, как «Композитный менеджер окон», использующий возможности аппаратного ускорения для отображения прозрачности, теней, различных трёхмерных эффектов. Около 10 лет назад был бум 3D-эффектов на Linux-десктопах. Сейчас многие из оконных менеджеров, встроенных в DE, частично используют композитные возможности. Недавно появился Wayfire — продукт с аналогичным Compiz функционалом под Wayland.
Подробный список различных оконных менеджеров также можно посмотреть в статье-сравнении.
Компоненты DE: остальные
Также стоит отметить следующие компоненты рабочего стола (здесь использую английские устоявшиеся термины для описания разновидности приложения — это не названия самих приложений):
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. Также есть пакеты под другие дистрибутивы
Пример среды рабочего стола, написанной с использованием Qt. Разрабатывается в рамках дистрибутива Astra Linux.
Легковесная среда рабочего стола. Как и несколько предыдущих примеров, написана с использованием Qt. Фактически является продолжением проекта LXDE и результатом объединения с проектом Razor-qt.
Как видите, рабочий стол в Linux может выглядеть очень по-разному и на вкус любого здесь найдётся подходящий интерфейс: от очень красивых и с 3D-эффектами до минималистических, от «классических» до необычных, от активно использующих ресурсы системы до легковесных, от больших экранов до планшетов/смартфонов.
Ну и хочется надеяться, что у меня получилось дать представление о том, из каких основных компонентов состоит графика и рабочий стол в ОС Linux.
Материал для этой статьи был обкатан в июле 2020 года на вебинаре. Его можно посмотреть здесь.
На этом всё. Надеюсь, было полезно. Если есть какие-то вопросы и комментарии, пишите. Буду рад ответить. Ну и приходите учиться в «Сетевую Академию ЛАНИТ»!