Войдите в систему как другой пользователь, имеющий возможность графического интерфейса

Использование Ubuntu 14.04 с Unity. Я вхожу с моим обычным пользователем (администратором) в графическом окружении. После входа в систему я хотел бы запускать GUI-команды, как если бы я был другим пользователем (обычным), для тестирования клиент-серверного приложения. Мне нужно несколько пользователей (один для сервера, а другой для каждого клиента), потому что каждому из них нужна своя $HOME среда. В дальнейшем их предполагается устанавливать на отдельных машинах.

Итак, я открываю терминал и делаю:

su - user 

Когда я запускаю любую команду с графическим интерфейсом (например, «xterm»), она сообщает обычное значение

Протокол не указан
Не удается открыть дисплей:

Я прочитал несколько способов решить эту проблему, используя xauth, xhost и т. Д., Но тот, который работал для моих целей, был:

admin# sudo cp ~/.Xauthority ~user/. 
admin# sudo chown user ~user/.Xauthority
admin# su - user

user$ export XAUTHORITY=~/.Xauthority

Теперь я могу запустить любую команду с графическим интерфейсом, например xterm.

Однако это решение работает только в рамках одного сеанса GUI. После перезагрузки компьютера файл .Xauthority изменился, и это решение больше не действует, если только я снова не скопирую .Xauthority, что утомительно и включает в себя команды sudo для копирования.

Итак, есть ли способ сделать его постоянным в .bashrc или каким-то другим способом? Я имею в виду, что как только я открою терминал из GUI и войду в систему с помощью su - <user>, он сможет выполнять команды, для которых требуется GUI, без необходимости выполнять все предыдущие действия.

Извините за английский. [+1121]

3
задан 14 June 2016 в 22:11

1 ответ

Можно использовать вход в систему локальной сети (ssh) вместо su. Опция -X позволит передать X соединений:

ssh -X username@localhost

, Чтобы это работало, у Вас должен быть безопасный сервер оболочки (sshd) работа хоста (apt install openssh-server). Это предложит Вам пароль и отбросит Вас в оболочке, точно так же, как su - username, но с передачей соединения X Window. Это работает на удаленные хосты, но также и локально.

0
ответ дан 29 September 2019 в 12:50

Другие вопросы по тегам:

Похожие вопросы: