Question: What Is Linux Graphical User Interface
An interface that allows users to interact with the system visually using icons, widgets, windows and more, is the Graphical User Interface. The X Window System or just X provides a graphical user interface environment in Linux. It is a client-server windowing system.
Does Linux have a graphical interface?
Short answer: Yes. Both Linux and UNIX have GUI system. Every Windows or Mac system has a standard file manager, utilities and text editor and help system. Similarly these days KDE and Gnome desktop manger are pretty standard on all UNIX platforms.
What do you mean by graphical user interface?
A graphics-based operating system interface that uses icons, menus and a mouse (to click on the icon or pull down the menus) to manage interaction with the system. Developed by Xerox, the GUI was popularized by the Apple Macintosh in the 1980s.
Is Gnome better than KDE?
GNOME is generally regarded as streamlined and less resource-intensive than KDE. Interestingly, while GNOME’s minimum system requirements are less demanding as far as CPU speed is concerned (700 Mhz, vs KDE’s 1 Ghz requirement), KDE actually requires less minimum RAM (615 MB vs GNOME’s 768 MB).
Does Linux use GUI or CLI?
It is important to have correct knowledge of syntax to give effective commands. An operating system like UNIX has CLI, While an operating system like Linux and windows have both CLI and GUI.
Which OS has GUI?
Some popular, modern graphical user interface examples include Microsoft Windows, macOS, Ubuntu Unity, and GNOME Shell for desktop environments, and Android, Apple’s iOS, BlackBerry OS, Windows 10 Mobile, Palm OS-WebOS, and Firefox OS for smartphones.
What is GUI and its advantages?
Easy understanding Visual representation of data is recognized faster than text. Non-programmers find it easy to use GUIs since it requires no experience with computing commands. They don’t have to worry about writing or debugging code. As a result, users find GUI an easy-to-learn interface.
What are the types of user interface?
There are four prevalent types of user interface and each has a range of advantages and disadvantages: Command Line Interface. Menu-driven Interface. Graphical User Interface. Touchscreen Graphical User Interface.
How much RAM does KDE use?
it really depends on what distro you use.. but generally anything you use will use as much as you have (it just loads programs into the ram until it runs out of space). In my experience, KDE (by which I mean Kwin, Kdesktop, and Kicker combined) takes about 50MB.
Which is better KDE or mate?
Both KDE and Mate are excellent choices for desktop environments. KDE is more suitable for users who prefer to have more control in using their systems while Mate is great for those that love the architecture of GNOME 2 and prefer a more traditional layout.
Why is GNOME so heavy?
People say Gnome is heavy because it is heavy on resources, a new session in GNOME takes up to 1.3 Gb (gnome shell + all the services it makes use of the main offenders being tracker miners and evolution-data-server) .
Why is GUI better than CLI?
A GUI does not have the same level of functionality and granular control as a command line interface. So the CLI provides greater flexibility of use. It can be used to easily do things that are difficult or even impossible to do with a GUI.
Who uses CLI and why?
CLI Offers System Control Programmers, experienced computer users, or administrators may utilise a CLI. There are specific situations when typing text into the interface will provide faster results than simply using a GUI. Plus, CLIs can offer greater control over an operating system via succinct commands.
What is difference between GUI and CLI?
The main difference between GUI and CLI is that the Graphical User Interface (GUI) allows the user to interact with the system using graphical elements such as windows, icons, menus while the Command Line Interface (CLI) allows the user to interact with the system using commands.
What is the difference between GUI and UI?
GUI is “graphical user interface” and UI is just “user interface.” GUI is a subset of UI. UI can include non-graphical interfaces such as screen readers or command line interfaces which aren’t considered GUI. Also, the opposite of GUI is CLI – Command Line Interface.
Is GUI part of OS?
Graphical user interface (GUI) The OS on most computers and smartphones provides an environment with tiles, icons and/or menus. This type of interface is called the graphical user interface (GUI) because the user interacts with images through a mouse, keyboard or touchscreen.
Is bash a GUI?
Is bash a GUI? Bash comes with many other GUI tools, in addition to “whiptail” such as “dialog” which can be used to make programming and executing tasks within Linux much easier and fun to work with.
Why GUI is needed?
Even a guy with no computer knowledge can use the computer and perform basic functions. GUI is responsible for that. Searching becomes very easy as GUI provides a visual representation of files present and provides details about it. Each and every response from the computer is visually communicated through GUI.
What is GUI and its advantages and disadvantages?
Benefits or advantages of GUI Interface ➨It is very easy to use by novice as it is user friendly. ➨Programmer or user need not have to understand working of the computer system. ➨It looks very attractive and multi-coloured. ➨It is much better than command driven interface which has many drawbacks.
Why is GUI used?
The graphical user interface (GUI; sometimes pronounced “gooey”) is used by most commercially popular computer operating systems and software programs today. This kind of interface allows word processing or web design programs, for example, to offer WYSIWYG (what you see is what you get) options.
What is the main goal of interface?
The goal of user interface design is to make the user’s interaction as simple and efficient as possible, in terms of accomplishing user goals (user-centered design).
WHAT IS interface and example?
An interface is a description of the actions that an object can do for example when you flip a light switch, the light goes on, you don’t care how, just that it does. In Object Oriented Programming, an Interface is a description of all functions that an object must have in order to be an “X”.
What is an example of a user interface?
A common example of a hardware device with a user interface is a remote control. This set of buttons and the way they are laid out on the controller makes up the user interface. Other devices, such as digital cameras, audio mixing consoles, and stereo systems also have a user interface.
Related Posts
- Quick Answer: Is Linux A Graphical User Interface
- Quick Answer: What Are The 2 Types Of Graphical User Interface Provided By Linux
- You Asked What Is The Graphical User Interface On A Linux System
- Quick Answer: You Asked Is Unix A Graphical User Interface
- Quick Answer: What Type Of User Interface Is Linux
- Question: What Type Of User Interface Does Linux Use
- Quick Answer: What Is User Interface In Computer Science
- What Type Of User Interface Is Unix
- What Is The User Interface Called In A Linux Operating System
- Your Question What Is Graphical Target Linux
- Quick Answer: What Is A User Interface In Computer Programming
- Question: What Is Kali Linux Gui
Что такое GUI и CLI
Когда вы переходите на Linux, то, читая статьи по теме или общаясь на форумах, часто сталкиваетесь с такими терминами, как GUI, CLI и реже TUI. В этой небольшой статье мы расскажем, что они означают, и разберёмся, в каком контексте эти аббревиатуры обычно встречаются.
Справедливости ради отметим, что термины GUI, CLI и TUI популярны не только в Linux-среде. Эти слова – часть общекомпьютерного жаргона, и их можно услышать в любых технических обсуждениях, а не только в тех, которые связаны с Linux.
GUI – графический интерфейс пользователя
GUI (Graphical User Interface) — приложением или графическим приложением называют практически любую программу, управление которой осуществляется посредством мыши, тачпада или сенсорного экрана. В рабочем окне отрисованы иконки и другие виджеты, и взаимодействие с программой представляет из себя, в сущности, последовательность нажатий курсором.
В Linux возможность графически взаимодействовать с операционной системой предоставляется так называемой средой рабочего стола. Поверх неё можно пользоваться GUI-приложениями, такими как GIMP, VLC, Firefox, LibreOffice, файловый менеджер и т.д. для решения различных задач.
Именно GUI открыл мир компьютеров для обычных пользователей; без него информационные технологии оставались бы уделом гиков.
CLI – интерфейс командной строки
CLI (Command Line Interface) – это программа в командной строке, которая читает вводимые команды и выполняет запрошенные действия. В целом, любая программа, которой можно пользоваться через команды из терминала, попадает в эту категорию.
У старых компьютеров не было мыши или других манипуляторов для управления операционной системой. Всё взаимодействие выполнялось через текстовый ввод и вывод, т.е. через CLI.
Если вам кажется, что это сложно, подумайте об ещё более древних вычислительных машинах, у которых не было даже экрана, на котором отображается набираемый текст. Ввод команд распечатывался принтером на бумаге. Лично мне ни разу в жизни не доводилось пользоваться таким компьютером. Ближайший аналог из того, с чем я имел дело – это схемы на микроконтроллерах, которыми я занимался во время учёбы.
Ушёл ли CLI в прошлое? Вовсе нет. У командной строки есть свои преимущества, особенно если речь идёт о настройке Linux на глубинном уровне: поднятии сетевого брандмауэра, организации локальной сети или даже управлении пакетами.
Со всеми этими вопросами можно разобраться и с помощью GUI-программ, но CLI даёт более прямой и прицельный доступ к операционной системе. В любом случае, работа GUI-приложений также основана на обращении к ОС с помощью команд (которые прописаны в их программном коде).
Многие известные утилиты с GUI представляют из себя графическую обёртку для инструментов CLI. Например Handbrake, популярный медиа-конвертер с открытым исходным кодом, является GUI-надстройкой над CLI-приложением ffmpeg.
Конечно, пользоваться командной строкой сложнее, чем графическим интерфейсом. Однако не стоит переживать по этому поводу. Как правило, для решения повседневных задач достаточно графического управления Linux. Тем не менее, знание основных команд часто бывает весьма полезным.
TUI – текстовый пользовательский интерфейс
Этот термин встречается реже, чем первые два. TUI (Text User Interface) – это наполовину CLI и наполовину GUI. Непонятно, что это значит? Разберёмся поподробнее.
Как было сказано выше, работа со старыми компьютерами была целиком основана на CLI. Однако некоторый ограниченный спектр возможностей GUI можно имитировать и в текстовом терминале. Это и будет TUI: в отличие от интерфейса командной строки, в нём представлено больше виджетов и доступно управление как и с клавиатуры, так и с помощью мыши.
TUI – это сокращение для text-based user interface (текстовый пользовательский интерфейс) или terminal user interface (терминальный пользовательский интерфейс). Слово «текстовый» в этом словосочетании означает, что всё показанное на экране, в сущности, представляет собой большой текст – набор символов, с помощью которого имитируются различные элементы управления, а слово «терминальный» – что обратиться к этому интерфейсу возможно только из терминала.
TUI-приложения не так популярны, как GUI и CLI, но примеров можно найти множество. Так, к этой категории относятся текстовые браузеры и текстовые игры.
Ещё один случай, когда TUI может встретиться – это если в процессе установки кодеков на Ubuntu необходимо принять EULA или сделать выбор из нескольких предложенных вариантов настройки. TUI сложнее в управлении, чем GUI и часто требует обучения, но пользоваться им всё-таки проще, чем командной строкой.
Выводы
Программы с TUI часто относят в категорию CLI, поскольку их интерфейс доступен только из текстовой консоли. Какого мнения на этот счёт будете придерживаться вы – выбор за вами. Надеюсь, вам понравилась эта статья и теперь вы знаете что такое GUI, CLI и TUI.
Обзор графических оболочек Linux
Наверняка вы хоть раз сталкивались с многообразием графических оболочек для ОС Linux. В этом присутствует частичка красоты этой системы — в множестве вариантов взаимодействия с этой ОС. Без сомнений — это универсальный инструмент.
Если вы уже используете Linux или только начинаете знакомство с ним, вам наверняка не захочется сидеть и перебирать все существующие оболочки, чтобы понять, подойдёт одна из них именно вам или нет. Потому мы сделали краткий обзор самых популярных рабочих сред вместе с ответами на часто задаваемые вопросы.
Здесь и далее будет субъективное мнение автора. Как по поводу выбора расширений, так и по поводу внешнего вида рабочих сред.
Краткое содержание:
- GNOME
- GNOME Flashback
- KDE Plasma
- XFCE
- LXDE
- Cinnamon
- Pantheon
- MATE
- Budgie
- Qtile
- Enlightenment
- i3wm
- Частые вопросы
Конечно, сразу стоит отметить, что эти оболочки совершенно разные по своей изначально заложенной сути. GNOME — символ аскетизма, KDE же — более простая, однако очень красивая и функциональная. В последнее время им ещё и наступает на пятки — XFCE. Но давайте обо всех по порядку.
1. GNOME
GNOME (GNU Network Object Model Environment) — одна из популярных сред рабочего стола в мире Linux. Она постоянно поддерживается и довольно легко интегрируется с аппаратным и программным обеспечением. Стоит отметить тот факт, что Canonical даже приняла GNOME для ОС Ubuntu в качестве среды рабочего стола по умолчанию. Однако надо помнить, что GNOME — не самый простой инструмент. Дизайн довольно сильно отличается от привычного виндового интерфейса, и для начального взаимодействия и простоты использования, вам придётся поколдовать с существующими расширениями. Например, если вам необходима панель задач, как в винде, для приложений или переключения окон, то вы можете попробовать для себя Dash to Panel. Нет смысла дублировать тут туториал по установке, лучше воспользоваться инструкцией разработчика. Но помните, что с большим набором расширений оболочка начинает заметно подъедать системные ресурсы слабомощных машинок.
Как нам говорит сайт www.gnome.org:
Ubuntu 20.04 LTS уже включает в себя GNOME 3.36 с небольшими изменениями, а Ubuntu 21.10 включает и GNOME 40, также с некоторыми изменениями. Если вы устанавливаете gnome-session, то можете запустить чистый GNOME с экрана входа в систему.
2. GNOME Flashback (Ubuntu Classic/панель GNOME)
GNOME Flashback — это базовая и классическая среда рабочего стола, которая даёт возможность ностальгировать о чистом виде системы Ubuntu. Быстрая и лёгкая, основана на ранней версии Ubuntu. Для меня это был самый первый графический интерфейс Ubuntu, который я знаю ещё с её девичества, Ubuntu 8.04. Поэтому, когда я увидел этот интерфейс, то пустил скупую слезу ностальгии.
Краткая инструкция по установке:
Команда установки для последней версии Ubuntu:
sudo apt-get install gnome-session-flashback
Для Ubuntu 12.04-13.10:
sudo apt-get install gnome-panel
sudo apt-get install gnome-session-fallback
3. KDE Plasma
После GNOME — оболочка KDE (K Desktop Environment) Plasma является наиболее используемой и настраиваемой средой рабочего стола для ОС Linux. Эта оболочка предлагает о-о-очень широкий спектр опций. Например, если вы захотите сделать что-то windows- или macos-подобное, то при должных усилиях — у вас всё получится :).
Если вам нравится возиться в настройках системы и вы готовы приложить некоторые усилия, то Plasma это то, что вам нужно. Её можно назвать «швейцарским ножом» в мире рабочих столов Linux.
В отличие от Ubuntu Unity 3D, для бесперебойной работы требуется аппаратное 3d ускорение.
Краткая инструкция по установке:
Перед тем как переходить непосредственно к установке, необходимо выполнить обновление списков пакетов и системы, чтобы установить самую новую версию KDE и избежать возможных ошибок. Для обновления выполните:
sudo apt full-upgrade
Этот процесс может пойти быстро, а может, и долго, в зависимости от того, как давно вы обновляли свою систему, и от скорости интернета. После завершения обновления надо установить утилиту tasksel:
sudo apt install tasksel
Теперь можно установить KDE:
sudo tasksel install kubuntu-desktop
sudo tasksel install kubuntu-full
Во время установки системе нужно будет настроить менеджер входа в систему. Нажмите ОК, а в следующем окне выберите Gdm, чтобы использовать стандартный менеджер входа Ubuntu.
Пакетный менеджер может выдать ещё несколько окон с предупреждениями, в них можно нажимать Ок. Остаётся только перезагрузить компьютер и наслаждаться только что установленной KDE Plasma. После перезагрузки вы сможете выбрать оболочку входа. Для этого нажмите на шестерёнку внизу экрана и вуаля, наслаждайтесь.
4. XFCE
Если у вас есть старая или не очень мощная машина, например, старый нетбук, то XFCE станет отличным выбором. Он довольно лёгкий и обеспечивает баланс между лёгкими рабочими столами, такими как LXDE или LXQt, и полноценными, такими как KDE и GNOME, про которые написано выше. Оболочка малотребовательна к ресурсам компьютера и при этом на борту имеет много вариантов настройки. Всё это делает XFCE одной из самых чистых и простых в использовании, особенно когда требуется нересурсоёмкая среда без аппаратного ускорения.
Мой опыт использования этой оболочки был исключительно положительным. Пользовался около года, пока жёсткий диск моего компьютера не отправился к праотцам. После чего начал искать другую идеальную среду.
Краткая инструкция по установке:
Для установки введите:
sudo apt-get install xubuntu-desktop
Чтобы установить дополнительные приложения и расширения, используйте следующую команду:
sudo apt-get install xfce4-goodies
Чтобы установить Xfce 4.12 на Ubuntu 14.04 и 15.04:
sudo add-apt-repository ppa:xubuntu-dev/xfce-4.12
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install xfce4
5. LXDE (облегчённая среда рабочего стола X11)
Раз я уже упомянул вариант оболочки для установки на маломощные машинки, то обязательно стоит сказать и об LXDE. Это невероятно лёгкая среда рабочего стола Linux, которая ориентирована на высокую производительность, при этом требует ещё меньше ресурсов, чем XFCE. Для её работы не требуется никакого аппаратного ускорения. Очень быстрая, гибко настраиваемая и не занимает много места в оперативной памяти.
Я использовал эту оболочку на старом железе, и всё прекрасно работало без каких-либо тормозов. Исключительно порадовала простота и лёгкость настройки.
Краткая инструкция по установке:
sudo apt-get update
sudo apt-get install lxde
6. Cinnamon
Cinnamon — это, конечно, одна из самых популярных сред рабочего стола. По умолчанию поставляется только в Linux Mint.
Эта среда рабочего стола является ответвлением оболочки GNOME, так что тут стоит вспомнить требование про аппаратное 3D-ускорение. Хотя она и может работать с программным рендерингом, но будет сильно тормозить. Cinnamon хорошо подойдёт для тех, кто только что перешёл с ОС Windows, поскольку эта оболочка наиболее близка к ней по внешнему виду. Среда бережно относится к пожиранию ресурсов, что делает её идеальным кандидатом для чуть более устаревшей машины, которая уже не тянет винду.
Поскольку я использую Linux Mint каждый день (как дома, так и на работе), могу сказать, что эта оболочка является фаворитом для меня в этой подборке.
Краткая инструкция по установке:
Выполните следующую команду, чтобы установить последнюю версию Cinnamon Desktop в Ubuntu.
sudo add-apt-repository ppa:embrosyn/cinnamon
sudo apt-get update
sudo apt-get install cinnamon
7. Pantheon
Pantheon — это лёгкая и модульная среда рабочего стола, которая используется в elementary OS в качестве рабочего стола по умолчанию. Графический интерфейс этой оболочки идентичен Apple Mac OS. Его можно установить на любую машину с Ubuntu. Работа с этой средой почти такая же, как в macOS. В ней есть даже больше жестов и имеются функции сенсорной панели.
Pantheon также является одним из самых доступных интерфейсов, которые подходят для дисплеев со сверхвысоким разрешением (HiDPI/Retina), поэтому её стоит рассматривать в качестве рабочего решения для замены macOS. Эта среда автоматически определит разрешение вашего экрана и сделает изображение подходящим для вашего монитора.
Краткая инструкция по установке:
Чтобы установить Pantheon на последнюю версию Ubuntu.
sudo add-apt-repository ppa:elementary-os/daily
sudo add-apt-repository ppa:elementary-os/os-patches
sudo add-apt-repository ppa:elementary-os/testing
sudo add-apt-repository ppa:mpstark/elementary-tweaks-daily
sudo apt update
sudo apt dist-upgrade
sudo apt install elementary-theme elementary-icon-theme elementary-default-settings elementary-desktop
Ubuntu — 12.04 и выше
sudo add-apt-repository ppa:elementary-os/daily
sudo apt-get update
sudo apt-get install elementary-desktop
8. MATE
Ubuntu MATE — это ещё одна версия GNOME 2. Хорошо помню тот момент, когда вышел GNOME 3, и это вызвало много негодования у меня, а также у других пользователей. И мы начали искать возможные решения, которые были бы такими же удобными и доступными, как старый добрый GNOME 2.
На тот момент это была отличная альтернатива привычному «Гному», и могу сказать, что она оставила у меня хорошие впечатления скоростью работы и удобством использования. Эту оболочку оценят те, кто привык к классическому интерфейсу старых систем.
Краткая инструкция по установке:
Установите рабочий стол MATE на последнюю версию Ubuntu. Выполните следующие команды:
sudo add-apt-repository ppa:ubuntu-mate-dev/xenial-mate
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mate-dock-applet
Установите рабочий стол MATE на Ubuntu 15.10. Выполните следующие команды:
sudo add-apt-repository ppa:ubuntu-mate-dev/wily-mate
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mate-dock-applet
9. Budgie
Budgie вполне подойдёт для тех, кому нужен такой же настраиваемый рабочий стол, как в KDE Plasma, но без мороки. Budgie — это обычная рабочая среда, созданная для ОС Solus. Она предоставляет множество настроек, таких как виджеты рабочего стола, красивые темы и значки, режим тёмной темы и расширенные функции панели.
Краткая инструкция по установке:
Чтобы установить эту среду рабочего стола, введите следующие команды в терминале:
sudo add-apt-repository ppa:budgie-remix/ppa
sudo apt-get update
sudo apt-get install budgie-desktop
10. Qtile
Qtile — это тайловый оконный менеджер, который написан только на языке Python. Qtile — это очень простая, маленькая и легко расширяемая среда. Она позволяет легко писать свои собственные раскладки, виджеты, встраиваемые команды. По сути, это оконный менеджер, который написан программистами и исключительно для программистов.
Краткая инструкция по установке:
sudo apt-add-repository ppa:tycho-s/ppa
sudo apt-get update
sudo apt-get install qtile
11. Оболочка рабочего стола Enlightenment
Enlightenment Desktop Shell предоставляет потрясающий и эффективный оконный менеджер, основанный на библиотеках Enlightenment Foundation. Он поставляется с полным набором компонентов рабочего стола, таких как файловый менеджер, значки рабочего стола, виджеты и т. д. Enlightenment Desktop Shell охватывает все современные устройства, от небольших мобильных устройств и смартфонов до многоядерных настольных компьютеров и т.д. Вы можете легко установить Enlightenment E22 Desktop в Ubuntu, Linux Mint или любых других дистрибутивах на основе Ubuntu.
Краткая инструкция по установке:
sudo add-apt-repository ppa:niko2040/e19
sudo apt-get update
sudo apt-get install enlightenment terminology
12. i3wm
Напоследок хочется рассказать про i3wm — фреймовый оконный менеджер. Компактный, лёгкий и простой в использовании. Его нельзя назвать полноценной средой рабочего стола. Скорее, он необходим для управления окнами экрана и предназначен в первую очередь для настоящих гиков Linux. Простому пользователю он вряд ли может быть интересен.
Краткая инструкция по установке:
sudo apt update
sudo apt install i3
Несколько часто задаваемых вопросов:
Какая, на ваш взгляд, самая лучшая среда для начинающих линукс-пользователей?
Этот вопрос я, пожалуй, слышу чаще всего. Тут всё достаточно просто. Если вы переходите с Windows, смело выбирайте Cinnamon. Для пользователей, которые решили пересесть с MacOS — рекомендую Pantheon. Остальное уже дело вкуса и желания ковыряться в настройках.
Можно ли установить несколько сред рабочих столов?
Да, но одновременно использовать можно только что-то одно. Пожалуйста, помните, что некоторые среды могут не совсем корректно работать на вашем компьютере или даже банально глючить. Например, при установке Budgie поверх Cinnamon в Linux Mint, в связи с тем, что они используют одни и те же файлы для визуальных элементов.
Если вы не очень разбираетесь в установке или не уверены, что всё пройдет хорошо, то лучше сделайте резервную копию вашей системы с помощью, например, rsync.
Надо ли выбирать дистрибутив в зависимости от среды, в которой он поставляется?
Конечно, если вы не хотите мороки, то стоит сразу установить систему, на которой уже имеется приглянувшийся рабочий стол. Например, установка KDE на ванильную Ubuntu будет менее приятной, чем установка Kubuntu (Ubuntu с предварительно интегрированной Plasma). С другой стороны, это совсем не означает, что вы должны ограничиваться конкретным дистрибутивом.
Чем KDE Plasma отличается от Cinnamon?
Возможно, у вас возникнет ощущение, что две эти среды могут выглядеть одинаково, тем не менее они предоставляют совершенно разные наборы приложений.
Разработчики KDE отделили свой рабочий стол от GNOME и с тех пор работают над обеспечением унифицированного опыта на одной платформе.
Cinnamon же вместо того, чтобы полностью отказаться от пакета GNOME, адаптировался к использованию некоторых из них (Gedit, терминал GNOME, системный монитор GNOME и т. д.), обеспечивая при этом совершенно другой визуальный интерфейс. Из-за этого Cinnamon может быть не совсем стилистически единым, так как некоторые из используемых им приложений GNOME не полностью соответствуют общей теме визуализации.
А какие графические оболочки из вышеупомянутых вы уже использовали? Что вам понравилось больше всего? Выбирайте один из вариантов в опросе или пишите в комментариях.
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS .
Как устроена графика в Linux: обзор различных сред оформления рабочего стола
Эта статья о том, как устроена графика в Linux и из каких компонентов она состоит. В ней много скриншотов с различными реализациями сред рабочих столов.
Если вы не сильно различаете KDE и GNOME или различаете, но хотели бы узнать, какие еще есть альтернативы, то эта статья для вас. Она обзорная, и хотя в ней много названий и немного терминов, материал будет также полезен начинающим и только посматривающим в сторону Linux.
Тема может заинтересовать и продвинутых пользователей при настройке удаленного доступа и при реализации тонкого клиента. Часто встречаю вполне матерых линуксойдов с утверждениями «на сервере только командная строка, и графику подробнее изучать не планирую, так как это всё нужно для простых пользователей». Но даже знатоки Linux с большим удивлением и радостью открывают для себя опцию «-X» у команды ssh (а для этого полезно понимать работу и функции X-сервера).
Источник
Я почти 15 лет обучаю на курсах Linux в «Сетевой Академии ЛАНИТ» и уверен, что многие из тех более пяти тысяч человек, которых обучил, читают и наверняка пишут статьи на Хабр. Курсы всегда очень насыщены (средняя продолжительность курса — пять дней), нужно рассказать темы, на полноценное знакомство с которыми требуется минимум дней десять. И всегда в ходе курса в зависимости от аудитории (новички собрались или матерые администраторы), а также от «вопросов из зала» я делаю выбор, что донести подробнее, а что — более поверхностно, чтобы посвятить больше времени утилитам командной строки и их практическому применению. Таких тем, которыми приходится немного жертвовать, достаточно. Это «История Linux», «Различия в дистрибутивах Linux», «Про лицензии: GPL, BSD, . », «Про графику и среды рабочих столов» (тема этой статьи) и др. Не то, чтобы они не важны, но обычно есть множество более актуальных «здесь и сейчас» вопросов и всего каких-то пять дней… Однако для общего понимания основ ОС Linux, понимания доступного разнообразия (чтобы даже пользуясь одним конкретным дистрибутивом Linux, всё-таки иметь более широкий взгляд на весь этот огромный и необъятный мир, что зовется «Linux») изучать эти темы полезно и нужно.
По ходу статьи по каждому компоненту я указываю ссылки для тех, кому захочется глубже погрузиться в тему, например, на статьи в Википедии (при этом указываю на более полную/полезную версию при наличии англоязычной и русскоязычной статей).
Для основных примеров и скриншотов я использовал дистрибутив openSUSE. Можно было использовать любой другой дистрибутив, разрабатываемый сообществом, с наличием большого количества пакетов в репозитории. Сложно, но возможно, продемонстрировать многообразие оформления рабочего стола на коммерческом дистрибутиве, так как часто в них используются только одна или две наиболее известных сред рабочего стола. Так разработчики сужают себе задачу выпуска стабильной отлаженной ОС. На данную же систему я установил все DM/DE/WM (объяснение этих терминов ниже), которые нашёл в репозитории.
Скриншоты с «синими рамками» как раз и сделаны на openSUSE.
Скриншоты с «белыми рамками» делал на других дистрибутивах, они указаны на скриншоте.
Скриншоты с «серыми рамками» были взяты из интернета, в качестве примеров оформлений рабочего стола из прошлых лет.
Основные компоненты, из которых состоит графика
Про механизмы отрисовки рекомендую почитать статью «Графический стек Linux» (2012год)
Выделю три основные компонента и перечислю их в порядке, как они запускаются при старте системы:
- DM (Display Manager);
- Display Server;
- DE (Desktop Environment).
- Apps Manager/Launcher/Switcher (кнопка «Пуск»);
- WM (Window Manager);
- различное ПО, поставляемое вместе со средой рабочего стола.
DM (Display Manager)
Первое приложение, которое запускается при старте «графики», — это DM (Display Manager), дисплейный менеджер. Его основные задачи:
- спросить, каких пользователей пустить в систему, запросить аутентификационные данные (пароль, отпечаток пальца);
- выбрать, какую среду оформления рабочего стола запустить.
- SDDM (сменил KDM),
- GDM,
- LightDM,
- XDM.
- Также можно упомянуть Fly-DM (используемый в AstraLinux).
Стоит отметить, что на следующих скриншотах используется один и тот же дисплейный менеджер LightDM, но в разных дистрибутивах (названия дистрибутивов указаны в круглых скобках). Оцените, насколько по-разному может выглядеть этот DM благодаря работе дизайнеров различных дистрибутивов.
Главное в этом многообразии, чтобы было понятно, что есть такое приложение, которое отвечает за запуск графики и допуск пользователя к этой графике, и есть разные реализации этого приложения, различающиеся внешним видом и немного функционалом (выбор сред оформления, выбор пользователей, версия для плохо видящих пользователей, наличие возможности удаленного доступа по протоколу XDMCP).
Display Server
Display Server — это некий фундамент графики, основная задача которого — работать с видеокартой, монитором и с различными устройствами ввода (клавиатура, мышь, тачпады). То есть приложению (например, браузер или текстовый редактор), которое отрисовывается в «графике», не нужно знать, как напрямую работать с устройствами, не нужно знать про драйверы. Это всё на себя берет X Window.
Когда говорится про Display Server, то много лет в Linux, да и в Unix имелось в виду приложение X Window System или в простонародье X (Иксы).
Сейчас во многих дистрибутивах на смену X внедряют Wayland.
Также можно почитать:
- общее описание архитектуры X’ов,
- запуск X’ов в X’ах,
- Х’ы под ОС Windows (нужны для удаленного запуска графических приложений, например используя 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 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)», то есть инструмент для управления приложениями (запуска и переключением между запущенными), а также укажу утилиты, которые являются примером приложения данного типа.
-
Бывает в виде кнопки «Пуск» на классической (во всю длину одного из краёв экрана) «Панели задач»:
Компоненты DE: WM (Window Manager)
WM (Оконный менеджер) — некое приложение, которое отвечает за управление окнами, добавляет возможность:
- перемещений окон по рабочему столу (в том числе стандартное с зажатием клавиши Alt за любую часть окна, а не только за заголовок);
- изменение размеров окон, например, перетаскивая за «рамку окна»;
- добавляет к интерфейсу окна «заголовок (title)» и кнопки сворачивания/разворачивания/закрытия приложения;
- понятие, какое приложение находится в «фокусе».
Перечислю наиболее известные (в круглых скобках указываю, в каком DE используется по умолчанию):
Также перечислю «старые WM с элементами DE». Т.е. помимо оконного менеджера в них имеются элементы типа кнопки «Пуск» и «Панели задач», более присущие полноценным DE. Хотя какие они «старые», если и IceWM, и WindowMaker уже выпустили свои обновлённые версии в 2020 году. Получается, что корректнее не «старые», а «старожилы»:
Помимо «классических» («стековых оконных менеджеров») стоит отдельно отметить тайловые WM, которые позволяет размещать окна «черепицей» по всему экрану, а также для некоторых приложений отдельный рабочий стол для каждого запускаемого приложения на весь экран. Это немного непривычно для людей, ранее их не использовавших, но так как я сам достаточно давно использую такой интерфейс, могу сказать, что это вполне удобно и быстро привыкаешь к такому интерфейсу, после чего уже «классические» оконные менеджеры не кажутся удобными.
Также стоит отдельно упомянуть проект Compiz и такое понятие, как «Композитный менеджер окон», использующий возможности аппаратного ускорения для отображения прозрачности, теней, различных трёхмерных эффектов. Около 10 лет назад был бум 3D-эффектов на Linux-десктопах. Сейчас многие из оконных менеджеров, встроенных в DE, частично используют композитные возможности. Недавно появился Wayfire — продукт с аналогичным Compiz функционалом под Wayland.
Подробный список различных оконных менеджеров также можно посмотреть в статье-сравнении.
Компоненты DE: остальные
Также стоит отметить следующие компоненты рабочего стола (здесь использую английские устоявшиеся термины для описания разновидности приложения — это не названия самих приложений):
- clock/sound/network/battery/printer/… — часы, регулятор громкости, отображение состояния сетевых подключений, отображение заряда аккумулятора, очередь принтера;
- Calendar, screensaver — оповещалки по времени, скринсейвер;
- Systray, notify, OnScreenDisplay — системный трей, который также может быть использован различными приложениями для отображения своего состояния (например, состояние записи у утилиты скринкастинга), всплывающие оповещения на экране;
- FileManager — файловые менеджеры;
- Terminal — терминал для работы в командной строке;
- editor/viewer — различные типы редакторов/просмотрщиков (для текстовых файлов, картинок, видео, pdf и т. д.), часто поставляются как часть среды рабочего стола.
DE (Desktop Environment)
Из перечисленных выше компонентов получается так называемая «Среда оформления рабочего стола». Часто все её компоненты разрабатываются с использованием одних и тех же графических библиотек и с использованием одинаковых принципов оформления. Тем самым, как минимум, выдерживается общий стиль для внешнего вида приложений.
Здесь можно выделить следующие существующие на данный момент среды рабочего стола:
- GNOME_3,
- KDE_5,
- Xfce,
- Enlightenment_17,
- …
- Cinnamon (форк GNOME_3),
- Mate (форк GNOME_2),
- Pantheon (на основе GNOME),
- Trinity (форк KDE_3.5),
- Budgie (форк GNOME_3),
- Moksha (форк Enlightenment_17),
- …
- LXQt,
- Deepin,
- Fly (в ⊚AstraLinux),
- …
Наиболее распространёнными считаются GNOME и KDE, ну и на пятки им наступает XFCE.
Сравнение по различным параметрам в виде таблицы можно посмотреть в соответствующей статье Википедии.
Многообразие 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 года на вебинаре. Его можно посмотреть здесь.
На этом всё. Надеюсь, было полезно. Если есть какие-то вопросы и комментарии, пишите. Буду рад ответить. Ну и приходите учиться в «Сетевую Академию ЛАНИТ»!
В интернете есть много открытых материалов для самостоятельного изучения Linux, но даже один недельный курс (особенно очный, но подойдет и вебинарный) с хорошим инструктором позволит быстрее и продуктивнее понять суть и особенности данной системы не тратя годы на уже стандартные ошибки новичка.
- Краткий справочник по «всем-всем» командам Linux (25.08.2022)
- Многообразие Linux-дистрибутивов (31.08.2021)
- Использование быстрых клавиш в командной строке Linux (BASH) (24.02.2021)
- Обзор графических сред оформления рабочего стола в Linux (01.09.2020)
- Блог компании ГК ЛАНИТ
- Настройка Linux
- Графические оболочки
- Разработка под Linux