• Вместо
надо указать имя компьютера, за которым вы работаете, а вместо
— имя компьютера, на котором должна выполняться клиент-программа.
• Между add
и последующей косой чертой (/
) должен быть пробел. Эта команда передается утилите xauth
на клиентском компьютере, и пробел должен отделять add
от имени дисплея.
• Если конфигурация SSH предполагает ввод пароля либо фразы пароля, вам придется ввести соответствующие данные.
С этого момента X-сервер будет принимать обращения от X-клиентов, но, чтобы эти программы могли работать совместно, вам придется установить на клиентском компьютере опцию, позволяющую взаимодействовать с X-сервером (этот вопрос будет подробнее рассмотрен в следующем разделе). При установлении соединения клиент X Window обратится к файлу .Xauthorit
y за ключом, соответствующим серверу.
Поскольку работа xauth
основана на применении ключа, который известен только серверу и авторизованному клиенту, она обеспечивает более высокий уровень защиты, чем xhost
. Кроме того, при использовании xauth
доступ к серверу предоставляется только отдельным пользователям. X-сервер становится более устойчивым к атакам, осуществляемым путем подмены IP-адреса. Недостатком данного способа является передача ключей в незакодированном виде. Если локальная сеть не обеспечивает безопасность передаваемых данных либо если клиент с сервером взаимодействуют по Internet, ключ может быть похищен и злоумышленник получит доступ к X-серверу. Если при обмене данными в системе X Window необходимо обеспечить высокий уровень защиты, надо использовать SSH-соединение. Вопросы поддержки X-взаимодействия посредством SSH будут подробно рассмотрены в следующем разделе.
Не все X-серверы сконфигурированы для работы с xauth
. Соответствующая опция обычно устанавливается в том случае, когда X-сервер запускается посредством XDM, GDM или KDM. Если вы запускаете X-сервер с помощью startx
, поддержка xauth
в ряде систем будет отсутствовать. В некоторых случаях вам придется отредактировать сценарий startx
(он обычно располагается в каталоге /usr/X11R6/bin
) так, чтобы в нем присутствовала опция -auth
; в качестве файла авторизации обычно указывается файл .Xauthority
, находящийся в рабочем каталоге. Часто в редактировании startx
нет необходимости.
Настройка X-клиента для работы с Х-сервером
Независимо от того, используете ли вы xhost
или xauth
, вы должны сконфигурировать клиентскую систему для работы с нужным X-сервером. Если, например, вы работаете за компьютером term.threeroomco.com
, зарегистрировались на узле biggie.threeroomco.com
и хотите, чтобы программа использовала компьютер wrongone.threeroomco.com
в качестве X-терминала, вам не удастся сделать это. По умолчанию многие версии Linux сконфигурированы так, что даже если пользователь зарегистрировался с внешнего узла, они будут работать с локальным X-сервером.
При запуске X-программа читает значение переменной окружения DISPLAY
и определяет, какой X-сервер следует использовать. Чтобы определить текущее значение этой переменной, надо на компьютере, выполняющем роль X-клиента, вызвать следующую команду:
$ echo $DISPLAY
biggie.threeroomco.com:0.0
Если отображаемая с помощью этой команды строка (в данном случае biggie.threeroomco.com:0.0
) соответствует вашему серверу, вам не надо предпринимать никаких действий. (Первый дисплей обычно имеет номер 0 или 0.0; эти два значения эквивалентны.) Если же значение переменной DISPLAY
указывает на X-клиент или другую систему либо если оно вовсе не определено, вам надо задать новое значение данной переменной. Необходимая для этого команда выглядит следующим образом:
$ export DISPLAY=term.threeroomco.com:0
Очевидно, что имя узла должно определять ваш X-сервер. При последующих запусках X-программа будет пытаться взаимодействовать с указанным сервером. Чтобы эти попытки были успешными, вам надо настроить X-сервер для работы с X-клиентом, т.е. запустить программу xhost
, или создать запись xauth
для клиента.
Туннелирование X-соединений через SSH