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

69

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

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

Грустно, но нет контекстного меню «run as ...».

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

    
задан sorin 04.04.2012 в 12:05
источник

6 ответов

80

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

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

  2. Найдите файлы приложений .desktop, которые будут либо:

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

    gksudo gedit /usr/share/applications/APPNAME.desktop
    
  4. Затем измените строку

    Exec=APP_COMMAND
    

    to

    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
    
ответ дан edm 04.04.2012 в 13:53
источник
3

В главном меню в разделе «Система» выберите « gksudo » в поле «Command» свойств «Launcher Properties», например:

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

В поле «Ваше имя» можно указать:

  

sudo yourapplication

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

Я не уверен в Unity Launcher vs Main Menu. Может быть, это помогает?

Удачи.

    
ответ дан boolship 20.04.2012 в 04:40
2

Следующее, похоже, делает то же самое, не требуя частных атрибутов:

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
    
ответ дан Daniel 24.06.2012 в 22:50
2

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

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

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

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

    
ответ дан Syndog 20.02.2014 в 16:41
1

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

Предположим, вы хотите создать пусковую установку, которая откроет «файловый менеджер (nautilus)» как root. Затем вы можете сделать это:

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

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

Нажмите Enter. Когда вас спросят, введите свой пароль для входа и нажмите 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)». Нажав на это, вы спросите пароль, а после аутентификации nautilus будет открыт с правами root.

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

    
ответ дан Curious Apprentice 24.03.2013 в 11:18
0

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

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

Дальнейшие исследования привели меня к тому, что я считаю лучшим вариантом: Ссылка . Вместо того, чтобы открывать Nautilus полностью как Root, это позволяет открывать выбранные каталоги как Root внутри Nautilus. В любом случае, я проверил, и эти два варианта совместимы. Если вы откроете Nautilus как Root, а затем используйте второй вариант, чтобы открыть каталог как Root, он просто откроет его, не спрашивая пароль.     

ответ дан Dominic108 03.10.2015 в 13:19