Что такое файл .Xauthority?

45

У меня была проблема, из-за которой я не смог пройти мимо экрана входа в Ubuntu 12.04. Несмотря на то, что я дал правильное имя пользователя и пароль, он все равно вернулся на экран входа в систему. Я нашел решение, в котором я изменил владельца .Xauthorityв моей домашней папке.

Вот шаги, которые я использовал:

  1. Ctrl+ Alt+ F1когда я на экране входа в систему.
  2. Измените собственность, .Xauthorityкоторой ранее владел ROOT, выполнив:

    chown username:username .Xauthority
    

Что это за .Xauthorityфайл в первую очередь? Почему смена владельца файла решает мою проблему невозможности войти в систему?

chanHXC
источник
Судо -H Наутилус не работает с 17.10. Жаль, что не было реального ответа, как создать .Xauthority, когда ни один не существует.
Видиман

Ответы:

49

.Xauthority(Не .xAuthority) файл можно найти в каждом домашнем каталоге пользователя и используется для хранения учетных данных в куки , используемых xauthдля аутентификации X сеансов. После запуска сеанса X cookie используется для аутентификации соединений с этим конкретным дисплеем. Вы можете найти больше информации об аутентификации X и полномочиях X на xauthстраницах руководства (введите man xauthв терминале).

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

Эта ситуация обычно возникает, когда вы запускаете приложение с графическим интерфейсом (например, nautilus ) с правами root путем ввода sudo nautilus. Вы можете избежать этого (для 12.10 и более старых версий), вызвав приложение с помощью gksudo nautilusили в любой версии, использующей sudo -H nautilus.

Раду Рэдяну
источник
Спасибо за объяснение. Очень признателен. если я не ошибаюсь, gksudo гораздо предпочтительнее для вызова команды, которая, вероятно, открывает программу, для которой требуется графический интерфейс. Каким образом выполнение sudo вместо gksudo плохо работает в вашей системе?
chanHXC
да, спасибо еще раз. Я уже отметил ответ. :)
chanHXC