Patrick Dupre wrote:
>Bonsoir,
>
>Lorsque sous mon compte je me loggue en root, je peux lancer une application X
>sans probleme, lorsque depuis root je me loggue sous un autre utilisateur
>je ne peux pas lancer d'application X, je recupere le message:
>Xlib: connection to ":0.0" refused by server
>
>comment regler ce petot probleme ?
>Merci.
>
>
>
Quand tu te loggues en root depuis ton compte, la variable
d'environnement "XAUTHORITY" qui contient le chemin d'acces du fichier
".Xauthority" est transmise et donc root utilise le meme fichier
".Xauthority" que ton login. Comme root a tous les droits il peut lire
la clef correspondante a ta connection X, il peut donc afficher une appli X.
Par contre lorsque tu fais : "su toto" depuis root l'utilisateur "toto"
n'a pas le droit de lire le fichier .Xauthority de root !!
Donc 'toto" ne peut pas lancer appli X.
Solution :
Transmettre la clef correspondante de ta session X a l'utilisateur pour
lequel tu veux valider l'affichage d'appli X.
Exemple, login root sur la machine cartoon
root@cartoon:> xauth list cartoon/unix:0 "-->recuperation la clef
de la session X de root:"
cartoon/unix:0 MIT-MAGIC-COOKIE-1 e45f4d78012sd154ae5af6547604d11b
Maintenant tu change pour l'utilisateur "toto" :
root@cartoon:> su toto
Et tu ajoute la clef de session X de root a l'utilisateur "toto":
toto@cartoon:> xauth add cartoon/unix:0 MIT-MAGIC-COOKIE-1
e45f4d78012sd154ae5af6547604d11b
toto@cartoon:> xcalc --> l'affichage se fait correctement
PS: evites d'utiliser la technique "xhost", il vaut mieux par securite passer par "xauth" et les clef de session Xauthority.
Patrice
--
Cordialement,
Patrice.Navarro@???