В процессе работы xauth
.Xauthority, расположенный в рабочем каталоге пользователя. Этот файл должен находиться и на клиентской машине, и на сервере. Если данный файл отсутствует, xauth автоматически создает его. В отличие от большинства конфигурационных файлов Linux, .Xauthority не является текстовым файлом. Для изменения его содержимого используется утилита xauth. С помощью xauth можно добавлять, удалять ключи и выполнять с ними другие необходимые действия. Некоторые методы регистрации на удаленном сервере предполагают автоматическую проверку содержимого .Xauthority и добавление необходимого ключа. X-сервер принимает обращения от любого клиента, который обладает соответствующим ключом. (Поскольку .Xauthority содержится в рабочем каталоге пользователя, ключ генерируется тогда, когда данный пользователь регистрируется на компьютере или запускает X-программу. Различным пользователям могут соответствовать различные файлы .Xauthority.) Чтобы X-клиент мог работать с X-сервером, необходимо скопировать ключ из пользовательского файла .Xauthority на сервере в файл .Xauthority на клиентской машине. При обращении к серверу клиент автоматически использует этот ключ. Процедура передачи ключа описана ниже.1. На компьютере, на котором выполняется сервер X Window, введите команду xauth
xauth будет запущена от имени пользователя, который применит систему для взаимодействия с удаленным узлом. Несмотря на то что xauth формально является X-утилитой, она выполняется в текстовом режиме.2. Введите команду list
.Xauthority. Каждый ключ начинается с имени дисплея, которое представляет собой имя узла, а за ним следует номер дисплея, например term.threeroomco.com:0. Имена некоторых компьютеров сопровождаются символами /unix, кроме того, по команде list будут также выведены записи для localhost. Оба типа записей можно не принимать во внимание. В некоторых записях номера дисплеев будут отличаться от 0. Эти записи соответствуют второму, третьему и последующим сеансам работы с X-сервером, которые поддерживаются одновременно с первым сеансом. Вас интересует имя основного дисплея? Вероятнее всего, оно будет состоять из имени вашего компьютера, за которым следует номер 0. После имени дисплея в строке будут отображаться также тип кодировки (например, MIT-MAGIC-COOKIE-1) и 32-байтовое шестнадцатеричное число. Несмотря на то что эти данные предназначены для передачи, их можно не учитывать.3. Введите команду extract
extract xfer-auth term.threeroomco.com:0. В результате запись файла .Xauthority для дисплея будет скопирована в указанный файл. Файл используется для передачи ключа на клиентский компьютер.4. Введите команду exit
xauth.5. Скопируйте файл, созданный при выполнении команды extract
6. Зарегистрируйтесь на компьютере, выполняющем функции X-клиента.
7. Задайте команду xauth
xauth на клиентской машине.8. Введите команду merge
extract и скопировали на клиентский компьютер. (Возможно, вам придется указать путь к файлу.)9. Задайте команду list
10. Введите команду exit
xauth и сохранить внесенные изменения. (Заметьте, что в xauth также предусмотрена команда quit, которая не сохраняет изменения. Команду quit надо использовать в том случае, если при выполнении данной процедуры были допущены ошибки.)Если на обоих компьютерах инсталлированы средства SSH, вы можете вместо описанной выше процедуры выполнить единственную команду.
# xauth list
В данном случае xauth
sed используется для включения команды add в начало выходных данных, кроме того, утилита xauth запускается также на стороне X-клиента. При вызове данной команды необходимо учитывать следующее.