202 подписчика

Графическая система Linux

955 прочитали

 В Linux-системах пользователи работают через интерфейс командной строки (CLI) или графический интерфейс пользователя (GUI).

В Linux-системах пользователи работают через интерфейс командной строки (CLI) или графический интерфейс пользователя (GUI). Настольные системы имеют графический пользовательский интерфейс, в котором командная строка доступна через окно эмулятора терминала или в отдельной виртуальной консоли. Большинство низкоуровневых компонентов Linux, используют исключительно командную строку. Командная строка особенно хорошо подходит для автоматизации повторяющихся или отложенных задач, а также предоставляет очень простой механизм межпроцессного взаимодействия. Программа графического эмулятора терминала часто используется для доступа к командной строке с рабочего стола Linux.

Графический стек Linux
Графический стек Linux

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

X Window System

X Window System
X Window System

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

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

Система X Window System была разработана в Массачусетском технологическом институте (MIT) в 1984 году. По состоянию на февраль 2016 года версия протокола — X11R7.7 — появилась в июне 2012 года. Проект X возглавляет фонд X.Org Foundation. Референсная (или образцовая) реализация (reference implementation) системы свободно доступна на условиях лицензии MIT и подобных ей лицензий.

X Window System часто называют X11 или просто X (в разговорной речи — «иксы́»).

Wayland

Протокол для организации графического сервера в Linux и других UNIX-подобных операционных системах

По мнению разработчиков, Wayland является «работой над ошибками» X.org, которые накопились за четверть века его развития. Кардинальное отличие от X.org заключается в том, что Wayland лишь управляет буферами (плоскостями) окон и возлагает всю отрисовку их содержимого на инструментальные пакеты (GTK, Qt и так далее). API рисования (drawing API) полностью отсутствует. Все версии протокола строго определены, а само версионирование продумано. У X.org есть серьёзная проблема с версиями разных расширений, часто перекрещивавшимися или дополняющими, вместо того чтобы быть самодостаточными и исключающими. Функцию композиции буферов осуществляет референтный композитный менеджер Weston, использующий как OpenGL ES, так и программную отрисовку. В состав Wayland также входит унифицированный протокол устройств ввода, предоставляющий одну виртуальную клавиатуру, одну виртуальную мышь и один tablet-интерфейс — разделяемые всеми приложениями. Wayland знает о состояниях устройств ввода и способен запоминать их: X.org не сохраняет состояния устройств (stateless-протокол), но может быть настроен через файлы конфигурации.

О Wayland его создатель отзывается так: «Wayland — новый графический сервер, который выполняет только крошечную часть функций Х, которые мы действительно используем, когда запускаем композитный рабочий стол. Wayland, по сути, — буферный менеджер (подобно DRI2 для X.org), обработчик входных данных. Весь рендеринг выполняется на клиентской стороне — так, как сегодня работает OpenGL, а задание режимов и другие аппаратные установки выполняются в ядре. Такой подход значительно упрощает организацию сервера».

Wayland использует уже существующие в ядре Linux технологии, такие как Kernel mode-setting (KMS), Direct Rendering Manager (DRM) и Graphics Execution Manager (GEM).

Клиент и сервер

В X Window System "сервер" - это локальный дисплей пользователя (дисплейный сервер), а "клиент" — программа, которая этот дисплей использует (она может выполняться на удалённом компьютере).

Графический интерфейс пользователя

 В Linux-системах пользователи работают через интерфейс командной строки (CLI) или графический интерфейс пользователя (GUI).-4

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

Можно выделить следующие виды графического пользовательского интерфейса:

  • простой: типовые экранные формы и стандартные элементы интерфейса, обеспечиваемые самой подсистемой GUI;
  • истинно-графический, двумерный: нестандартные элементы интерфейса и оригинальные метафоры, реализованные собственными средствами приложения или сторонней библиотекой;
  • трёхмерный.

Достоинства:

  • Графический интерфейс является «дружелюбным» для пользователей, которые начали знакомство с компьютером с графического интерфейса.
  • В программах обработки графики он зачастую является единственно возможным.

Недостатки:

  • Большее потребление памяти в сравнении с текстовым интерфейсом.
  • Сложнее организовать удалённую работу.
  • Сложнее автоматизировать работу, если это не заложено в самой программе.
  • Графический интерфейс не является «дружелюбным» для пользователей, которые начали знакомство с компьютером с интерфейса командной строки.