В чем разница между & ldquo; gksudo nautilus & rdquo; и & ldquo; sudo nautilus & rdquo ;?

Я использовал gksudo nautilus и sudo nautilus через Alt + F2

В чем разница? Они выглядят очень похожими!

103
задан 21 March 2018 в 13:30

7 ответов

Взято из здесь :

Вам следует никогда не использовать обычное 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 {} \;

которая перечислит все файлы в домашней директории, не принадлежащие пользователю.

115
ответ дан 21 March 2018 в 13:30

Знаете ли Вы, что есть надстройка Nautilus с именем nautilus-gksu Install nautilus-gksu , который добавляет "open as administrator" в меню правой кнопки мыши nautilus?

Примечание: Не доступно в Ubuntu 12.04 и далее.

9
ответ дан 21 March 2018 в 13:30

Если вы запускаете графическое приложение с помощью sudo, вы можете испортить право собственности на файлы, что может привести к выходу приложения из строя. Никогда не делайте этого. Проверьте справку сообщества :

Вы никогда не должны использовать обычное sudo, чтобы запускать графические приложения как Root. Вы должны использовать gksudo (kdesudo на Kubuntu) для запуска таких программ. gksudo устанавливает HOME=~root, и копирует .Xauthority в каталог tmp. Это предотвращает попадание файлов в ваш домашний каталог становясь собственностью Рута. (AFAICT, это это всё, что особенного в условия начатого процесса gksudo vs. sudo).

5
ответ дан 21 March 2018 в 13:30

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?

2
ответ дан 21 March 2018 в 13:30

Найдено в файле, сгенерированном командой терминала 'info gksudo':

gksu - фронт-енд to su и gksudo - фронт-енд to sudo. Их основное назначение - выполнение графических команд, требующих root без необходимости запуска X терминального эмулятора и использования su напрямую.

Я обнаружил, что во многих случаях, 'info' файлы содержат полезные описания, а также полезную информацию об опциях. Я бы настоятельно рекомендовал, чтобы изучение любой команды начиналось с обращения к 'info' файлу по этой команде.

Для новичка, в терминале, введите или вставьте в качестве параметра информацию о команде с именем команды, в которой вы заинтересованы. Формат [имя_команды] info [имя_команды] (не забудьте не включать командную строку или скобки). Для новичка предлагаются следующие терминальные записи:

$ info
$ info info
-2
ответ дан 21 March 2018 в 13:30

Если Вы выбираете gksudo nautilus, Вы спрашиваете свой пароль графически. С помощью sudo вы спрашиваете его в терминале

-3
ответ дан 21 March 2018 в 13:30

sudo по умолчанию сохраняет переменную $HOME. Например, если вы запустите sudo firefox, то вы запустите с правами root, но с вашей конфигурацией. Если вы измените настройки в этой ситуации, то часть вашей конфигурации будет принадлежать root, а не вашему идентификатору пользователя.

3
ответ дан 21 March 2018 в 13:30

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

Похожие вопросы: