Как я могу переключить пользователя в оболочку и использовать существующую сессию дисплея гнома?

Если я переключаю пользователя в терминал.

su bob

Я не могу открыться gedit потому что bob не владеет дисплеем.

Если я выполняюсь

xhost +

прежде, чем переключиться на bob Я могу открыть дисплей для некоторых приложений, но не всех. Я получаю следующий вывод при попытке выполниться gedit:

(crashreporter:4415): GNOMEUI-ПРЕДУПРЕЖДЕНИЕ *: При соединении с менеджером сеансов: Ни один из указанных протоколов аутентификации не поддерживается.
*
GLib-GIO:ERROR:/build/buildd/glib2.0-2.28.6/./gio/gdbusconnection.c:2279:initable_init: утверждение перестало работать: (соединение-> initialization_error == ПУСТОЙ УКАЗАТЕЛЬ)

4
задан 28 June 2011 в 17:50

2 ответа

Если Вы хотите позволить пользователю bob для доступа к существующему X сессий из командной строки можно ввести эти команды при терминальной подсказке:

xauth nextract - $DISPLAY | sudo -u bob xauth nmerge -

Thius использует команду xauth для извлечения информации аутентификации для текущего пользователя (первая часть команды, перед |) и затем объедините его в пользователя bob $HOME/.Xauthority файл. Обратите внимание, что это требует /etc/sudoers быть настроенным так, чтобы Вас разрешили командам выполнения как пользователь bob (это - значение по умолчанию, если Вы - администраторский пользователь на поле Ubuntu).

Можно затем переключиться на пользователя bob с su -l.

С другой стороны, можно дать эти отдельные команды:

xauth nextract - $DISPLAY > /tmp/xauth.temporary.file
su -l bob -c 'xauth nmerge - < /tmp/xauth.temporary.file'
rm /tmp/xauth.temporary.file

Обратите внимание что:

1) временный файл должен иметь полномочия, таким образом что пользователь bob может считать его (который часто означает, что любой пользователь в системе может считать его);

2) существует окно времени, во время который любой пользователь, который может читать, временный файл может получить доступ к Вашим X дисплеям.

Поэтому лучше использовать sudo приблизьтесь, поскольку это не имеет этих оборотных сторон.

3
ответ дан 1 December 2019 в 10:12

Иначе, после xhost + был выполнен:

dbus-launch gedit --sm-client-disable
0
ответ дан 1 December 2019 в 10:12

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

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