Załóżmy, że mam 2 konta użytkowników user1
i user2
. Kiedy loguję się jako user1
, a następnie przełączam na user2
używanie su
, mogę uruchamiać programy wiersza polecenia, ale programy GUI zawodzą.
Przykład:
user1@laptop:~$ su - user2
user2@laptop:~$ leafpad ~/somefile.txt
No protocol specified
leafpad: Cannot open display:
Jak mogę uruchomić aplikację GUI?
$XAUTHORITY
wciąż jest ustawiony na user1~/.Xauthority
, który program, jak sądzę, spróbuje odczytać, i nie powiedzie się, ponieważ ten plik zwykle ma tryb 0600 (-rw-------
), co oznacza, że jest niedostępny do czytania przez kogokolwiek z grupy „innej”, w tym użytkownika2. Oznacza to, żechmod o+r ~/.Xauthority
(jako użytkownik1) zhakujesz sobie drogę do rozwiązania tego problemu. Napisałem skrypt, który to pokazuje.