Diciamo che ho 2 account utente user1
e user2
. Quando eseguo il login come user1
, e poi user2
utilizzo 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.