Рейтинг:2

Можно ли запустить nautilus или gedit с повышенными привилегиями?

флаг au

Иногда мне нужно редактировать файлы в /и т.д. Я знаю, что могу сделать это с помощью консоли (sudo mv некоторый/файл /etc/некоторый/файл, sudo nano /etc/some/file) и т. д., но я нахожу этот способ немного неуклюжим. Назовите меня избалованным, но я действительно привык к инструментам с графическим интерфейсом, таким как Nautilus и Gedit.

Такие дистрибутивы, как Ubuntu Mate или Mint, упрощают задачу: я могу щелкнуть папку правой кнопкой мыши, после чего появится контекстное меню с такими параметрами, как «открыть как администратор". С этого момента двойной щелчок по текстовому файлу открывает его в gedit с повышенными привилегиями.

Однако я не могу найти такой вариант в версии Ubuntu Unity по умолчанию:

введите описание изображения здесь

Примечание:

  • я в курсе вопроса Способы запуска Nautilus с повышенными привилегиями , но рекомендуемое здесь решение - использовать гксудо, который больше не работает
  • Я полагаю, я всегда могу сделать sudo gedit /etc/что угодно, но - AFAIK - используя судо с инструментами GUI сильно опрометчиво
  • Я помню, некоторые говорят, что не рекомендуется запускать инструменты с графическим интерфейсом с повышенными привилегиями. вообще. Однако, похоже, это не так, поскольку некоторые инструменты с графическим интерфейсом по умолчанию сами запрашивают повышение прав, и Ubuntu Software, возможно, является одним из наиболее ярких примеров:

введите описание изображения здесь

Есть ли способ запустить Nautilus или Gedit с повышенными привилегиями?

muru avatar
флаг us
Отвечает ли это на ваш вопрос? [Как открыть Nautilus от имени администратора в Ubuntu 19.04] (https://askubuntu.com/questions/1171784/how-to-open-nautilus-as-admin-in-ubuntu-19-04)
muru avatar
флаг us
Элемент `admin://` также должен работать с другими утилитами GNOME, такими как gedit.
Paul Benson avatar
флаг us
Когда я использовал Ubuntu, я редактировал текстовые файлы с помощью «sudo gedit» в течение нескольких лет, и у меня никогда не было проблем. В качестве альтернативы редактируйте корневые текстовые файлы с помощью «sudo nano», который я сейчас использую больше, поскольку это универсальный текстовый редактор Linux. «gksudo» был заменен (с помощью gedit) «gedit admin:///PathToRootFile».
gaazkam avatar
флаг au
@muru Эта ошибка: `GDBus.Error:org.freedesktop.PolicyKit1.Error.Failled: субъект процесса Unix не имеет установленного uid`
gaazkam avatar
флаг au
@PaulBenson См. выше.
Paul Benson avatar
флаг us
@gaazkam `xed admin://.........` отлично работает с Mint, как это было, когда я использовал gedit с Ubuntu, поэтому я не верю, что что-то изменилось. Так, например, `gedit admin:///etc/hosts` должен открыть ваш файл hosts после ввода пароля.
gaazkam avatar
флаг au
@PaulBenson Как я уже сказал, это приводит к «GDBus.Error: org.freedesktop.PolicyKit1.Error.Failled: субъект процесса Unix не имеет набора uid». Ubuntu 21.10, версия по умолчанию (не Lubuntu, Kubuntu или любой другой ремикс)
heynnema avatar
флаг ru
**Правильный** способ запуска приложений с графическим интерфейсом с привилегиями из CLI — использовать `sudo -H`. пример: `sudo -H gedit /etc/имя_файла`.
Paul Benson avatar
флаг us
Я не пробовал Ubuntu 21, перейдя на Mint и Manjaro после Ubuntu 20.04, которая всегда работала для меня. Просто не понравился Гном.Так что не знаю, есть ли ошибка с 21. Если вы запустите `id -ng myusername`, он покажет вас как члена sudo?
gaazkam avatar
флаг au
@PaulBenson `id -ng m` печатает только `m`, но я все еще могу использовать sudo. `groups m` показывает `m adm cdrom sudo dip plugdev lpadmin lxd sambashare`.
gaazkam avatar
флаг au
@heynnema Вау, после многих лет чтения «*никогда не используйте `sudo` для приложений с графическим интерфейсом, вместо этого используйте `gksudo`/`pkexec`/`admin://`/`что-то еще`/`абсолютно ничего, никогда не запускайте приложения с графическим интерфейсом как root`*» Я немного удивлен, прочитав, что могу использовать `sudo -H` для запуска приложений с графическим интерфейсом... Но эй, это работает :)
heynnema avatar
флаг ru
@gaazkam Я положил это в быстрый ответ. Если вы считаете, что это отвечает на ваш вопрос, не забудьте принять его, нажав на значок галочки, который появляется слева от моего ответа. Спасибо!
флаг ar
Отвечает ли это на ваш вопрос? [Как запустить Nautilus с правами root?](https://askubuntu.com/questions/156998/how-do-i-start-nautilus-as-root)
heynnema avatar
флаг ru
@gaazkam Статус, пожалуйста...
gaazkam avatar
флаг au
@heynnema Я бы с радостью принял ваш ответ, если бы было ясно, что ваш подход действительно рекомендуется. Он прост в использовании, удобен и, похоже, работает, но... Мне всегда говорили, что мы не должны использовать sudo для запуска приложений с графическим интерфейсом, *хотя* это всегда работало. Вы цитируете документацию, в которой говорится, что `sudo -H` «*запрашивает, чтобы политика безопасности установила переменную среды HOME в домашний каталог, указанный записью базы данных паролей целевого пользователя.*» (продолжение)
gaazkam avatar
флаг au
... Достаточно ли этого, чтобы исправить проблемы, которые (нас всегда предупреждали) могут возникнуть при запуске приложений с графическим интерфейсом с помощью sudo? Трудно судить, так как я действительно не знаю, какие именно проблемы могут возникнуть и как.Обратите внимание, что в документации, которую вы процитировали, четко не сказано, что опция `-H` «* делает безопасным запуск приложений с графическим интерфейсом с `sudo`*», и поэтому, я считаю, ваш ответ должен объяснить, почему и как `sudo -H` является «*правильным*» способом повысить права приложения с графическим интерфейсом.
gaazkam avatar
флаг au
@heynnema Прошу прощения, если то, что я сказал, звучит грубо; Я не совсем уверен, что я в состоянии рассмотреть ваш ответ таким образом. Итак, не будучи уверенным в том, что ваш подход действительно правильный, я бы воздержался от суждений и не голосовал. Но так как вы спросили о статусе... ну вот.
heynnema avatar
флаг ru
@gaazkam Я отредактировал свой ответ, чтобы предоставить немного больше информации и сделать его более понятным для вас.
Рейтинг:3
флаг cn

Вы можете легко получить контекстное меню, которое позволяет открыть файл с привилегиями root, установив пакет Наутилус-админ. Это расширение nautilus добавляет два пункта контекстного меню. Один из них позволяет открыть файл от имени пользователя root для редактирования в gedit. Другая запись позволяет вам открыть окно nautilus с правами root.

Пакет включен в стандартные репозитории Ubuntu и может быть установлен с помощью команды

sudo apt установить nautilus-admin

Он основан на админке GNOME, т. е. эффект такой же, как если бы вы открыли файл из командной строки с помощью администратор:// URI, например.

gedit admin:///etc/fstab
gaazkam avatar
флаг au
Ошибка nautilus-admin и admin://: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failled: у субъекта процесса Unix нет установленного uid.
Рейтинг:2
флаг cn
raj

Ты можешь использовать pkexec вместо гксудо. Мой способ бега, например. гэдит с повышенными привилегиями - создать скрипт, например /usr/местные/бин/su_gedit, со следующим содержанием:

#!/бин/баш
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit $*

Затем вы можете создать .рабочий стол файл для этого скрипта, например /usr/доля/приложения/su_gedit.desktop (Я не проверял, находится ли другое место, кроме /usr/доля/приложения будет работать), скопировав его содержимое из org.gnome.gedit.desktop и модифицировать соответствующим образом, т.е. изменение Имя= и Комментарий= строки на все, что вы хотите (например, Name=Корневой текстовый редактор и Comment=Редактировать текстовые файлы с привилегиями root) и замена гэдит к /usr/местные/бин/su_gedit в целом Исполнитель= линии.

После того, как вы это сделаете, щелкнув правой кнопкой мыши в Nautilus файл, который обычно открывается в gedit, и выбрав «Открыть с помощью другой программы», вы должны увидеть в списке запись «Корневой текстовый редактор». Даже если его там нет, если вы нажмете кнопку «Показать все программы», вы сможете его выбрать.

Другой способ — создать аналогичный скрипт, работающий с повышенными правами. гном-терминали создайте пусковую установку для этого скрипта, например. на панели GNOME или на рабочем столе. С этого терминала вы можете просто запустить гэдит как корень. Это то, что я обычно делаю.

gaazkam avatar
флаг au
Не самый простой способ, но... ЭТО РАБОТАЕТ :)
Рейтинг:0
флаг ru

Из комментариев...

правильный и самый простой способ запустить приложения с графическим интерфейсом с привилегиями из CLI - использовать судо -H.

пример: sudo -H gedit /etc/имя файла

От судо справочная страница...

 -H, --set-домой
             Запросите, чтобы политика безопасности установила среду HOME
             переменная в домашний каталог, указанный целью
             запись базы паролей пользователя. В зависимости от политики,
             это может быть поведением по умолчанию.

Итак -ЧАС флаг делает судо предполагать кореньдомашний каталог как ДОМ вместо домашнего каталога текущего пользователя. В противном случае некоторые файлы в пользовательдомашний каталог станет владельцем root, что может привести к различным проблемам.

Запись: выдержка из Что означает флаг «-H» в «sudo -H»?

Наиболее распространенная проблема использования судо без -ЧАС вариант — создание цикла входа в систему.

Это может произойти из-за того, что следующие файлы изменяются с your_username:your_username на root:root...

-rw------- 1 your_username your_username 407910 2 ноября 08:56 .ICEauthority
-rw------- 1 your_username your_username 58 23 июня 2017 .Xauthority
флаг us
Есть ли у вас дополнительные сведения о том, почему ~сейчас~ рекомендуемый подход, хотя в течение многих лет нам говорили никогда не запускать графические приложения с использованием `sudo`? Была ли недавно добавлена ​​опция `-H` в `sudo`? Почему установка «домашнего каталога, указанного целью» решает предыдущую проблему с выполнением приложений с графическим интерфейсом с помощью «sudo»?
heynnema avatar
флаг ru
@PJSingh Для частичного ответа см. https://askubuntu.com/questions/1206020/what-does-h-flag-in-sudo-h-mean. Самая распространенная проблема — циклы входа в систему.
Рейтинг:0
флаг ke

Немо — файловый менеджер по умолчанию, поставляемый с Cinnamon Desktop. Немо позволяет вам щелкните правой кнопкой мыши в любом месте данного каталога и "Открыть как корень."

Затем открывается второе окно с синим баннером «повышенные привилегии».

Надеюсь это поможет!

Примечание - (Похоже, вы хотите продолжать использовать Nautilus — так что не обращайте внимания на этот совет, если вы не хотите переключаться на другой файловый менеджер.)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.