Qu'est-ce que le fichier .Xauthority?

45

J'ai eu un problème qui empêchait de passer l'écran de connexion dans Ubuntu 12.04. Même si j'ai donné le nom d'utilisateur et le mot de passe corrects, il est quand même revenu à l'écran de connexion. J'ai trouvé une solution dans laquelle j'ai changé la propriété du .Xauthoritydans mon dossier personnel.

Ce sont les étapes que j'ai utilisées:

  1. Ctrl+ Alt+ F1quand je suis dans l'écran de connexion.
  2. Changez la propriété de .Xauthorityce qui était auparavant la propriété de ROOT en exécutant:

    chown username:username .Xauthority
    

Quel est ce .Xauthorityfichier en premier lieu? Pourquoi la modification de la propriété du fichier corrige-t-elle le problème de mon incapacité à me connecter?

chanHXC
la source
sudo -H nautilus ne fonctionne pas avec 17.10. Souhait qu'il y ait une vraie réponse pour créer .Xauthority quand il n'en existe pas.
vidiman

Réponses:

49

Le fichier .Xauthority(non .xAuthority) se trouve dans le répertoire de base de chaque utilisateur et est utilisé pour stocker les informations d'identification dans des cookies utilisés par xauthpour l'authentification des sessions X. Une fois qu'une session X est démarrée, le cookie est utilisé pour authentifier les connexions à cet affichage spécifique. Vous trouverez plus d’informations sur l’authentification X et l’autorité X dans les xauthpages de manuel (saisissez man xauthun terminal).

Donc, si vous n'êtes pas le propriétaire de ce fichier, vous ne pouvez pas vous connecter car vous ne pouvez pas y stocker vos informations d'identification.

Cette situation se produit généralement lorsque vous exécutez une application d'interface graphique (par exemple, nautilus ) avec des autorisations root en tapant sudo nautilus. Vous pouvez l'éviter (pour les versions 12.10 et antérieures) en appelant l'application avec gksudo nautilusou dans n'importe quelle version à l'aide de sudo -H nautilus.

Radu Rădeanu
la source
Merci pour l'explication. Très appréciée. si je ne me trompe pas, gksudo est de loin préféré pour appeler une commande qui ouvre probablement un programme nécessitant une interface graphique. En quoi exécuter sudo au lieu de gksudo nuit-il à votre système?
chanHXC
oui merci encore. J'ai déjà marqué la réponse. :)
chanHXC