Co to jest plik .Xauthority?

45

Miałem problem polegający na tym, że nie mogłem przejść obok ekranu logowania w Ubuntu 12.04. Mimo że podałem prawidłową nazwę użytkownika i hasło, wróciło ono do ekranu logowania. Znalazłem rozwiązanie, w którym zmieniłem własność .Xauthorityfolderu domowego.

Oto kroki, które zastosowałem:

  1. Ctrl+ Alt+ F1kiedy jestem na ekranie logowania.
  2. Zmień własność, .Xauthorityktórej wcześniej właścicielem była ROOT, wykonując:

    chown username:username .Xauthority
    

Czym jest ten .Xauthorityplik? Dlaczego zmiana właściciela pliku rozwiązuje problem braku możliwości zalogowania się?

chanHXC
źródło
sudo -H nautilus nie działa z 17.10. Chciałbym, aby istniała prawdziwa odpowiedź na pytanie, jak utworzyć .Xauthority, gdy nie istnieje.
vidiman

Odpowiedzi:

49

Plik .Xauthority(nie .xAuthority) znajduje się w każdym katalogu osobistym użytkownika i służy do przechowywania poświadczeń w plikach cookie używanych xauthdo uwierzytelniania sesji X. Po uruchomieniu sesji X plik cookie służy do uwierzytelniania połączeń z tym konkretnym wyświetlaczem. Więcej informacji na temat uwierzytelniania X i uprawnień X można znaleźć na xauthstronach podręcznika (wpisz man xauthterminal).

Jeśli więc nie jesteś właścicielem tego pliku, nie możesz się zalogować, ponieważ nie możesz tam przechowywać swoich danych logowania.

Taka sytuacja zwykle pojawia się, gdy uruchamiasz aplikację GUI (na przykład nautilus ) z uprawnieniami administratora poprzez wpisanie sudo nautilus. Możesz tego uniknąć (dla wersji 12.10 i starszych), wywołując aplikację za pomocą gksudo nautiluslub w dowolnej wersji używającej sudo -H nautilus.

Radu Rădeanu
źródło
Dziękuję za wyjaśnienie. Bardzo mile widziane. jeśli się nie mylę, gksudo jest znacznie preferowane do wywoływania polecenia, które prawdopodobnie otwiera program, który wymaga interfejsu graficznego. W jaki sposób wykonywanie sudo zamiast gksudo źle wpływa na twój system?
chanHXC
tak, jeszcze raz dziękuję. Już zaznaczyłem odpowiedź. :)
chanHXC