Come avviare l'applicazione come root da Unity Launcher?


81

Principalmente sto cercando un modo per aggiungere un'applicazione alla barra di avvio di Unity ed eseguirla come root.

Attualmente, anche se avvio l'applicazione con sudo e la appingo dopo l'avvio, la prossima volta verrà avviata come utente corrente.

Triste, ma non esiste alcuna opzione del menu di scelta rapida "Esegui come ...".

Aggiornamento : sono passato a gnome3 e ora sono contento, mi manca solo la ricerca.


Se conosci il rischio di eseguire app grafiche come root e desideri continuare, segui il passaggio 1 qui: askubuntu.com/a/118483/41562
edm

Non hai capito la domanda, so come usarla sudoe l'ho già sintonizzata. La domanda è su come posso creare un collegamento a Ubuntu Unity Launcher per l'app che voglio eseguire come root.
sorin

Per il lanciatore di unità, non lo so. Ma se hai un file che risiede sul desktop e vuoi eseguirlo come gksu, puoi installare l'estensione "nautilus execute".
Apprendista curioso,

Risposte:


89

Se vuoi che l'app venga sempre eseguita come root

  1. Appunta l'applicazione al launcher normalmente.

  2. Individua il file .desktop delle applicazioni che si troverà in:

    • /usr/share/applications/APPNAME.desktop
    • ~/.local/share/applications/APPNAME.desktop
    • o altrove, utilizzare locate .desktop|grep APPAME
  3. Apri con gedit:

    gksudo gedit /usr/share/applications/APPNAME.desktop
    
  4. Quindi cambia linea

    Exec=APP_COMMAND
    

    per

    Exec=gksudo -k -u root APP_COMMAND
    
  5. Salva

Questo comando manterrà anche l'ambiente che è molto utile se è necessario connettersi ad altri server e utilizzare la chiave privata.

Per aggiungere un'opzione di lista rapida a "Esegui come root"

Seguire i passaggi 1, 2 e 3 sopra

Se il programma di avvio attualmente non ha altre opzioni di elenco rapido, basta aggiungerlo alla fine del documento

X-Ayatana-Desktop-Shortcuts=Runroot

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

51
Perché è così estremamente complicato impostare un semplice collegamento? Cosa c'è di sbagliato con i creatori di Ubuntu?
Sliq,

7
per il gksudocomando, devi installaresudo apt-get install gksu
Arul

5
@Sliq si chiama security ... Avere un'icona desktop che viene eseguita come root senza la necessità di una password ... è molto pericolosa ... Per me questa è in realtà la gioia di Linux ... Se volessi una vita facile .. userei Windows come sistema principale ...
Angry 84

3
@sliq "Perché è così difficile eseguire grep dal prompt di cmd? Cosa c'è che non va nei creatori di Windows?" - Creatori di Ubuntu ... probabilmente
codice del codice

3
obsoleto per Ubuntu 18.XX Qualcuno può fornire una soluzione aggiornata?
JRsz,

4

Nel menu principale in Sistema, Preferenze, digita gksudoil campo Comando di Proprietà Launcher, ad esempio:

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

Il campo del tuo nome potrebbe dire:

sudo yourapplication

Quindi gli utenti sanno che potrebbero vedere un popup di password e perché ...

Non sono sicuro di Unity Launcher vs Menu principale. Forse questo aiuta?

In bocca al lupo


3
Probabilmente sai che straight sudonon dovrebbe essere usato per eseguire applicazioni grafiche come root- dopotutto, stai usando gksudo(che è uno dei buoni modi). Per lo stesso motivo, è sconsigliabile utilizzare sudonel campo del nome il modo in cui lo si è fatto, poiché in questo modo (1) si crea l'impressione tra gli utenti sufficientemente esperti che il programma di avvio è stato creato in modo errato e (2) si crea l'impressione tra gli utenti meno esperti che è OK usare direttamente sudoper eseguire applicazioni grafiche come root.
Eliah Kagan,

Unable to locate package gksudo- Ubuntu 18.04.1 LTS
8bitjunkie

2

Quanto segue sembra fare la stessa cosa, senza bisogno di attributi privati:

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

Come alternativa rapida e semplice alle ingombranti richieste descritte nelle risposte qui, ho preso l'abitudine di fare quanto segue ...

  1. Avvia un nuovo terminale.
  2. accedere gksu nautilus

    ( sudo -i nautilusfunziona anche.)

La finestra risultante cade sotto l'ombrello sudo, quindi puoi usarla per accedere e avviare file con privilegi sudo-root sul contenuto del tuo cuore fino a quando non si chiude. Ciò è utile per le situazioni transitorie in cui non è necessaria una soluzione più permanente. Lo uso regolarmente per estrarre i file compressi in cartelle di sistema protette, per esempio.


2
L'uso sudocon applicazioni grafiche NON è una buona idea. Utilizzare gksuo se è necessario sudo -i.
Seth,

2
@Seth: aggiornato. Inoltre ... Una piccola spiegazione del perché non dovrebbe essere negligente, piuttosto che dire semplicemente in modo criptico che non è una buona idea.
Syndog,

Un thread interessante sull'argomento: crunchbang.org/forums/viewtopic.php?id=8468
Syndog


1

Sto postando questo in risposta alla domanda che @ Chris ha posto nei commenti:

Supponiamo di voler creare un launcher che aprirà "file manager (nautilus)" come root. Quindi puoi farlo:

Terminale aperto Genere:

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

Premi invio. Quando ti viene chiesto, inserisci la password di accesso e premi invio. Questo aprirà gedit (editor di testo). Ora, incolla quanto segue lì:

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

Ora salvalo ed esci. Hai fatto. Ora, se cerchi sul trattino, troverai un nuovo lanciatore "Nautilus (Root)". Facendo clic su questo verrà richiesta la password e, al termine dell'autenticazione, nautilus verrà aperto come root.

Nota: fare attenzione quando si esegue "Nautilus (Root)". In questa modalità è possibile eliminare quasi tutto /e rompere il sistema.


0

Questo dovrebbe forse essere un commento sulla soluzione di Daniel. Funziona per me, anche in Ubuntu 15.04. Ho dovuto mettere il comando tra virgolette a Exec=gksu "nautilus --new-window"causa dell'argomento aggiuntivo. Inoltre, in qualche modo, non so perché, ho dovuto modificare direttamente il programma di avvio per mantenere il menu originale (insieme alla nuova opzione). Se trascini il tuo launcher, questo verrà registrato, ma non avrai lo stesso menu.

In Ubuntu 15.04, il programma di avvio per nautilus è usr/share/applications/org.gnome.Nautilus.desktop. Devi usare la riga di comando per vedere il vero nome del file.

Ulteriori ricerche mi portano a quella che credo sia un'opzione migliore: http://ubuntuhandbook.org/index.php/2014/04/ubuntu-14-04-add-open-as-rootadministrator-to-context-menu/ . Invece di aprire Nautilus interamente come root, questo ti consente di aprire le directory selezionate come root all'interno di Nautilus. Comunque, ho controllato e queste due opzioni sono compatibili. Se apri Nautilus come root e poi usi la seconda opzione per aprire una directory come root, la apre semplicemente senza chiedere la password.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.