Я использовал gksudo nautilus
и sudo nautilus
через Alt kbd> + F2 kbd>
В чем разница? Они выглядят очень похожими!
Взято из здесь :
Вам следует никогда не использовать обычное
sudo
для запуска графических приложений в качестве корень. Для запуска таких программ следует использоватьgksudo
(kdesudo
на Kubuntu).gksudo
устанавливаетHOME=/root
и копирует.Xauthority
в каталогtmp
. Это предотвращает принадлежность файлов в вашей домашней директории к корневому каталогу.
Пожалуйста, обратите внимание, что в первую очередь это касается конфигурационных файлов . Если Вы запускаете Nautilus как root
, даже с gksu
/gksudo
, и Вы создаете файл или папку в любом месте с ним (в том числе и в Вашем домашнем каталоге), то этот файл или папка будет принадлежать root
. Но если Вы запустите Nautilus (или большинство других графических приложений) как root
с sudo
, они могут сохранить свои конфигурационные файлы в Вашем домашнем каталоге (а не в домашнем каталоге root
). Эти конфигурационные файлы могут принадлежать root
и недоступны, когда вы не запущены в качестве root, что может сильно испортить ваши настройки и даже помешать работе некоторых приложений.
Решение, после того, как вы сделали эту ошибку, заключается в том, чтобы найти конфигурационные файлы и удалить их или chown
их обратно, чтобы принадлежать вашему неroot
пользователю. Многие такие файлы начинаются с .
или содержатся в каталоге, который начинается с .
. Некоторые из них находятся внутри папки .config
в Вашем домашнем каталоге. Чтобы увидеть файлы и папки, которые начинаются с .
в Nautilus, нажмите Ctrl+H (в этом показаны скрытые файлы. ) Чтобы увидеть их с помощью ls
, используйте флаг -a
(или -A
).
Чтобы найти, есть ли в Вашей домашней директории файлы, которые Вам не принадлежат, Вы можете использовать следующую команду в терминале:
find $HOME -not -user $USER -exec ls -lad {} \;
которая перечислит все файлы в домашней директории, не принадлежащие пользователю.
Знаете ли Вы, что есть надстройка Nautilus с именем nautilus-gksu , который добавляет "open as administrator" в меню правой кнопки мыши nautilus?
Примечание: Не доступно в Ubuntu 12.04 и далее.
Если вы запускаете графическое приложение с помощью sudo, вы можете испортить право собственности на файлы, что может привести к выходу приложения из строя. Никогда не делайте этого. Проверьте справку сообщества :
Вы никогда не должны использовать обычное sudo, чтобы запускать графические приложения как Root. Вы должны использовать gksudo (kdesudo на Kubuntu) для запуска таких программ. gksudo устанавливает HOME=~root, и копирует .Xauthority в каталог tmp. Это предотвращает попадание файлов в ваш домашний каталог становясь собственностью Рута. (AFAICT, это это всё, что особенного в условия начатого процесса gksudo vs. sudo).
sudo -H GUI-application-program
В Ubuntu (17.10) 17.10.1 и, возможно, в будущих версиях Ubuntu, gksu
и gksudo
устарели. Они работают в Xorg, но не в Wayland. Но вы можете использовать sudo -H
для запуска прикладных программ с графическим интерфейсом без ущерба для ваших файлов конфигурации. Не не используйте простой sudo
.
Если вы используете Wayland (новую графическую систему, заменяющую Xorg), вам также нужна команда с xhost
.
xhost +si:localuser:root # if Wayland
sudo -H nautilus --no-desktop
См. Следующую ссылку для получения дополнительной информации:
Почему gksu / gksudo или запуск графического приложения с помощью sudo не работают с Wayland?
Найдено в файле, сгенерированном командой терминала 'info gksudo':
gksu - фронт-енд to su и gksudo - фронт-енд to sudo. Их основное назначение - выполнение графических команд, требующих root без необходимости запуска X терминального эмулятора и использования su напрямую.
Я обнаружил, что во многих случаях, 'info' файлы содержат полезные описания, а также полезную информацию об опциях. Я бы настоятельно рекомендовал, чтобы изучение любой команды начиналось с обращения к 'info' файлу по этой команде.
Для новичка, в терминале, введите или вставьте в качестве параметра информацию о команде с именем команды, в которой вы заинтересованы. Формат [имя_команды] info [имя_команды]
(не забудьте не включать командную строку или скобки). Для новичка предлагаются следующие терминальные записи:
$ info
$ info info
Если Вы выбираете gksudo nautilus, Вы спрашиваете свой пароль графически. С помощью sudo вы спрашиваете его в терминале
sudo по умолчанию сохраняет переменную $HOME. Например, если вы запустите sudo firefox
, то вы запустите с правами root, но с вашей конфигурацией. Если вы измените настройки в этой ситуации, то часть вашей конфигурации будет принадлежать root, а не вашему идентификатору пользователя.