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


99

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

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

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

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

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

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



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

1
@PaddyLandau Мне нравятся многие другие, здесь всегда «gksu», и они gksudoбыли одинаковыми. В чем разница между gksudo и gksu? , Можете ли вы добавить ответ на этот вопрос, который объясняет разницу, пожалуйста; или дайте нам ссылку на сайт, который объясняет это, чтобы один из нас мог.
Уоррен Хилл

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

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

Ответы:


68

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

gksu можно установить на 13.04 с sudo apt-get install gksuи все будет работать.

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

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

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

pkexec позволяет авторизованному пользователю выполнять PROGRAM как другой пользователь. Если имя пользователя не указано, то программа будет выполняться от имени администратора с правами суперпользователя root.

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

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

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

Войти sudo -i

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

gedit path_to_file 

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

nautilus 

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

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

exit

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


58
Попросить пользователей использовать командную строку вместо запуска графических приложений, так как root не будет хорошо работать с конвертированными Windows ...
Сет

4
@ Что-то, у них теперь есть DOS и PowerShell, верно? Добро пожаловать в ретро-футуристическое будущее, теперь с большим количеством клиентов.
Белаква

4
Кстати, вы можете устранить проблему «закрытие терминала убивает все порожденные программы», запустив программу с &суффиксом, чтобы она выполнялась как фоновый процесс, а затем выполнив disown %1в bash - или любой другой номер задания программы. Тогда вы можете спокойно закрыть терминал. Таким образом, это может быть что-то вроде:sudo my-program &;disown %1;exit;
Чак R

18
However gksu is not recommended any more and it may be removed entirely..., Хотите уточнить, почему ?
MestreLion

3
Больше на окнах, используя это просто ... Медленно. Все об этом медленно. То, как вы работаете, плохое оправдание для терминала, установка программного обеспечения, загрузка и завершение работы, удаление программного обеспечения, ввод команд, попытка выполнить сценарий оболочки, задача, которую я могу выполнить за 5 секунд в Linux, может занять до 10 минут на окнах. Неэффективно занижение. Тот факт, что я чувствую, что у меня больше контроля в OS X или в моем телефоне Android, действительно говорит о выборе дизайна окон.
Брэден Бест

9

Я только что установил 13.04: ГКСУ уже установлен ...


я только что проверил ..... его установил .......
Касим

1
Я собирался сделать команду об этом ответе, но потребовалась секунда, чтобы проверить, был ли gksu там. Это. Я даже установил свежую 13.04 64 битную и она тоже была там.
Луис Альварадо

1
Я только что проверил еще раз в моей системе. Все еще не там, смотрите эти темы на форумах Ubuntu здесь и здесь . Возможно, он был добавлен в недавнее обновление, или возможно, вы купили его, установив что-то еще?
Уоррен Хилл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.