Допустим, у меня есть 2 учетных записи user1
и user2
. Когда я вхожу в систему как user1
, а затем переключаюсь на user2
использование su
, я могу выполнять программы командной строки, но программы GUI терпят неудачу.
Пример:
user1@laptop:~$ su - user2
user2@laptop:~$ leafpad ~/somefile.txt
No protocol specified
leafpad: Cannot open display:
Так как я могу запустить приложение с графическим интерфейсом?
$XAUTHORITY
он по-прежнему настроен на user1~/.Xauthority
, который, я полагаю, попытается прочитать программой, и не получится, поскольку этот файл обычно имеет режим 0600 (-rw-------
), то есть он недоступен для чтения кем-либо из группы «другие», в которую входит пользователь2. Это означает, что если выchmod o+r ~/.Xauthority
(как пользователь 1), вы решите эту проблему. Я написал сценарий, который демонстрирует это.