Angenommen, ich habe 2 Benutzerkonten user1
und user2
. Wenn ich mich als anmelde user1
und dann auf user2
using umschalte su
, kann ich Befehlszeilenprogramme ausführen, aber GUI-Programme schlagen fehl.
Beispiel:
user1@laptop:~$ su - user2
user2@laptop:~$ leafpad ~/somefile.txt
No protocol specified
leafpad: Cannot open display:
Wie kann ich eine GUI-Anwendung ausführen?
$XAUTHORITY
immer noch user1 gesetzt ist~/.Xauthority
, was das Programm vermutlich versucht zu lesen, und dass dies fehlschlägt, da diese Datei normalerweise den Modus 0600 (-rw-------
) hat, was bedeutet, dass sie nicht verfügbar ist zum Lesen durch irgendjemanden in der "anderen" Gruppe, zu der user2 gehört. Das heißt, wenn Siechmod o+r ~/.Xauthority
(als Benutzer1), haben Sie sich um dieses Problem gehackt. Ich habe ein Skript geschrieben , das dies demonstriert.