Яка різниця між "gksudo nautilus" і "sudo nautilus"?


100

Я використовував gksudo nautilusі sudo nautilusчерез Alt+ F2.

Яка різниця? Вони дуже схожі!


дуже корисне пояснення / дискусія, включаючи багато скріншотів: psychocats.net/ubuntu/graphicalsudo
про natty


Відповіді:


113

Взяті з тут :

Ніколи не слід використовувати звичайний, sudoщоб запустити графічні програми як root. Для запуску таких програм слід використовувати 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 {} \;

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


1
Я вже використовував "sudo nautilus". Це означає, що мій домашній каталог зараз належить root? (PS: моя англійська не ідеальна)
DrKenobi

22
Ні, це означає, що поки ви працювали з Nautilus як root, усі файли, створені у вашому домашньому каталозі, будуть належати root. Це може включати ескізи та інші підтримуючі файли, які Nautilus створює автоматично.
Райан Томпсон

1
. Процитований вами сегемнет, який ви використали, спантеличив мене з моменту першого вступу; зокрема там, де написано: "Це запобігає становленню файлів у вашому домашньому каталозі". .. Я перевірив це сьогодні, створивши кілька тестових файлів, 10.04, 10.04 (VM), 10.10 (VM), і незалежно від того, як я запустив sudo / gksudo (Terminal-> Nautilus, Terminal-> gedit, Alt + F2. .) ... всі випадки спричинили, що моє новостворене володіє "коренем", з групою "корінь". Можливо, я щось пропустив, але думаю, що частина котируваного сегмента вводить людей в оману ...
Пітер. O

Хм, я просто цитував сторінку вікі. Я не дуже глибоко розумію різницю між цими двома інструментами. Можливо, хтось на unix.stakexchange.com може допомогти?

2
@ Peter.O Я розширив цю відповідь, щоб вирішити це питання та пояснити, з якими файлами по-різному трактуються sudoчерез gksu/ gksudo. (@ChrisWilson Не соромтеся відкотити або скоротити цю редагування, якщо ви вважаєте, що це не повністю в межах вашої відповіді ... мені здається, що це так, але це повністю ваш дзвінок.)
Елія Каган

9

Чи знаєте ви, що існує додаток Nautilus під назвою nautilus-gksu,Встановіть nautilus-gksu яке додає "відкрити як адміністратор" у меню правої кнопки миші nautilus?

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


1
nautilus-gksuбільше не доступний від Ubuntu 12.04 і далі.
IQAndreas

А ваше посилання лише показує, що воно доступне до 11.10 ...
Вільф

5

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

Ніколи не слід використовувати звичайний sudo для запуску графічних додатків як Root . Для запуску таких програм слід використовувати gksudo (kdesudo на Kubuntu). gksudo встановлює HOME = ~ root та копіює .Xauthority у каталог tmp. Це запобігає становленню файлів у вашому домашньому каталозі. (AFAICT, це все, що особливо стосується середовища розпочатого процесу з gksudo vs. sudo).


3

sudo за замовчуванням зберігає вашу змінну $ HOME. Наприклад, якщо ви запускаєте, sudo firefoxви будете працювати з привілеями root, але з конфігурацією. Якщо ви зміните налаштування в цій ситуації, ви отримаєте частини конфігурації, що належать root, а не ідентифікатор користувача.


Мені подобається наполегливість цієї відповіді.
Andre Figueiredo

2

sudo -H GUI-application-program

У Ubuntu (17.10) 17.10.1 і, можливо, майбутні версії Ubuntu, gksuі gksudoзастаріли. Вони працюють у Xorg, але не в Wayland. Але ви можете використовувати sudo -Hдля запуску програм GUI без пошкодження файлів конфігурації. Як НЕ використовувати звичайний sudo.

Якщо ви використовуєте Wayland (нову графічну систему, яка замінює Xorg), вам також потрібна команда xhost.

xhost +si:localuser:root       # if Wayland
sudo -H nautilus --no-desktop

Щоб отримати докладнішу інформацію, перегляньте наступне посилання,

Чому gksu / gksudo чи запуск графічної програми із судо не працюють з Wayland?


-2

Знайдено у файлі, створеному командою термінала 'info gksudo':

gksu - це передня частина для su, а gksudo - це передня частина для sudo. Їх основне призначення - запуск графічних команд, яким потрібно виконувати root, без необхідності запускати емулятор термінала X та безпосередньо використовувати su.

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

Для початківця в терміналі введіть або вставте інформацію команди з назвою команди, в якій ви зацікавлені як параметр. Формат є info [command_name](пам’ятайте, що не включати командний рядок або дужки). Запропоновані номери терміналу для початківця:

$ info
$ info info

-3

Якщо ви вибираєте gksudo nautilus, ви запитаєте свій пароль графічно. З судо ви запитуєте це в терміналі


6
Це не єдина різниця, і часто це не найважливіша різниця. (Дивіться деякі інші відповіді тут.)
Елія Каган
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.