В Linux, как мне запустить приложение с графическим интерфейсом из терминальной оболочки под другим логином? - PullRequest
2 голосов
/ 27 апреля 2010

Вот сделка. Я вошел в Linux-систему (CentOS, но это не должно иметь значения) как пользователь A. Я должен был создать программу как пользователь B, поэтому я запустил терминал shell, вошел в эту оболочку как B и собрал ее. Когда я пытаюсь запустить приложение, Я получаю это сообщение:

"подключиться": 0.0 "отказано сервером"

Скорее всего, потому что текущий сеанс X Windows принадлежит пользователю A, и как Б, у меня нет прав доступа к материалам А.

Есть ли правильный способ решить эту проблему. Любые неправильные способы?

Ответы [ 5 ]

1 голос
/ 27 апреля 2010

Я не уверен, как вы вошли в систему, но если это было что-то вроде этого:

sudo -i userB

переменные DISPLAY и TERM остаются без изменений, и вам может потребоваться их установить.

0 голосов
/ 08 сентября 2010

xhost +localhost открывает ваш ящик, чтобы разрешить всем пользователям вашего ящика запускать на вашем экране программное обеспечение X. Очевидно, это также допускает практические шутки от других пользователей.

0 голосов
/ 08 сентября 2010
xhost +

От пользователя, запустившего X-сервер.

0 голосов
/ 27 апреля 2010

Я нашел ssh -Y ... тоже сработало.

0 голосов
/ 27 апреля 2010
ssh -X userb@localhost

(и кто-то с большим количеством представителей, чем я, должен переместить это в SU)

...