Як запустити додаток як root від Unity Launcher?


81

В основному я шукаю спосіб закріпити додаток до панелі запуску Unity та запустити його як root.

Наразі, навіть якщо я запускаю програму з sudo та закріплюю її після запуску, вона запуститься як поточний користувач наступного разу.

Сумно, але немає параметра контекстного меню "запустити як ...".

Оновлення : я перейшов на gnome3, і тепер я задоволений, мені не вистачає лише пошуку.


Якщо ви знаєте ризик запустити графічні програми як корінь і все ще хочете продовжувати, виконайте крок 1 тут: askubuntu.com/a/118483/41562
edm

Ви не зрозуміли питання, я знаю, як це використовувати, sudoі я його вже налаштував. Питання полягає в тому, як я можу створити ярлик для запуску Ubuntu Unity до програми, яку я хочу запустити як root.
sorin

Щодо запуску єдності, я не знаю. Але якщо у вас на робочому столі розміщений файл і ви хочете запустити його як gksu, ви можете встановити розширення "nautilus Execute".
Цікавий учень

Відповіді:


89

Якщо ви хочете, щоб програма завжди працювала як 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
    

    до

    Exec=gksudo -k -u root APP_COMMAND
    
  5. Зберегти

Ця команда також збереже ваше середовище, що дуже корисно, якщо вам потрібно підключитися до інших серверів та використовувати ваш приватний ключ.

Щоб додати параметр швидкого списку до "Запустити як корінь"

Виконайте вище кроки 1, 2 та 3

Якщо у запуску зараз немає інших параметрів швидкого списку, просто додайте це до кінця документа

X-Ayatana-Desktop-Shortcuts=Runroot

[Runroot Shortcut Group]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND
TargetEnvironment=Unity

51
Чому так просто надзвичайно складно встановити простий ярлик? Що не так із творцями ubuntu?
Sliq

7
для gksudoкоманди, ви повинні встановитиsudo apt-get install gksu
Arul

5
@Sliq його називається безпекою ... Мати піктограму робочого столу, яка виконується як root без необхідності пароля ... дуже небезпечно ... Для мене це насправді радість Linux ... Якщо я хотів легкого життя .. я б використовував Windows як свою основну систему ...
Злий 84

3
@sliq "Чому так важко схопитись із запиту cmd? Що не так із творцями Windows?" - Творці Ubuntu ... ймовірно,
thenaglecode

3
застарів для Ubuntu 18.XX Чи може хтось надати оновлене рішення?
JRsz

4

У головному меню в розділі Система, Параметри введіть gksudoу полі Команда властивості запуску, наприклад:

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

У полі "Ваше ім'я" може бути зазначено:

судо тирапплікація

Таким чином, користувачі знають, що вони можуть бачити спливаючі паролі і чому ...

Я не впевнений про Unity Launcher vs Main Menu. Може, це допомагає?

Удачі


3
Ви, мабуть, знаєте, що прямо sudoне слід використовувати для запуску графічних додатків, як - rootзрештою, ви користуєтесь gksudo(що є одним із хороших способів). З тієї ж причини недоцільно використовувати sudoв полі імен так, як у вас є, оскільки це (1) створює враження у достатньо досвідчених користувачів про те, що ваш пусковий апарат зроблено неправильно, і (2) створює враження у менш досвідчених користувачів що добре використовувати прямо sudoдля запуску графічних додатків як root.
Елія Каган

Unable to locate package gksudo- Ubuntu 18.04.1 LTS
8bitjunkie

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

Unable to locate package gksudo- Ubuntu 18.04.1 LTS
8bitjunkie

2

Як швидка і проста альтернатива громіздким вимогам, описаним у відповідях тут, я звик робити наступні ...

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

    ( sudo -i nautilusтеж працює.)

Отримане вікно потрапляє під парасольку sudo, тому ви можете використовувати його для доступу та запуску файлів із привілеями sudo-root до вмісту вашого серця, поки воно не закриється. Це зручно для тимчасових ситуацій, коли вам не потрібно більш постійне рішення. Наприклад, я використовую це для вилучення стислих файлів у захищені системні папки, наприклад.


2
Використання sudoз графічними додатками НЕ є гарною ідеєю. Використовуйте gksuабо якщо потрібно sudo -i.
Сет

2
@Seth: оновлено. Крім того ... Невелике пояснення, чому його не звільнять, а не просто криптовано говорять, що це не гарна ідея.
Syndog

Цікава тема на тему: crunchbang.org/forums/viewtopic.php?id=8468
Syndog


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)". У цьому режимі ви можете видалити майже все, /і зламати систему.


0

Це може бути коментарем щодо рішення Даніеля. Це працює для мене навіть в 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 повністю відкривався як Root, це дозволяє відкривати вибрані каталоги як Root у Nautilus. У всякому разі, я перевірив, і ці два варіанти сумісні. Якщо ви відкриєте Nautilus як Root і використовуєте другий варіант, щоб відкрити каталог як Root, він просто відкриває його, не запитуючи пароль.

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