Несмотря на то что в консоли работать можно (а иногда и нужно), большинство пользователей предпочитает графический интерфейс. Самый прагматичный подход, как водится, лежит где-то посередине. Для решения одних задач лучше подходит текстовый режим, других — многооконный. А предназначение системы — дать пользователю возможность выбирать между первым и вторым.

XWindow (именно Window, а не Windows: обратите на это внимание) — графическая среда для UNIX-систем. В ее основу легла клиент-серверная модель, только реализована она в пределах одной рабочей станции. Для передачи данных используется специальный протокол сетевой связи (X Network Protocol).

Первоначальный вариант XWindow был создан еще в 1987 г. Таким образом, считать, что Linux концепцией своего графического интерфейса только эксплуатирует идею, поданную Microsoft, неправильно. Другое дело, что корни Linux лежат очень глубоко, несмотря на то что эта ОС относительно молода. Традиции UNIX не позволяли навязывать пользователю какую-то одну концепцию, вследствие чего оконный режим востребован ровно настолько, насколько это соответствует реальным потребностям потребителя. Развитие свободного ПО идет по всем направлениям, поэтому успех какого-то одного не так бросается в глаза. Впрочем, именно многогранность и следует считать основным достоинством OpenSource.

Сама по себе система XWindow не является тем, что принято называть графическим интерфейсом пользователя. “Иксы” (так именуют XWindow в обиходе) — лишь его составная часть, которая не формирует изображение, а только предоставляет другим программам средства для работы с видеоподсистемой. X-сервер, запущенный “в чистом виде”, продемонстрирует пользователю серый экран, и на нем не будет ничего, кроме курсора мыши.

Кстати, этого более чем достаточно для работы одного приложения, нуждающегося в графическом интерфейсе. Например, довольно популярный в недавнем прошлом LiveCD MoviX вообще обходился без оконного менеджера (программы, отвечающей за отображение окон и предоставляющей пользователю механизм работы с ними), поскольку предназначался для запуска мультимедийного проигрывателя Mplayer и ни для чего более.

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

В большинстве случаев

За настройку XWindow отвечает файл /etc/X11/xorg.conf. Он состоит из секций вида:

Section “Название секции”

Identifier “имя”

...

EndSection

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

Секция ServerLayout содержит общую информацию о физических устройствах видеоподсистемы. Она имеет самый высокий приоритет — именно с нее система начинает анализ файла. В этой секции описывается оборудование, отвечающее за ввод информации и ее вывод.

В секции Files система ищет информацию о необходимых для работы XWindow файлах и путях к ним. Именно тут перечисляются все каталоги со шрифтами, используемыми в графическом режиме.

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

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

А может быть, пользователям просто лень разбираться в баобабообразных меню, если речь идет о редактировании всего двух строк в одном-единственном файле. Судите сами. Если вдруг вы обнаружите, что точка с запятой находятся на цифровой панели клавиатуры, а не слева внизу от кнопки Enter, а раскладки переключаются не одновременным нажатием на Ctrl и Shift, а непонятно как, то самый простой путь — внести изменения в файл xorg.conf.

Нужная нам информация находится в секции InputDevice, описывающей устройство с идентификатором Keyboard0. Строки, указывающие, что в системе используются две раскладки — английская и русская (winkeys), переключение между которыми производится привычным для пользователя Windows способом, должны выглядеть так:

Option “XkbLayout” “us,ru(winkeys)”

Option “XkbOptions” “grp:ctrl_shift_toggle,grp_led:scroll”

Параметр led:scroll указывает, что индикатором переключения будет служить лампочка включения режима скроллинга, которая все равно не используется. А если вы считаете, что переключать раскладки двумя клавишами не очень удобно, то замените grp:ctrl_shift_toggle на caps_toggle, и доселе “лишняя” клавиша Caps Lock получит оправдание для своего существования.

Секция Device нужна для описания видеоадаптеров. Там явным образом указывается название используемого драйвера, поэтому самый простой способ получить информацию об этом модуле — посмотреть содержимое xorg.conf.

Например, на вашей машине установлена видеокарта nVidia и вы сомневаетесь, что система использует фирменный драйвер, поддерживающий трехмерную графику. Откройте конфигурационный файл и посмотрите параметр Driver секции Device. Если его значение — “nvidia”, то ваши сомнения напрасны, а если — “nv”, то они имеют под собой все основания.

В секции Monitor перечисляются характеристики монитора. При необходимости таких блоков может быть несколько, тем более что для показа режимов работы дисплея имеется другая секция. Она называется Screen, и в ней описываются настройки дисплея, работающего под управлением графического адаптера, идентификаторы которых указываются в строках Device и Monitor. Это хорошо видно из следующего примера:

Section “Screen”

Identifier “Screen0”

Device “Card0”

Monitor “Monitor0”

В данном случае задаются настройки графической подсистемы для видеокарты и монитора, обозначенных в секциях идентификаторами Card0 и Monitor0 соответственно. Раздел Screen устроен очень просто — в нем перечислены все разрешенные режимы работы.

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

Пользователям Linux XP следует запустить “Центр настройки”, где в разделе оборудования есть опция “Настройка видеосистемы”. В открывшемся окне ему предстоит выбрать модели видеоадаптера и дисплея. Со вторым всё довольно просто — достаточно знать тип монитора и поддерживаемые им разрешения. Конкретную модель указывать не нужно.

С видеокартой дела обстоят несколько сложнее. Выбирать из списка придется не по названию модели, а по имени драйвера. Что же делать пользователю, который не знает, как именно разработчики назвали модуль. Выход один: в общем случае внимательно просмотреть все предлагаемые программы и прочитать краткие пояснения к каждой из них.

Традиционно функционально богатый инструмент предлагает пользователю дистрибутив SuSE. В центре управления YAST есть раздел “Оборудование”, где и можно найти соответствующую утилиту. Она позволит задать нужное разрешение экрана, раскладку клавиатуры и настроить некоторые дополнительные устройства — планшет и сенсорный дисплей. Для выбора драйвера графической платы пользователю придется воспользоваться программой обзора оборудования, также входящей в состав YAST.

В дистрибутивах Fedora и ASPLinux конфигуратор графического режима находится в разделе “Администрирование”. Список поддерживаемых видеоадаптеров и мониторов достаточно широк — то, что пользователь найдет свою модель, практически гарантировано. В отдельной вкладке настраивается режим работы с двумя мониторами.

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

Напоследок -- несколько важных замечаний. Существуют дистрибутивы, которые при неверной настройке графического режима сами пытаются загрузить заведомо работоспособную конфигурацию. Однако рассчитывать на это не следует. Лучше заранее принять необходимые меры предосторожности.

Во-первых, перед началом работы по настройке видеорежима сделайте резервную копию файла xorg.conf. Если что-то пойдет не так, как планировалось, то всегда можно будет восстановить предыдущую конфигурацию из консоли и запустить XWindow командой startx.

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

В-третьих, большинство современных дистрибутивов автоматически создают конфигурационный файл, позволяющий получить если не оптимальные, то вполне приемлемые параметры графической подсистемы. А как известно, лучшее — враг хорошего. Не стоит сразу пытаться починить то, что и не ломалось.

* Продолжение цикла “Linux для начинающих” (начало см. в PC Week/RE, № 36—41 за 2007 г.)