Как запустить программу с графическим интерфейсом от имени другого пользователя (Debian)?

10

Используя терминал, я могу изменить работающего пользователя с помощью suи sudo- но как я могу это сделать, щелкнув значок / ярлык в меню рабочего стола / меню «Пуск»?

Если я должен быть корень для выполнения I будет предложен в любом случае, но некоторые программы , например , Krusaderи NetBeansиногда работать без корневого доступа , но тогда вы не можете сделать то , что вы хотите.

В Windows я просто нажимаю Shift и щелкаю по нему правой кнопкой мыши, и меня просят ввести имя пользователя и пароль. Я думаю, что в Debian есть и такой же простой способ сделать это. (Помимо обходных путей, таких как создание сценариев, таких как sudo xyz.)

Заранее спасибо!

ipped
источник

Ответы:

6

Во-первых, не используйте sudoили не suизменяйте пользователей для запуска графического процесса, иначе у вас могут возникнуть проблемы в будущем ( ~/.ICEauthorityсмена владельца является заметной проблемой). Вместо этого создайте ярлык, который использует следующую команду:

gksu -u [user] command

gksu запускает графическую подсказку для пароля пользователя и после ввода правильного пароля запускает приложение в соответствии с указанным пользователем.

Крис Даун
источник
1
Чем gksuотличается, sudoчтобы он работал лучше?
Иоахим Брейтнер
2

мое собственное решение включает в себя ssh. когда я хочу работать <command>под другим пользователем <login>, я делаю это:

ssh -CY <login>@0 <command>

да, мне нужен ssh-сервер, и мне нужно либо ввести пароль другого пользователя, либо иметь свой открытый ключ ~<login>/.ssh/authorized_keys2. и я не могу закрыть терминал, с которого я дал команду.

mariotomo
источник