Почему gksu больше не устанавливается по умолчанию?

Я всегда рекомендовал нажимать ALT+F2 и ввод текста, например gksu nautilus или gksudo nautilus оба они эквивалентны; для запуска графических программ с корень привилегии. Однако я только что установил raring в тестовой системе, и это больше не работает.

gksu и gksudo не устанавливаются как часть установки raring по умолчанию; хотя они находятся в репозиториях. По крайней мере, в 12.04 gksudo была просто символической ссылкой на gksu

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

Это может означать, что вы непреднамеренно меняете владельца критически важных системных файлов. Это может вызвать проблемы.

Это рассуждение лучше объясняется здесь:

Почему команда была удалена из новой установки и что мы должны использовать вместо этого?

После долгого обсуждения #ubuntu-devel теперь я понимаю ход мыслей.

гксу может быть установлен на 13.04 с sudo apt-get install gksu и это сработает.

Если вы решили установить gksu и используете 64-разрядную версию, вам необходимо запустить gksu-properties один раз, чтобы установить аутентификацию на sudo. Нет необходимости делать это на 32-разрядной версии, так как по умолчанию для нее установлено значение sudo.

Однако gksu больше не рекомендуется, и он может быть полностью удален из будущих выпусков Ubuntu. В целом команда разработчиков предпочла бы, чтобы мы не использовали приложения с графическим интерфейсом в качестве root, а использовали потеть и вместо этого командная строка.

В долгосрочной перспективе предпочтительнее использовать pkexec, однако на данный момент он не очень прост в использовании.

pkexec позволяет авторизованному пользователю выполнять ПРОГРАММУ от имени другого пользователя. Если имя пользователя не указано, то программа будет выполняться от имени администратора суперпользователя root.

посмотрите на справочная страница man pkexec для получения дополнительной информации.

В то же время вы можете открыть терминал CTRL+ALT+T или найдите терминал в тире.

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

Входить sudo -i

Теперь вы вошли в систему с правами root, поэтому можете вносить нужные изменения, например

gedit path_to_file 

для редактирования файла конфигурации или

nautilus 

чтобы запустить файловый менеджер

Когда вы закончите, закройте приложение с графическим интерфейсом, а затем в терминале

exit

Теперь вы можете закрыть терминал.

Я только что установил 13.04 : GKSU уже установлен...

В качестве пояснения, “gksudo” и “gksu” * не * идентичны, даже если один является символической ссылкой на другой (программа определяет, как он был инициирован). Существует тонкое различие, которое в редких случаях может привести к потере выбранных системных файлов. Поэтому, пока вы не начнете использовать pkexec, пожалуйста, всегда используйте gksudo вместо gksu.

Стоит отметить, что * ни один * из ответов до сих пор не объясняет * почему * gksu больше не устанавливается по умолчанию, что и является актуальным вопросом.

@MestreLion. Причина, по которой “gksu” перестал устанавливаться по умолчанию, заключается в том, что разработчики считают, что polkit - лучший способ управления привилегиями. Поэтому они постепенно переносили приложения, чтобы использовать это вместо этого. gksu был только частью установки по умолчанию, потому что от него зависели другие приложения. Поскольку ничто в установке по умолчанию не зависит от gksu или gksudo, оно больше не используется как зависимость.

См. gksudo отсутствует на форуме Ubuntu.

@PaddyLandau Я, как и многие другие здесь, всегда “gksu” и “gksudo” были одинаковыми, см. В чем разница между gksudo и gksu?. Не могли бы вы добавить ответ на этот вопрос, который объясняет разницу, пожалуйста; или дайте нам ссылку на веб-сайт, который объясняет это, чтобы один из нас мог.

@WarrenHill - У меня есть опубликованный answer в этой теме для вас.

Как выразился Эммануэль Басси, разработчик GNOME: "Нет никаких реальных, обоснованных технологических причин, по которым кто-либо должен запускать приложение с графическим интерфейсом от имени root. Запуская приложения с графическим интерфейсом от имени администратора, вы буквально запускаете миллионы строк кода, которые не были должным образом проверены для запуска с повышенными привилегиями; вы также запускаете код, который будет касаться файлов внутри вашего $HOME и может изменить их владельца в файловой системе; подключайтесь через IPC к еще большему количеству запуск кода и т.д. Вы открываете огромную, зияющую дыру в системе безопасности. Running GUI applications as root - ArchWiki