Diciamo che ho 2 account utente user1e user2. Quando eseguo il login come user1, e poi user2utilizzo su, posso eseguire i programmi della riga di comando, ma i programmi della GUI falliscono.
Esempio:
user1@laptop:~$ su - user2
user2@laptop:~$ leafpad ~/somefile.txt
No protocol specified
leafpad: Cannot open display:
Quindi, come posso eseguire un'applicazione GUI?
$XAUTHORITYè ancora impostato su user1~/.Xauthority, che il programma, immagino, proverà a leggere, e fallisce perché quel file ha in genere la modalità 0600 (-rw-------), il che significa che non è disponibile per la lettura da parte di chiunque nel gruppo "altro", che include user2. Significa che sechmod o+r ~/.Xauthority(come utente1), avrai violato questo problema. Ho scritto una sceneggiatura che lo dimostra.