XAUTH 4 dummies
Supponiamo di aver lanciato X come utente pippo.
Supponiamo di voler lanciare un certo programma come un altro utente
(nel nostro caso root) e allo stesso tempo vogliamo che tale
applicazione appaia sulla sessione X dell'utente pippo.
Per farlo occorre procedere nel seguente modo:
1) l'utente pippo entra in X
2) l'utente pippo apre un xterm
3) l'utente pippo esegue:
$ su root
4) l'utente pippo dopo essere diventato root esegue:
su $LOGNAME -c "xauth extract - $DISPLAY" | xauth merge -
Si puo' automatizzare la cosa, in modo che ogni volta che facciamo "su
root" da dentro X, automaticamente root ottenga le credenziali per poter
accedere alla sessione X dell'utente che ha eseguito su.
Per farlo e' sufficiente aggiungere a /root/.bashrc le seguenti righe:
if [ ! "$LOGNAME" = "root" ] && [ -n "$DISPLAY" ]; then
echo "Aggiungo credenziali per accedere alla sessione di $LOGNAME..."
su $LOGNAME -c "xauth extract - $DISPLAY" | xauth merge -
fi
