В чем разница между "gksudo nautilus" и "sudo nautilus"?
Я использую gksudo nautilus
а также sudo nautilus
через Alt+F2.
Какая разница? Они выглядят очень похоже!
7 ответов
Взято отсюда:
Вы никогда не должны использовать нормальный
sudo
запускать графические приложения от имени root. Вы должны использоватьgksudo
(kdesudo
на Kubuntu) запускать такие программы.gksudo
наборыHOME=/root
и копии.Xauthority
кtmp
каталог. Это предотвращает принадлежность файлов в вашем домашнем каталоге пользователю root.
Обратите внимание, что это в первую очередь о файлах конфигурации. Если вы запускаете Наутилус как 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?
Примечание. Недоступно в Ubuntu 12.04 и более поздних версиях.
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?
Если вы запустите графическое приложение с помощью sudo, вы можете испортить владение вашими файлами, что может привести к поломке ваших приложений. Никогда не делай этого. Проверьте Справку Сообщества:
Вы никогда не должны использовать обычный sudo для запуска графических приложений от имени Root. Вы должны использовать gksudo (kdesudo на Kubuntu) для запуска таких программ. gksudo устанавливает HOME=~root и копирует.Xauthority в каталог tmp. Это предотвращает принадлежность файлов в вашем домашнем каталоге Root. (AFAICT, это все, что особенного в среде запущенного процесса с gksudo vs. sudo).
По умолчанию sudo сохраняет вашу переменную $HOME. Например, если вы запустите sudo firefox
вы будете работать с правами суперпользователя, кроме вашей конфигурации. Если вы измените настройки в этой ситуации, вы получите части своей конфигурации, принадлежащие пользователю root, а не свой идентификатор пользователя.
Найдено в файле, сгенерированном командой терминала 'info gksudo':
gksu - это интерфейс su, а gksudo - интерфейс sudo. Их основная цель - запуск графических команд, которым требуется root, без необходимости запуска эмулятора X-терминала и непосредственного использования su.
Я обнаружил, что во многих случаях файлы 'info' содержат полезные описания, а также полезную информацию о параметрах. Я настоятельно рекомендую, чтобы изучение любой команды началось с доступа к файлу 'info' этой команды.
Для новичка в терминале введите или вставьте информацию о команде с именем команды, в которой вы заинтересованы в качестве параметра. Формат info [command_name]
(не забудьте включить командную строку или скобки). Предлагаемые терминальные записи для начинающих:
$ info
$ info info
Если вы выбираете gksudo nautilus, вы спрашиваете свой пароль графически. С sudo вы спрашиваете это в терминале