Чому gksu більше не встановлено за замовчуванням?


99

Я завжди рекомендував натискати ALT+ F2і вводити, наприклад, gksu nautilusабо gksudo nautilusобидва - рівнозначно; запускати графічні програми з привілеями root . Однак я тільки що встановив raring на тест-системі, і це більше не працює.

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

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

Це може означати, що ви ненавмисно змінили власника критичних системних файлів. Це може спричинити проблеми.

Це міркування краще пояснюється тут:

Чому команда була видалена із нового встановлення та що ми повинні використати замість цього?



4
Як уточнення, gksudoі неgksu є тотожними, хоча одне є символічним посиланням на інше (програма виявляє, як воно було ініційовано). Існує тонка різниця, яка в рідкісних випадках може призвести до втрати вибраних системних файлів. Тому, поки ви не почнете використовувати , будь ласка, завжди використовуйте замість цього . pkexecgksudogksu
Падді Ландау

1
@PaddyLandau Мені подобається, що багато інших тут завжди 'gksu' і gksudoбули однакові. Яка різниця між gksudo і gksu? . Чи можете ви додати відповідь на це питання, яке пояснює різницю, будь ласка; або надішліть нам посилання на веб-сайт, який пояснює це, щоб хтось із нас міг.
Warren Hill

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. Взагалі команда розробників вважає за краще не використовувати програми GUI як root, а використовувати sudo та командний рядок.

У довгостроковій перспективі кращим є pkexec, однак це не дуже просто у використанні на даний момент.

pkexec дозволяє авторизованому користувачеві виконувати ПРОГРАМУ як інший користувач. Якщо ім'я користувача не вказано, програма буде виконуватися як адміністративний супер користувач, root.

див. сторінку чоловіка man pkexec для отримання додаткової інформації.

Тим часом ви можете відкрити термінал CTRL+ ALT+ Tабо шукати термінал у тирі.

Не закривайте термінал, поки ви не закінчите, це важливо, оскільки програма GUI є дочірнім терміналом, і якщо ви закриєте його, програма GUI також закриється.

Введіть sudo -i

Тепер ви ввійшли як root, щоб можна було внести потрібні зміни, наприклад

gedit path_to_file 

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

nautilus 

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

Коли ви закінчите, закрийте програму GUI, потім у терміналі

exit

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


58
Надання користувачам використовувати командний рядок замість запуску графічних додатків, оскільки root не перебирається з конверсіями Windows ...
Seth

4
@seth що, у них зараз є дос і патрон, правда? Ласкаво просимо в ретро-футуристичне майбутнє, тепер ще більше кліпів.
белаква

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
Більше про Windows, використовуючи це просто ... Повільно. Все про нього повільно. Те, як ти робиш справи, поганий привід для терміналу, встановлення програмного забезпечення, завантаження та вимкнення, видалення програмного забезпечення, введення команд, спроба оболонки сценарію, завдання, яке я можу виконати протягом 5 секунд в Linux, може взяти мене до 10 хвилин на вікнах. Неефективна - заниження. Те, що я відчуваю, що я маю більше контролю в OS x або в телефоні Android, насправді щось говорить про вибір дизайну Windows.
Бреден Кращий

9

Щойно я встановив 13.04: GKSU вже встановлений ...


я щойно перевірив ..... його встановлено .......
Qasim

1
Я збирався скласти команду щодо цієї відповіді, але зайняв секунду, щоб перевірити, чи є gksu. Це є. Я навіть встановив свіжий 13.04 64 біт, і він також був там.
Луїс Альварадо

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