Чи є простіший або "правильніший" спосіб відкрити gedit як root?


19

У мене ubuntu 12.04 працює у віртуальній машині на віртуальній коробці. Його існування в основному є "іграшкою", з якою можна грати з Ubuntu, тому з цієї причини я хотів GUI (це те, що "Dash" є в ubuntu 12.04? У будь-якому випадку ...)

Одне, для чого я зараз використовую цю машину, це сервер LAMP. Я використовую 'gedit' для редагування своїх файлів, але оскільки я ще не правильно встановив дозволи, я просто відкриваю його з sudo в терміналі.

Просто зараз, щоб спробувати спростити цей процес, я створив сценарій оболонки на робочому столі з дуже простою роботою - sudo gedit

Я не можу не думати, що повинен бути ще більш очевидний спосіб відкрити gedit як корінь GUI, ніж цей. Так є?

Редагувати: Я просто "покращив" свій сценарій, замінивши sudo на gksudo. Тепер мені не потрібно відкривати вікно терміналу, поки gedit відкрито. Тому я думаю, що це зараз досить зручно :) Було б добре, заради знань, знати, чи це щось наближене до того, як більш досвідчені користувачі ubuntu будуть робити цей тип речей.


2
Так, gksudo(або більш відомий як gksu) це те, чим користуються більшість людей. Багато матеріалів для читання: askubuntu.com/questions/270006/… askubuntu.com/questions/197772/… askubuntu.com/questions/284306/… askubuntu.com/questions/11760/…
Сет

2
Сет, чи готові ви опублікувати свою відповідь як відповідь? Це виглядає вирішеним.
Тревіс Г.

"Зараз мені не потрібно відкривати вікно терміналу, поки gedit відкритий." <- Ви, можливо, вже знаєте про це, але якщо ви додасте &до команди, як показано тут , ви дозволяєте термінальному вікні сценарію оболонки зачинитися негайно при geditзапуску, а не чекати, коли воно закриється. Цей трюк повинен працювати gksudoбез проблем.
IQAndreas

Відповіді:


19

Використовуйте gksudo gedit.

gksudoє еквівалентом sudoдля графічних програм, які не є безпечними для запуску з використанням sudo.


4
Проблема в тому, що gksuв Ubuntu 13.04 вже не встановлено за замовчуванням. Я дуже хотів би отримати відповідь для тих, хто на 13.04+. Запропонована альтернатива є pkexec, але вона просто не працює = /.
Алаа Алі

1
@Alaa Але він все ще знаходиться у сховищі, тому швидкий sudo apt-get install gksuмусить встановити його для вас.
IQAndreas

Якщо ви хочете пояснити, чому не рекомендується використовувати sudo: Яка різниця між "gksudo nautilus" і "sudo nautilus"?
IQAndreas

4
@ IQAndreas, я знаю, що це у сховищах, але це просто незручно, якщо я відповідаю новому користувачеві і хочу, щоб він редагував файл як root, щоб сказати йому "спочатку, запустити sudo apt-get install gksu". Наразі це дилема, принаймні для мене. Я не можу сказати йому "використовувати pkexec", тому що це не працює, і це занадто ризиковано для sudo -iцього gedit. Крім того, я знаю різницю між gksudoі sudo=), що ви, можливо, зв'язали мене замість цього, це: Чому gksu більше не встановлено за замовчуванням у 13.04? .
Алаа Алі

@Alaa Дійсний пункт щодо apt-get. Насправді, мій другий коментар (той, що має посилання) був спрямований на відповідь, яку ви дали, а не продовження обговорення в коментарях (я вважав, що плакат може захотіти знати причину, чому "не безпечно працювати з використанням" судо ").
IQAndreas

7

Я вважаю себе запущеним geditяк root досить часто, тому я додав параметр до меню правою кнопкою миші в Unity (він використовує ту саму команду, що і вибрана відповідь, gksu gedit).

Вам потрібно буде відредагувати *.desktopфайл, щоб додати параметр меню, і у вас є два варіанти:

  • /usr/share/applications/gedit.desktop (для редагування потрібен кореневий доступ) - опція меню буде додана для всіх користувачів. Зауважте, що вам може знадобитися повторно відредагувати цей файл, додавши опцію, якщо оновлення до gedit-серверів, що перезаписує ваші зміни.
  • ~/.local/share/applications/gedit.desktop (Якщо ви не можете його знайти там, зробіть дублікат знайденого в ньому /usr/share/applications/та збережіть його в цьому новому місці) - Параметр меню буде доступний лише для вказаного користувача та вважається "кращою практикою". Зауважте, що якщо ви вже встановили його до панелі Unity, вам потрібно буде вибрати Unlock from Launcherсвій існуючий значок GEdit, а потім знову додати "власну" версію. Ці зміни повинні залишатися, навіть якщо GEdit отримає оновлення.

Відредагуйте текстовий файл gedit.desktop, додавши наступний блок коду (ви можете використовувати існуючі два блоки як шаблон):

[Desktop Action RootWindow]
Name=Open a Root Window
Exec=gksu gedit
OnlyShowIn=Unity;

Далі додайте нову дію до списку (має бути приблизно в рядку 19 текстового файлу):

Actions=Window;Document;RootWindow;

Тепер клацніть правою кнопкою миші вікно текстового редактора в Unity відкриває цю зручну нову опцію:

Ubuntu Unity: Відкрийте Gedit як корінь


У мене також є така ж установка для відкриття файлового менеджера, що і root, який працює gksu nautilus.
IQAndreas

2

gksudo geditпрацює в 16.04 LTS, але в 17.10 з Wayland gksudoне працює.

  • Ви можете встановити та використовувати, gksudoякщо ви вибрали Xorg на екрані входу,

  • але у Вейленді ви повинні використовувати


2

Використовуйте admin:// перед іменем файлу, який відображає стандартний запит пароля графічного інтерфейсу для відповідного WM / оболонки.

Так, наприклад, якщо ви хотіли відредагувати свої репости, замість того, щоб вводити текст, sudo gedit /etc/apt/sources.listви вводите gedit admin:///etc/apt/sources.list. Він працює в основному для всіх програм GUI, не тільки для Gedit.


Ця відповідь - це правильний спосіб зробити це зараз. Прийнята відповідь була правильною для попередніх версій Ubuntu (я думаю, до 17.04).
PJ Singh

0

Ви можете відкрити Nautilus як root, gksu nautilusтепер будь-який текстовий файл, який ви відкриєте з цього вікна, відкриється в Gedit як корінь.


@DavidFoerster не зовсім, imo :-)
guntbert

0

gksudoМабуть, вона не доступна в нових версіях Ubuntu і gksuне працює для мене, але ця відповідь була дуже корисною в моєму випадку (Ubuntu 17.04).

Використовуйте visudoдля додавання наступного рядка до файлу конфігурації sudo:

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"`

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.