Как запускать приложения с графическим интерфейсом от имени пользователя root
ОБНОВИТЬ
Я хотел бы знать, какой рекомендуемый способ запуска приложений с графическим интерфейсом от имени пользователя root, главным образом потому, что то, что я пытаюсь, не работает гладко. Я получаю некоторые раздражающие предупреждения, которые заставляют меня думать, делаю ли я что-то не так или нет.
я использую gksudo
а также sudo -i
, который я понимаю, делают то же самое. Пожалуйста, дайте мне знать, если между ними есть небольшие различия.
Что касается проблем, с которыми я сталкиваюсь, я хотел бы начать с nautilus (запуск от имени пользователя root). Я не могу редактировать файл настроек, возможно, потому что программа не может создавать свои собственные файлы конфигурации. Предупреждение говорит о том, что в папке /root/.config/nautilus
должен быть создан. Когда вы запускаете приложение в первый раз, программа отвечает за создание файлов конфигурации, которые могут ей понадобиться. Итак, когда вы работаете с правами root, это должно происходить так же, не так ли?
Кроме того, в оболочке появляются некоторые странные предупреждения при запуске этого приложения, такие как следующие:
(nautilus: 3406): Gtk-WARNING **: Не удалось зарегистрировать клиента: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: Имя org.gnome.SessionManager не было предоставлено ни одним из файлов.service Nautilus-Share- Сообщение: называется "net usershare info", но не удалось: "Общая сеть" вернула ошибку 255: net usershare: не удается открыть каталог usershare /var/lib/samba/usershares. Ошибка Это не файл или папка. Попросите системного администратора разрешить совместное использование пользователя.
Другие приложения, такие как gedit или firefox, жаловались таким образом:
(gedit: 3444): Gtk-WARNING **: ошибка запрета вызова: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: имя org.gnome.SessionManager не было предоставлено ни одним файлом.service
(gedit:3444): GLib-GIO-WARNING **: не удалось проанализировать переведенную строку ''Monospace 12'' для ключа 'editor-font' в схеме 'org.gnome.gedit.preferences.editor': 0: ожидаемое значение
(gedit:3444): GLib-GIO-WARNING **: вместо этого используется непереведенное значение по умолчанию.
(firefox: 2719): Gtk-CRITICAL **: IA__gtk_clipboard_set_with_data: утверждение 'target!= NULL
Я хочу сделать чистую установку системы в ближайшее время, но перед этим я хотел бы понять, как она работает, если мне понадобятся эти вещи в будущем для конкретных вещей. Хотя я знаю, что безопаснее использовать прямую sudo вместо командной строки.
Почему это происходит? заранее спасибо
1 ответ
Проблема с использованием прямого sudo nautilus заключается в том, что иногда он пытается использовать файлы конфигурации из домашнего каталога вашего пользователя. Это может привести к тому, что root (суперпользователь) изменит права доступа к файлам в вашем домашнем каталоге. Это обычно не вредно в долгосрочной перспективе; это может вызвать раздражающие проблемы, такие как отказ от входа в систему на вашем рабочем столе, но вы обычно можете восстановить предыдущие конфигурации, набрав "sudo chown -R user:user ~/".
Итак, что делают gksudo и sudo -i, это просто говорят программе запускаться с копиями.Xauthority и другими файлами конфигурации или с теми, которые фактически принадлежат root. Я лично предпочитаю sudo -i, потому что мне не нужно каждый раз вводить свой пароль, но это полностью предпочтение. Две команды делают одно и то же.