В чем разница между "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 вы спрашиваете это в терминале

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