Как запустить приложение как root от Unity Launcher?

В основном я ищу способ прикрепить приложение к панели запуска Unity и запустить его от имени пользователя root.

В настоящее время, даже если я запускаю приложение с помощью sudo и прикалываю его после запуска, оно в следующий раз запустится как текущий пользователь.

Грустно, но нет опции контекстного меню «запускать как ...».

Обновление : я перешел на gnome3 и теперь я счастлив, мне не хватает только поиска.

89
задан 20 April 2012 в 16:19

9 ответов

Если вы хотите, чтобы приложение всегда запускалось от имени пользователя root

  1. Закрепите приложение на панели запуска как обычно.

  2. Найдите файл приложений .desktop, который находится в одном из следующих мест:

    • / usr / share / applications / APPNAME.desktop
    • ~ / .local / share / applications / APPNAME.desktop
    • или в другом месте, используйте locate .desktop | grep APPAME
  3. Откройте с помощью gedit:

     gksudo gedit / usr /  поделиться / приложения / APPNAME.desktop
     
  4. Затем измените строку

     Exec = APP_COMMAND
     

    -

     Exec = gksudo -k -u root APP_COMMAND
     
  5. Сохранить

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

Чтобы добавить опцию быстрого списка в «Запуск от имени root»

Следуйте шаги 1, 2 и 3 выше

Если в настоящее время программа запуска не имеет других параметров быстрого списка, просто добавьте это в конец документа

X-Ayatana-Desktop-Shortcuts=Runroot

[Runroot Shortcut Group]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND
TargetEnvironment=Unity
91
ответ дан 20 April 2012 в 16:19

Возможно, это должен быть комментарий к решению Даниила. Это работает на меня, даже в Ubuntu 15.04. Из-за дополнительного аргумента мне пришлось поставить команду между кавычками Exec=gksu "nautilus --new-window". Также, почему-то, не знаю почему, мне пришлось напрямую редактировать пусковую установку, чтобы сохранить оригинальное меню (вместе с новой опцией). Если вы перетащите вашу собственную пусковую установку, она будет зарегистрирована, но у вас не будет того же самого меню.

В Ubuntu 15.04 пусковая установка для nautilus - это usr/share/applications/org.gnome.Nautilus.desktop. Вы должны использовать командную строку, чтобы увидеть реальное имя файла.

Дальнейшие исследования привели меня к тому, что я считаю лучшим вариантом : http://ubuntuhandbook.org/index.php/2014/04/ubuntu-14-04-add-open-as-rootadministrator-to-context-menu/ . Вместо того, чтобы открывать "Наутилус" полностью как Корень, это позволит Вам открыть выбранные каталоги как Корень внутри "Наутилуса". В любом случае, я установил флажок, и эти две опции совместимы. Если Вы открываете Nautilus как корень, а затем используете вторую опцию, чтобы открыть каталог как корень, то он просто открывает его, не спрашивая пароля.

0
ответ дан 20 April 2012 в 16:19

Я отправляю этот ответ на вопрос @ Крис , заданный в комментариях:

Предположим, вы хотите создать программу запуска, которая откроет "файловый менеджер (nautilus)" "как корень. Тогда вы можете сделать это:

Открыть терминал. Тип:

sudo -H gedit /usr/share/applications/nautilus_root.desktop

Нажмите ввод. При появлении запроса введите пароль для входа и нажмите Enter. Откроется gedit (текстовый редактор). Теперь вставьте туда следующее:

[DesktopEntry]
Encoding=UTF-8
Name=Nautilus(Root)
Comment=FileManager
Exec=gksu nautilus
Icon=file-manager
Categories=System;
Type=Application
Terminal=0

Теперь просто сохраните его и выйдите. Вы сделали. Теперь, если вы выполните поиск на тире, вы найдете новую пусковую установку «Nautilus (Root)». При нажатии на нее будет запрошен пароль, и после аутентификации наутилус будет открыт как root.

Примечание: будьте осторожны при запуске «Nautilus (Root)». В этом режиме вы можете удалить практически все из / и сломать систему.

1
ответ дан 20 April 2012 в 16:19

Următorul pare să facă același lucru , fără a avea nevoie de atribute private:

Actions=Runroot;Another

[Desktop Action Runroot]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND

[Desktop Action Another]
Name=Another action
Exec=whatever
2
ответ дан 20 April 2012 в 16:19

Как быстрая и простая альтернатива громоздким требованиям, описанным здесь в ответах, я вошла в привычку делать следующее. ...

  1. Запустите новый терминал.
  2. Введите gksu nautilus

    (sudo -i nautilus тоже работает)

Результирующее окно попадает под зонт sudo, так что вы можете использовать его для доступа и запуска файлов с привилегиями sudo-root к содержимому вашего сердца до тех пор, пока оно не закроется. Это удобно в преходящих ситуациях, когда вам не нужно более постоянное решение. Я использую его регулярно для извлечения сжатых файлов в защищенные системные папки, например.

2
ответ дан 20 April 2012 в 16:19

በዋናው ምናሌ ውስጥ በስርዓት ፣ ምርጫዎች ፣ዓይነት gksudo በመነሻ ባህሪዎች ትዕዛዝ መስክ ውስጥ ለምሳሌ-

/usr/bin/gksudo /usr/bin/yourapplication

የስምዎ መስክ እንዲህ ሊል ይችላል-

sudo yourapplication

ስለዚህ ተጠቃሚዎች የይለፍ ቃል ብቅ ማለት ማየት እንደሚችሉ ያውቃሉ እና ለምን ...

ስለ አንድነት ማስጀመሪያ እና ስለ ዋናው ምናሌ እርግጠኛ አይደለሁም ፡፡ ምናልባት ይህ ይረዳል?

መልካም ዕድል

4
ответ дан 20 April 2012 в 16:19

Поскольку это старый вопрос со старым ответом; В дополнение к удивительному объяснению @edm

Начиная с Ubuntu 18.04 и более поздних версий, gksudo ( gksu ) устарел, и поэтому у него нет кандидата на установку в официальных репозиториях. Альтернативой является использование pkexec.

Отредактируйте файл /usr/share/applications/APPNAME.desktop и измените строку

Exec=APP_COMMAND

на

Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY APP_COMMAND

Подробнее о pkexec здесь .

2
ответ дан 22 November 2019 в 23:12

Чтобы создать ярлык, который запускает сценарий с правами root в Ubuntu 20.04 , вы можете использовать:

  1. Добавьте следующую строку в / etc / sudoers ( sudo gedit / etc / sudoers )

    • ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ ALL = NOPASSWD: / script / path
  2. Создайте ярлык на рабочем столе:

    • gedit ~ / Desktop / mysho rtcut.desktop
  3. Добавьте следующий контент:

    #! / usr / bin / env xdg-open [Desktop Entry] Версия = 1.0 Тип = Приложение Терминал = ложь Exec = sudo / script / путь myarg Name = Название ярлыка Комментарий = Быстрый комментарий Значок = / usr / share / icons / Humanity / actions / 16 / media -play-start.svg

  4. Щелкните правой кнопкой мыши и ярлык и выберите Разрешить запуск :

enter image description here

0
ответ дан 5 January 2021 в 23:44

По состоянию на Ubuntu 18.04 GKSU амортизируется, PKEExec требует установки и не всегда работает. Вот еще один способ:

на Ответ EDM , отредактируйте строку .desktop . Строка Exec, но предписание только с помощью «sudo», например, / USR / BIN / NVIDIA-НАСТРОЙКИ становится SUDO / USR / BIN / NVIDIA-НАСТРОЙКИ . Пользователи Menulibre (и, возможно, другие редакторы меню GUI): команда строка в меню отправляется в строку в файле .desktop , поэтому вы не Т надо мешать копать .desktop файл.

Если вы попробуете это из меню сейчас, ничего не произойдет. Sudo называется без графического интерфейса, поэтому ничего не происходит, и он не проходит молча. Это ожидается.

В терминале: Sudo Visudo Затем добавьте в нижней части (вставку правой кнопкой мыши):

YOURUSERNAME ALL=(ALL) NOPASSWD: /usr/bin/nvidia-settings

Ctrl + O для сохранения, ввода, Ctrl + X, чтобы закрыть файл. Должен работать сейчас.

0
ответ дан 2 April 2021 в 01:38

Другие вопросы по тегам:

Похожие вопросы: