Большинство дистрибутивных пакетов Linux позволяет после установки операционной системы на компьютер установить требуемую конфигурацию X-сервера. Этот сервер может использоваться для поддержки доступа локального компьютера к средствам отображения. Такая конфигурация позволяет одному и тому же компьютеру выступать в роли как клиента, так и сервера X Window, т.е. на компьютере, выступающем в роли X-сервера (рис. 14.1), могут выполняться свои X-программы. X-сервер в системе Linux может также применяться для взаимодействия с X-клиентами, выполняющимися на других компьютерах. Для того чтобы подобное взаимодействие стало возможным, надо выполнить несколько команд, которые будут описаны далее.
Для того чтобы компьютер выполнял роль X-клиента, дополнительное программное обеспечение не требуется; клиентами X Window являются сами программы, которые запускаются в системе. В большинстве случаев этим клиентам в процессе работы требуются различные графические библиотеки, например Qt или GTK+. При инсталляции программ в системах, базирующихся на RPM или Debian, вы получите информацию о том, какие библиотеки нужны им для работы. Теоретически вам нет необходимости устанавливать X-сервер на компьютере, выполняющем роль клиента, однако на практике проще сделать это, так как из-за взаимной зависимости пакетов вам все равно приходится инсталлировать большинство компонентов X Window. X-сервер представляет собой отдельную программу, обеспечивающую интерфейс с монитором, мышью, клавиатурой и другими устройствами. Наличие локального X-сервера упрощает проверку X-программ. Для того чтобы программные средства X-сервера вступили в действие, надо запустить X-программу либо локально, либо на удаленном компьютере.
Настройка X-сервера для взаимодействия с X-клиентом
Подобно другим типам серверов, сервер X Window отвечает на запросы клиентов. В большинстве дистрибутивных пакетов Linux по умолчанию не предусмотрена работа в качестве X-терминала; считается, что компьютер будет выполнять функции рабочей станции или сервера, поддерживающих другие протоколы. Поэтому, чтобы использовать компьютер под управлением Linux как X-сервер для программ, выполняющихся на других узлах сети, необходимо изменить конфигурацию системы. Сделать это можно двумя способами: с помощью программ xhost
и xauth
.
xhost
Программа xhost
позволяет указанному при ее вызове удаленному компьютеру обращаться к X-серверу. Для того чтобы воспользоваться данной программой, надо в окне xterm
или другом окне, поддерживающем командную строку, ввести следующую команду:
$ xhost +biggie.threeroomco.com
В результате ее выполнения X-сервер получает указания о том, что он должен принимать обращения от компьютера biggie.threeroomco.com
. Любой пользователь, работающий на этом компьютере, сможет использовать X-сервер для отображения окон, получать данные, введенные с клавиатуры, принимать информацию о перемещениях мыши и выполнять другие действия с удаленными системами отображения. Если вы не укажете имя узла (а ограничитесь лишь вводом команды xhost +
), X-сервер будет принимать обращения от любого источника.
Большинство X-серверов для Windows, MacOS и других систем настроены так, что с ними может взаимодействовать любой узел сети. В системе Linux подобная конфигурация задается посредством команды xhost +
.
Программа xhost
проста и удобна в применении, но использовать ее можно лишь в той сети, в которой не требуются высокоуровневые средства защиты. Дело в том, что xhost
не предпринимает попыток идентификации пользователей, работающих на удаленных компьютерах. Если доступ к серверу разрешен для узла сети, его автоматически получают все пользователи на этом узле. Любой пользователь удаленного компьютера может открывать окна на X-сервере и даже читать символы, вводимые с клавиатуры. Для ограничения доступа пользователей к X-серверу может быть использована программа xauth
.
xauth
Программа xauth
обеспечивает средства аутентификации, скрытые от пользователя. Данная утилита автоматически применяется при регистрации в системе X Window, но при желании вы можете вызывать ее вручную. Несмотря на то что программа xauth
менее удобна в работе, чем xhost
, она обеспечивает более высокий уровень защиты.