X11 window in linux

What is X Window System? [closed]

Want to improve this question? Update the question so it focuses on one problem only by editing this post.

Hmmm. there is a LOT of information out there already on this. What information sources have you examined? Have you looked at WikiPedia?

4 Answers 4

You may be confused, and this is not your fault, because Linux can have 2 meanings.

  1. Linux is a kernel: This kernel is used in many systems, including android and the systems outlined in 2.
  2. Linux also often confusingly is used to refer to systems like Debian, Ubuntu, Redhat, CentOs, Suse, and many more. These systems are better described as Gnu+Linux, and in the desktop case X11+Gnu+Linux.

X11 is the correct name for the system that you are asking about. X11 is an architecture independent, network transparent, policy free, windowing system.

Not part of the OS

The X11 server runs as a user process. Other processes also run, window manager (to decorate windows with frames and title bars, and do the moving and resizing), taskbar, and other. It has been said “MS-Windows is a windowing system with an OS stuck on as an after thought, and Unix/Linux is an OS with a windowing system stuck on as an after thought.”

Architecture independent

X11 is used on most Unixes: Gnu (including Gnu+Linux), Bsd, Solaris, Hp-Ux, etc. it can also be used on many other systems: Vms, MS-Windows, MacOs, AmigaDos, and may more.

Network transparent

You can open windows on other machines, if you have the correct authority. And can run application on a remote (possibly more powerful) machine, and display application locally. This is done on a per application, or per window basis, unlike VNC or remote desktop, that do it a desktop at a time.

Policy free

X11 has no policy as to what things look like or how things are done. This has allowed it to endure since about 1985, with some extensions such as video, shaped windows and 3d. All the changes of look and feel are done by changing or replacing window managers and other helper apps. You can change window manager without logging out. So it is possible to change from something from 1985 (pre Microsoft’s windows) to 1995 (Win95), to 2001 (win XP), to 2014 (Win 7) to (no one in there right mind would run something like win 8), to something better — no reboot, not even a log out. (Though if you did have a 1985 version of X11 you would have to logout to upgrade to one that has 3D etc).

Читайте также:  Rtc time linux изменить

The X Window System is the basis for graphical user interfaces. X uses a client-server model: the X server is responsible for displaying (drawing) everything, while the client tells the X server what to display (draw). Client and server do not need to be on the same host.

X by itself is not sufficient for graphical user interfaces, for the X server «knows» only how do draw rectanges, lines, bitmaps and other shapes and how to render fonts. It also takes care of window overlapping, cursors, input event management (such ad key press and release, mouse movements, mouse clicks) etc. It does not provide any kind of «look and feel». That’s up to widget sets that operate on top of X. Examples for such sets are Qt or GTK. Historical examples are Motif and XView. These widget sets «describe» what widgets exist (like text input fields, drop down boxes, buttons, canvases etc), how they look like, and how they act. On top of that there are the window managers which are responsible for, well, window management, i.e. how windows are decorated (frames, title bars) and what action elements they provide (like minimize, maximize, close etc.)

Unlike Microsoft Windows, X is not part of the operating system. Although the X server used to have extraordinary privileges in order to utilize the graphics hardware, you can run a unix/linux system perfectly without X. However, a lot of software depends on the X libraries, so even if the X window system is not fully installed on a system, you might find the X libraries.

Источник

X Window System / X11

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

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

Читайте также:  Linux mount dir to dir

Система X Window в Linux

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

Поскольку ОС UNIX / GNU Linux обладают архитектурой, ключевой особенностью которой является сетевое клиент-серверное взаимодействие, то реализация графической системы также построена на схеме «клиент-сервер». Ядром такой системы является протокол, описывающий правила организации и предоставления неким сервером X своих мощностей и вычислительных ресурсов клиентам — пользовательских машин, на которых запускается графическая оболочка, позволяющая работать приложениями в виде окон (Window) с характерными для них органами управления и оформлением. Причём внешний вид и сопутствующие функциональные возможности GUI будут зависеть от соответствующих графических библиотек, установленных на клиентской машине. Всё это в совокупности определяет графическую систему X Window.

Как появилась X Window?

В распределённых (достаточно больших) системах на некоторых компьютерах (или даже в подсетях, охватывающих целые отделы организации) было необходимо, в связи со спецификой выполняемых задач, работать с полноценным графическим интерфейсом, например для: инженерной графики в CAD, верстки документов, 3D-графики. Конечно, в дальнейшем вполне закономерно использование графических оболочек для общепользовательских специальных задач стало повсеместным. Однако серверные компьютеры по сей день могут (и, вероятнее всего должны) обходиться без GUI.

