Ответ 1
Использование
xdg-su -u user -c command
У меня есть ubuntu + x11 + gnome.
Я хочу запустить графическое приложение в качестве другого пользователя.
Однако, когда я запускаю его из командной строки с помощью sudo -u otheruser app
, я получаю сообщение об ошибке "Нет протокола".
Как я могу работать над этим?
Использование
xdg-su -u user -c command
Выполните эту команду сначала:
$ sudo xhost +
Затем запустите команду, которую вы хотите, как другой пользователь:
$ sudo -i -u username
$ command you want to run
Когда вы закончите:
$ sudo xhost -
xhost '+si:localuser:USERNAME'
Вероятно, вам нужно сказать, что ваш X-сервер принимает соединения от другого пользователя, чем тот, который владеет экземпляром сервера (вы). Посмотрите на команду xhost.
Команда gksudo -u
gksu -u <user> -c <command>
Замените <user>
на имя пользователя, чтобы запустить команду as, и <command
> с помощью команды, которую вы хотите запустить. Помните, что программа будет запущена в контексте <user>
, но в текущем каталоге.
В всплывающем окне введите пароль цели <user>
, конечно.