Відповіді:
sudo
запитує пароль у командному рядку та gksudo
спливає діалогове вікно для нього.
sudo -E
еквівалентно gksudo
?
gksudo
є GTK на основі фронтенда sudo
(BTV, kdesudo
є Qt на основі інтерфейсу), однак він (за замовчуванням) обробляє понад екологічний змінні ( HOME
, XAUTHORITY
і т.д.) , ніж в sudo
результаті чого запущених команд , як коренева безпечніше.
Наскільки я бачу, лише відповідь @Logics є правильною (@Ignacio Vazquez-Abrams не є повною). Ось спробу уникати роз'яснень до відповіді / коментарів @Davros @knitti (Будь ласка, видаліть / відредагуйте їх, коли це не потрібно):
sudo
, використовуваний інтерфейс НЕ є єдиною різницею двох команд. HOME
змінна середовища вказує у sudo
командування в якійсь системі та ситуаціях). Не всі програми GUI записують у ваш домашній каталог, а не всі програми CLI - ні , тому тип команди не є ключовим моментом. sudo
команду запуску GUI додатків в кореневому каталозі (для перегляду виведення консольних додатків в якості прикладу), однак ви повинні ручки HOME
(і інші , такі як XAUTHORITY
, DISPLAY
, введення-метод пов'язаних-матеріалу і т.д.) змінні оточення правильно так що запущена програма не вийде з ладу, втратить функціональність або зробить дійсно погані речі. Далі - моя сьогоднішня рекомендація щодо використанняsudo
sudo -H <rest of the command>
sudo
розділу 8 вручну) -H ( HOME )
Опція вимагає, щоб політика безпеки встановила HOME
змінну середовища в домашній каталог цільового користувача (root за замовчуванням), як зазначено в базі даних паролів. Залежно від політики, це може бути поведінка за замовчуванням.sudo
домашній довідці абонентаsudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
sudo
команди не однакова у всіх системах і її можна налаштувати за допомогою visudo
команди, будь ласка, перегляньте сторінку сторінки sudoers(5)
для отримання додаткової інформації.Використання звичайних судо для запуску графічних програм рідко пошкодить дозволи на деякі файли. Для безпечного використання gksudo (або kdesudo у відповідних випадках) слід використовувати для запуску програм з графічним інтерфейсом. Я думаю, що це справді помилка, хоча я чув пояснення, що gksudo розуміє змінні сервери X, а sudo, можливо, не призводить до проблем. Так само, як підказка; якщо ви запускаєте графічні програми як корінь, замість того, щоб відкривати один термінал для кожної програми, яку потрібно запустити, введіть ALT-F2 (одночасно alt та функціональну клавішу), а потім введіть діалогове вікно, яке з'явиться "gksudo програма "без лапок та програми, заміненої програмою, яку потрібно запустити.
sudo працює як поточний користувач із підвищеними привілеями. Це може змінити права доступу до певних файлів конфігурації користувача (що стосуються вашого графічного середовища) під час роботи графічних програм. Ви можете виявити помилки при повторному запуску цих додатків без sudo.
gksudo (kdesudo під KDE) запускає програми як користувач root, тому будь-які дозволені файли стосуються файлів root, а не файлів користувачів. запуск цих програм знову без gksudo / kdesudo завжди матиме очікувану поведінку.
Поточна відповідь невірна. Відповідно до вікі Ubuntu RootSudo :
"Ніколи не слід використовувати звичайний sudo для запуску графічних додатків як root. Для запуску таких програм слід використовувати gksudo (kdesudo на Kubuntu). Gksudo встановлює HOME = ~ root та копіює .Xauthority у каталог tmp. Це запобігає файлам у вашому домі. каталог стає власністю root. (AFAICT, це все, що особливо стосується середовища розпочатого процесу з gksudo vs. sudo). "