Come posso avviare un'applicazione GUI come root al login dell'utente?


12

Vorrei avviare un'applicazione Gnome con i privilegi di root al login.

Ho provato ad aggiungere uno script da avviare usando update-rc.d myscript.sh defaults.

Sembra che l'applicazione si avvii, ma non è più presente quando arriva la GUI di Gnome.

Come posso fare ciò?

Risposte:


12

Fare cose grafiche come root è una cattiva idea per la sicurezza, ma suppongo che tu lo sappia e che hai esaurito qualsiasi altro metodo. Devi fare due cose:

  1. Consenti al tuo utente di eseguire il comando tramite sudosenza password modificando /etc/sudoers. Puoi trovare una breve spiegazione qui ma stai cercando qualcosa del genere:

    username ALL=(ALL:ALL) NOPASSWD:/path/to/command 
    

    Ovviamente sostituisci usernamee /path/to/commandcon valori reali, inseriscilo e poi prova sudo -k /path/to/command(il -kgiusto significa che ti chiederà la tua password se non la conosce meglio - non ti chiederà se la modifica dei tuoi sudoers è corretta).

  2. Avvia automaticamente l'applicazione tramite le "Applicazioni di avvio" standard, chiamando sudo /path/to/command

E questo è tutto.


Se inserisci username ALL = (ALL: ALL) NOPASSWD: / path / to / command in / etc / sudoers, sudo fallisce con un errore di analisi. ALL = NOPASSWD: / path / to / command sembra analizzare, ma mi chiede la password quando eseguo il comando.
benlad

1
Quindi, sembra che "username ALL = (ALL) NOPASSWD: / path / to / command" debba essere l'ultimo nel file sudoers e anche "username ALL = (ALL: ALL) NOPASSWD: / path / to / command" non funziona con Ubuntu 8.04.
benlad

5

Potresti provare a creare un programma di avvio ( .desktopfile) personalizzato con gksudo <command>come comando da eseguire e aggiungere quel programma di avvio alle impostazioni di avvio automatico ( System - Settings - Autostarto Startup). Un altro modo sarebbe quello di inserire il .desktopfile direttamente in ~/.config/autostarto (per tutti gli utenti) /etc/xdg/autostart.

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.