При попытке SSH на хост я получил следующее сообщение от xauth
:
/ usr / bin / xauth: время ожидания в файле прав доступа блокировки /home/sam/.Xauthority
ПРИМЕЧАНИЕ. Я пытался удаленно отобразить графический интерфейс X11 через соединение SSH, поэтому мне нужно xauth
было иметь возможность $HOME/.Xauthority
успешно создать файл, но, как указывалось в этом сообщении, это явно не так.
Попытки запустить любые приложения на основе X11, такие как xeyes
приветствовались с этим сообщением:
$ xeyes
X11 connection rejected because of wrong authentication.
Error: Can't open display: localhost:10.0
Как я могу решить эту проблему?
Ответы:
Запуск
strace
в удаленной системе, гдеxauth
происходит сбой, покажет вам, что происходитxauth
.Например
Так
xauth
пытается открыть файл, и он уже существует. Файл виновника есть/home/sam/.Xauthority-c
. Мы можем подтвердить наличие этого файла в удаленной системе:Исправление
Как оказывается. Эти файлы являются блокирующими файлами
.Xauthority
, поэтому простое их удаление решает проблему.После удаления файлов выйдите из SSH-соединения, а затем снова подключитесь. Это позволит
xauth
повторно выполнить успешно.Теперь мы можем запускать
xauth list
и приложения X11 без проблем.GUI
Альтернативный метод решения проблемы
Я наткнулся на этот пост под названием: xauth: ошибка в файле авторизации блокировки .Xauthority [linux, ssh, X11], в котором упоминается использование
xauth -b
для взлома любых файлов блокировки, которые могут зависать.xauth
Справочная страница, кажется, подтверждает это:Ссылки
источник
lsof
. Я видел их раньше, но не могу вспомнить где. Я думал, что вы и я обсуждали их раньше, но не смогли найти упоминаний о них на сайте.root:root
вместоuser:user
. Зафиксированоchown user:user /home/user
.Корень проблемы может заключаться в том, что у вас нет разрешения на запись в каталог $ HOME.
Вот почему я получил это сообщение:
Вот как я проверил разрешение:
Если это проблема, то вы должны быть уверены, что у вас есть права на запись в $ HOME:
источник
У меня есть другой ответ на вопрос, который мучил меня, прежде чем я выясню проблему. Проблема заключается в ошибке в ОС Fedora и ее производных, как я позже выяснил. Если проблема не указана в принятом ответе, и / или вы не используете Fedora, RedHat, Korora и т. Д., То это вам не поможет.
Проблема
Как сказал пользователь slm, запуск strace покажет вам проблему, но в данном конкретном случае ошибка будет другой:
Чтобы было ясно, это говорит о том, что EACCES возвращает код, который запрещен. Это отличается от проблемы пользователя slm, где у него был код возврата EEXIST, что означает, что файл существует. Итак, для кода возврата EACCES, очевидно, первое, что вы проверяете: настроены ли мои домашние разрешения, чтобы я мог писать в свой домашний каталог? Сначала вы должны убедиться, что в вашем домашнем каталоге есть флаг записи для вашего собственного пользователя. Если вы это сделаете, то вы можете стать жертвой ошибки, описанной ниже.
Ошибка
Через пару поисков в Google я наконец смог найти кого-то с подобной проблемой, и это привело меня к сообщению об ошибке в Fedora. Для тех из вас, кто хочет прочитать об этом: https://bugzilla.redhat.com/show_bug.cgi?id=772992
Обходной путь
Обходной путь к проблеме:
Когда вы снова включите SSH, все будет хорошо, и вы сможете снова успешно перенести X-сессию.
РЕДАКТИРОВАТЬ (и другие альтернативные обходные пути):
Чтобы быть как можно более полными, другие пользователи указывали в отчете об ошибке, что приведенное выше исправление не работает для них - оно работает для меня. Другая попытка обойти проблему была (я не проверял этот обходной путь лично):
Другой человек упоминает кое-что о GDM, о котором я ничего не знаю. Если это относится к вам, я рекомендую прочитать его пост в BugZilla и посмотреть, что его комментарий что-то значит для вас.
источник
Конфигурация SELinux - самое первое, что нужно проверить, с ...
или
Если для конфигурации SELinux установлено значение «Enforcing», это может вызвать проблему «xauth» .
Вы можете временно установить его в «разрешающий» режим следующим образом (чтобы можно было исключить эту проблему как основную причину проблемы) .
Затем следуйте инструкциям SELinux, чтобы установить правильную конфигурацию или отключите ее, если вы предпочитаете другой метод защиты (f.ex.by, отредактировав файл конфигурации / etc / selinux / config в RHEL v.6)
источник