Ещё в начале 1980-х годов в Массачусетсском технологическом институте (MIT) в рамках проекта Project Athena была разработана оконная система W (Window), задачей которой было обеспечение полноценного GUI для рабочих станций, занятых соответствующими задачами. Позже преемницей W стала система X – более универсальная и гибкая для интеграции сложных ОС. Её более поздняя версия X Window System 10, которая вышла 1985 году, завоевала довольно широкое распространение. Версия 11 этой ОС или просто X11 так и вовсе благодаря своим довольно открытым условиям лицензии стала самым популярным решением в области GUI поскольку благодаря своим продуманной архитектуре и потенциалу активно переносилась на другие платформы. Появлялось всё больше реализаций протокола XDM и как следствие — новых реализаций системы X11.

С 1998 года компетентная группа в составе MIT начала работы по формализации протокола X, в рамках которой должно было определяться дальнейшее его развитие. Параллельно среди многих реализаций X11 продолжали появляться и свободные, такие как XFree86. В 2004 году для ветви с оригинальным проектом X11 изменились условия лицензионного соглашения, в которые были включены пункты, не позволявшие дистрибьюторам и разработчикам свободно её использовать. Поэтому многие из них вынуждены были полностью перейти на использование ветви XFree86, которая под новые условия лицензии не подпадала. Сама же ОС XFree86 активно поддерживается компанией X.Org Foundation, которая является некоммерческой организацией. Таким образом, на сегодняшний день подавляющее большинство дистрибутивов Linux для обеспечения графического окружения использует систему X Window в её свободной реализации X.Org.

Читайте также:  Linux export all proxy

Как работает система X Window?

X Window обеспечивает работу графического окружения благодаря всего трём основным её компонентам: X-сервера, диспетчера дисплеев, менеджера окон. Диспетчер дисплеев авторизует и/или регистрирует пользователей для предоставления им среды для запуска (набор сценариев запуска) системы. Также диспетчер дисплеев управляет работой X-сервера, т. е. он может запускать его когда клиент отправил соответствующий запрос. В свою очередь X-сервер по завершении запуска предоставляет клиентам абстрактный интерфейс для устройств ввода (мышь, клавиатура), а также для отрисовки растровых изображений.

Менеджер окон служит для организации приложений в виде окон, позволяя переключаться между ними, сворачивать/разворачивать, открывать, перемещать по экрану, управлять рабочими столами Таким образом, выступая в роли интерактивного визуализатора пользовательской среды и приложений. Сам же менеджер окон запускается диспетчером дисплеев по факту авторизации/регистрации пользователя с помощью сценариев запуска. Внешний вид приложений реализуется с помощью различных библиотек интерфейсных элементов (например GTK+), которые позволяют отрисовывать окна, меню, заголовки, кнопки и прочие органы управления. Следующий рисунок демонстрирует клиент-серверную модель, по которой функционирует система X Window:

Библиотеки элементов пользовательского интерфейса могут быть разными, но все они поддерживают спецификацию оконного менеджера, поэтому X-серверу не нужно «знать» все тонкости низкоуровневого формирования элементов интерфейса на стороне клиента. Это одна из ключевых особенностей системы X Window.

Некоторые особенности

Как уже было отмечено, гибкость, масштабируемость, а также открытость системы X Window породила множество реализаций не только её самой (и её протокола), но ничуть не меньшее число графических сред. Долгое время (да и по сей день) оригинальная графическая оболочка на «чистом X11» с собственной библиотекой интерфейсных элементов была незавершённой, т. к. изначально не подразумевалось её повсеместное использование. Однако, с другой стороны клиент-серверная архитектура X Window, а также её независимость от низкоуровневой реализации GUI на стороне клиента «развязывали» руки разработчикам ПО, которые очень часто стремились снабдить свои приложения оригинальным внешним видом, разрабатывая и поставляя вместе с ПО также собственные библиотеки элементов GUI. При этом развитие как самой системы X Window, так графических сред и библиотек элементов интерфейса происходит независимо друг от друга усилиями разных разработчиков.

Именно поэтому сейчас можно наблюдать такое количество всевозможных графических окружений для UNIX/GNU Linux. Некоторые из них (KDE, GNOME, XFCE) по качеству дизайна, удобства использования, функционалу и быстродействию настолько хороши, что люди, впервые увидевшие и поработавшие в этих средах устанавливают и используют их в качестве основных.

Источник

Оцените статью
Adblock
detector