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