Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal
Графическая система X-Windows для своих нужд использует Х-протокол, который был разработан в середине 1980-го года для обеспечения прозрачного сетевого доступа к графическому интерфейсу пользователя и был ориентирован преимущественно на операционный системы семейства UNIX. Х-протокол предоставляет управление графической информацией подобно другим альтернативным системам, наиболее известными из которых являются Microsoft Windows и Presentation Manager компании IBM.
Главное отличие Х-протокола от упомянутых схожих разработок заключается в том, что он не ограничивает использование графического интерфейса только локальным компьютером, наоборот, Х-протокол изначально разрабатывался для предоставления доступа удаленным сетевым клиентам в архитектуре клиент-сервер. Графический интерфейс пользователя согласно Х-протоколу как бы разделяется на две части: одна часть уровня приложения, которую принято называть Х-клиентом, и вторая часть уровня сервера – Х-сервер. Исходя из такого подхода, приложения, которые используют в своей работе Х-протокол, могут работать по такой схеме: Х-клиент запускается на удаленной машине, а графическая информация передается локальному Х-серверу, который, в свою очередь, и отображает ее пользователю.
Для обеспечения масштабируемости и переносимости системы X-Windows на различные аппаратные платформы Х-протокол состоит из 2-х уровней: аппаратно-независимого и аппаратно-зависимого (см. рис. 3.1). Такая структурная схема позволяет вносить изменения только в одну часть программного комплекса (аппаратно-зависимый уровень) при переносе его на новую аппаратную основу.
Рис. 3.1. Два уровня Х-протокола
Х-протокол устанавливает клиент-серверные отношения между приложением и дисплеем (конечным интерфейсом пользователя). Такой подход позволяет приложению (Х-клиенту) дистанционироваться от дисплея (Х-сервера). Х-протокол определяет также общий оконный пользовательский интерфейс в сочетании с асинхронной передачей информации через локальную сеть между Х-клиентом и Х-сервером. В результате конечный пользователь имеет практически полное отделение аппаратно-зависимого уровня и особенностей реализации операционной системы от графического пользовательского интерфейса. Тем самым Х-протокол скрывает аппаратный уровень от реализации Х-клиента, что значительно облегчает его разработку и способствует легкому портированию Х-клиентов. Схематически структуру работы Х-протокола для конечного пользователя и разработчика можно представить, как изображено на рис. 3.2.
Рис. 3.2. Схема работы Х-протокола между Х-клиентом и Х-сервером
Как видно на схеме, такой подход обеспечивает важные преимущества:
Конечно Х-протокол далеко не идеален, и его использование сопряжено с целым рядом сложностей, которые и привели к появлению таких графических надстроек как Qt и Gtk. Сказывается и почтенный возраст X-Windows, так как зарождаясь на заре появления графических интерфейсов, она разумеется не могла досконально отобразить потребности современного пользователя компьютера.
Следует также сказать, что X Window System - один из самых больших и успешных проектов в истории компьютерной техники. Исторически сложилось, что два разработчика систем компьютерной графики – проект Athena (MIT) и W Windowing (Стэнфорд) - решили объединить свои усилия. В 1987 году официальным разработчиком системы стал X Consortium, который позже был переименован в X Open Group (официальный сайт проекта http://www.x.org).