X в стиле ][

Xakep, номер #043, стр. 043-060-1


Ставим и настраиваем систему X-Window!

Toxa (Toxa@real.xakep.ru)

Ты любишь консоль? Конечно, любишь. Это гибкий, удобный инструмент управления

системой. Бесспорно, vi, lynx и BitchX - самые удобные программы на свете, а

bash - самая удобная на свете оболочка. Но так думают далеко не все. И правильно

делают, потому что, даже учитывая все вышесказанное, постоянно чувствовать себя

живущим в семидесятых годах (время зарождения Unix'а), в то время как в

соседских окнах вовсю щелкают мышкой и превозносят GUI & Point'n'click interface,

- та еще радость. А выход между тем простой - плюнуть в эти окна, задвинуть

шторы и поставить на свою машину X-Window system (или, по-нашему, «иксы»). Этим

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

Ликбез

Но для начала - справка для самых маленьких. Как известно, в операционной

системе Windows GUI (то бишь Graphical User Interface) встроен прямо в ядро,

что, безусловно, повышает производительность графической оболочки (так как

графическая система постоянно работает на уровне ядра, ибо в этом ядре

заключена), но резко понижает стабильность системы (крах отдельного приложения

вызовет крах всей системы, если же говорить об WinNT - там все несколько иначе,

система, может, и останется жить, но поглючит вдоволь :). В Unix-системах же

графическая оболочка (X-Window) запускается и работает как отдельное приложение,

то есть на пользовательском уровне. Это, конечно, медленнее, чем маздайный GUI

(чтобы совершить операцию, скажем, по созданию нового окошка, процессу нужно

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

контекст ядра и затем снова вернуться в пользовательский режим), так что не жди

от навороченных графических оболочек типа KDE или GNOME такой же быстроты

работы, как GUI в виндах. Зато - и это несомненный плюс - ни одно графическое

приложение никоим образом не может повесить систему, т.к. ты всегда можешь убить

иксы (для системы они - лишь отдельный процесс, которых много) и тут же

перезапустить их, случись что нехорошее. Ты спросишь, а как все это дело

управляется? А управляется это приложением под названием X-сервер, он отвечает

за быстроту действий, прорисовку окон, взаимодействие с видеокартой и т.п. Так

что под словами «убить иксы» я как раз и подразумевал убиение X-сервера.

Наконец, почему - «сервер»? Этот вопрос корнями уходит в историю Unix'а. Как ты

знаешь, это ведь в первую очередь сетевая система, и в период ее развития, когда

встал вопрос о графическом пользовательском интерфейсе, было решено и здесь не

отходить от сетевой концепции, реализовав его в рамках «сервер-клиент»: на

мощном центральном компьютере устанавливался X-сервер, а на несколько терминалов

(т.е. workstations) - только клиенты. И вся основная работа по обсчитыванию

прорисовки графики и т.п. выполнялась на главном сервере, а клиентам отсылался

по сети лишь результат на их дисплеи, что позволяло рабочим станциям тратить

минимум ресурсов на GUI, а серверу - обслуживать сразу несколько машин. У тебя

же сервер и клиент как бы реализованы на одной тачке, но понятие "X-сервер" так

Содержание  Вперед на стр. 043-060-2