Как работают компоненты графического интерфейса в Linux?

Как работают компоненты графического интерфейса в Linux?

существует по крайней мере несколько основных компонентов:

-server (to talk to drivers and listen for input)
-desktop environment (?)
-windows manager (manages apps boarders, size, position, etc) 
-other polishing apps (menus, clocks, icons)

Так что же отслеживает местоположение мыши и другую интерактивную активность?

Что произойдет, если некоторые из этих компонентов будут отсутствовать? Допустим, я запущу Firefox без менеджера окон или среды рабочего стола. Будет ли он работать в полноэкранном режиме без мыши?

как полностью запустить и остановить графический интерфейс из терминала?

Спасибо

решение1

Курсор мыши управляется графическим сервером — клиенты получают входные события, но им не нужно рисовать указатель самостоятельно.

То же самое касается и окон — общая концепция «нескольких окон» является частью основного протокола X11, поэтому вы по-прежнему можете запускать приложения в X11 без оконного менеджера, но они будут без границ, и вы не сможете перемещать или изменять их размер. Режим фокусировки по умолчанию «без WM» — это focus-follows-mouse.

(В Wayland оконный менеджер — это тот же процесс, что и графический сервер. Кроме того, в большинстве сред Wayland (и даже в некоторых средах X11, таких как GNOME 3) оформление окон обычно рисуется самими клиентами, поэтому линии немного размываются.)


«Среда рабочего стола» не является компонентом. Она описываетколлекциякомпонентов – среди прочего, в состав DE входят:

  • оконный менеджер и некоторая оболочка пользовательского интерфейса (например, рабочий стол, панели и т. д.) — это может быть единый процесс, как в GNOME 3 или e17, или полностью отдельные друг от друга процессы, как в Xfce;
  • возможно, менеджер настроек (например, gnome-settings-daemon) для различных задач, таких как настройки питания или горячее подключение дисплея;
  • и менеджер сеансов для фактического запуска всего — это «начальный» процесс, который запускается DM или startx, и его завершение приводит к жесткому выходу из системы.

Кроме того, в DE также есть набор базовых приложений — файловый менеджер, терминал, текстовый редактор, системные настройки; то, что вы видите в Windows в разделе «Стандартные».


Существует два способа запуска графического сервера — через менеджер отображения или вручную.

Распространенные менеджеры дисплеев — GDM, LightDM, SDDM, KDM, Xdm — их главная задача — автоматически определять, когда графический сервер (т. е. дисплей) может быть запущен, и обычно также показывать графическое приглашение для входа. Сам менеджер дисплеев — это системная служба, управляемая через serviceили systemctl.

Ручной подход заключается в запуске startx, который запускает Xorg и всех клиентов, перечисленных в .xinitrcфайле (это может быть менеджер сеансов DE или обычный старый WM).

(Xorg можно запустить полностью вручную, но это не принесет никакой пользы; поскольку он занимает весь экран, вам придется запускать начальные клиенты из другого места.)

Связанный контент