Я вхожу в систему как пользователь 'foo', и если я могу запускать gedit и редактировать файлы в своей машине Ubuntu 12.04 с настройкой DISPLAY как: 0
Если я «su-bar», а затем попробую для редактирования файлов я получаю ошибку протокола без протокола и не открывает необходимые файлы. Что может быть проблемой здесь?
gedit - графическая программа, так что вы не запускаете ее как root с прямым sudo, вы не должны запускать ее как другого пользователя с прямым sudo или прямым su. [ ! d0]
Вместо этого, если у вас (т.е. foo) есть возможность запускать программы в качестве другого пользователя с sudo, это, вероятно, самый простой способ для запуска foo gedit в качестве bar :
xhost +local:bar
gksu -u bar gedit
Если у вас нет возможности запускать программы в качестве другого пользователя с sudo, но вы можете su на bar, то это самый простой способ:
gksu -w -u bar gedit
Флаг -w (эквивалентный --su-mode) делает gksu (который является интерфейсом для sudo и su) использует su вместо sudo.
Вам не нужно запускать какую-либо соответствующую команду xhost, чтобы сделать работу gksu -w ....Если вам нужен графический экземпляр терминала (gnome-terminal), из которого вы можете запускать что-либо в качестве bar, включая графические приложения, вам следует просто запустить новый экземпляр gnome-terminal как bar ( который вы можете сделать так же, как запуск gedit, подробно описанный выше).
вы делаете это с помощью
ssh -l Other-User -X localhost gedit
на рабочем столе появляется новое окно, но с окружением «Другой пользователь» «!
Я тестировал это с Ubuntu 10.04 LTS на моем ящике!
Синтаксис, который вы предоставляете, выглядит неправильно. Если вы хотите переключиться на пользовательскую панель, то я считаю, что вы должны использовать «su bar». Но если это неправильно, я бы подумал, что вы получите сообщение об ошибке при попытке переключить пользователей. Возможно, это опечатка в вашем вопросе, или su все равно.
Я думаю, что более вероятно, что проблема в gedit - это редактор на основе gui, поэтому он пытается запустить сеанс x этого пользователя, Нет, если вы меняете измененных пользователей через терминал. Что произойдет, если вы используете «vi file_to_edit»? Vi - редактор на основе терминалов и не должен быть затронут проблемами gui.
edit: Мне нужно получить компьютерные очки, я думал, что команда, которую вы положили, была «su -бар". Но «su-bar» является допустимым синтаксисом.
gedit - графическая программа, так что вы не запускаете ее как root с прямым sudo, вы не должны запускать ее как другого пользователя с прямым sudo или прямым su. [ ! d0]
Вместо этого, если у вас (т.е. foo) есть возможность запускать программы в качестве другого пользователя с sudo, это, вероятно, самый простой способ для запуска foo gedit в качестве bar :
xhost +local:bar
gksu -u bar gedit
Если у вас нет возможности запускать программы в качестве другого пользователя с sudo, но вы можете su на bar, то это самый простой способ:
gksu -w -u bar gedit
Флаг -w (эквивалентный --su-mode) делает gksu (который является интерфейсом для sudo и su) использует su вместо sudo.
Вам не нужно запускать какую-либо соответствующую команду xhost, чтобы сделать работу gksu -w ....Если вам нужен графический экземпляр терминала (gnome-terminal), из которого вы можете запускать что-либо в качестве bar, включая графические приложения, вам следует просто запустить новый экземпляр gnome-terminal как bar ( который вы можете сделать так же, как запуск gedit, подробно описанный выше).
вы делаете это с помощью
ssh -l Other-User -X localhost gedit
на рабочем столе появляется новое окно, но с окружением «Другой пользователь» «!
Я тестировал это с Ubuntu 10.04 LTS на моем ящике!
Синтаксис, который вы предоставляете, выглядит неправильно. Если вы хотите переключиться на пользовательскую панель, то я считаю, что вы должны использовать «su bar». Но если это неправильно, я бы подумал, что вы получите сообщение об ошибке при попытке переключить пользователей. Возможно, это опечатка в вашем вопросе, или su все равно.
Я думаю, что более вероятно, что проблема в gedit - это редактор на основе gui, поэтому он пытается запустить сеанс x этого пользователя, Нет, если вы меняете измененных пользователей через терминал. Что произойдет, если вы используете «vi file_to_edit»? Vi - редактор на основе терминалов и не должен быть затронут проблемами gui.
edit: Мне нужно получить компьютерные очки, я думал, что команда, которую вы положили, была «su -бар". Но «su-bar» является допустимым синтаксисом.