Habituellement, je le fais sur ssh pour get une application X en utilisant sudo su
ssh -X server
Identifiant OKI
xauth list $DISPLAY
qui revient à moi
server/unix:10 MIT-MAGIC-COOKIE-1 blablablablabla
Alors je fais
sudo su xauth add server/unix:10 MIT-MAGIC-COOKIE-1 blablablablabla
Et après avoir exécuté une application X .. Je comprends, c'est correct.
Le problème est sur Centos7, je fais
xauth list $DISPLAY
Et ça ne rapporte rien. J'essaie d'append des cookies magiques MIT donnés par
xauth list
Mais bien sûr, cela ne fonctionne pas. Le X-forwarding normal via ssh, sans sudo fonctionne.
Les parameters de sshd sont les mêmes sur 3 servers:
Une autre solution consiste à merge le file .Xauthority de l'user actuel avec celui de l'user root.
ssh user@host
sudo su - root
xauth merge /home/users/user/.Xauthority
Tester
gedit somefile.log
Il devrait ouvrir une window gedit.
Solution trouvée. Une méthode alternative copiée à partir de ce blog Utilisation de ce script
userfirst=sshloginuser usersecond=sudoorsuuser $usersecond@host$ su - $userfirst -c 'xauth list' |\ grep `echo $DISPLAY |\ cut -d ':' -f 2 |\ cut -d '.' -f 1 |\ sed -es/^/:/` |\ xargs -n 3 xauth add
Ou simplement la consignation en tant qu'user1
xauth list
su ou sudo su user2
xauth add OUTPUTOFXAUTHLIST