XFapplet для Ubuntu 12.04

Выполнение графических команд из оболочки другого пользователя

Команда sux (см. man sux) позаботится об этом для вас и принимает тот же синтаксис, что и su.

sux - nextuser
gedit test.c

Это автоматически гарантирует правильность .Xauthority, поэтому вам не нужно запускать какие-либо команды для авторизации вручную.

Графические приложения имеют тенденцию записывать файлы конфигурации в ваш домашний каталог, и если вы запускаете их как другого пользователя, сохраняя $HOME, они попытаются записать файлы конфигурации в качестве этого пользователя в вашем домашнем каталоге. Это приведет к неспособности записать конфигурацию или настройку, которая будет испорчена для исходного пользователя (или некоторая комбинация из двух). Вот почему рекомендуется использовать флаг - с sux (или su) при запуске графических приложений. (Для sudo вместо этого вы можете использовать sux , например gksu / gksudo и kdesudo.)

Выполнение графических команд непосредственно как другой пользователь

Вы можете использовать gksu в ваш (с флагом -w), чтобы запустить команду как другой пользователь (с флагом -u):

gksu -w -u nextuser gedit test.c

Однако вам все равно придется сначала запустить xhost local:nextuser (как описано в gksu ), чтобы это работало. Это вряд ли понадобится, если вы используете sudo-mode, но тогда вы можете сделать это только в том случае, если вы являетесь администратором (и вы будете аутентифицироваться с помощью пароля, а не пароля nextuser, поскольку sudo скорее чем su является бэкэнд):

gksu -u nextuer gedit test.c

Запуск терминала (а не только оболочки) в качестве другого пользователя

Вы можете просто захотеть запустить графическую программу терминала (это оболочка запускается «внутри») как другой пользователь.

Вы можете использовать те же методы, которые были описаны выше, для запуска gedit в качестве другого пользователя.

gksu -w -u nextuser gnome-terminal
gksu -u nextuser gnome-terminal
1
задан 17 April 2013 в 22:00

0 ответов

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

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