09
Feb
08

Eseguire automaticamente script all’avvio di Ubuntu

Per poter creare uno script che venga automaticamente lanciato ad ogni avvio di Ubuntu, dobbiamo creare un file .sh nella cartella /etc/init.d/.
Quindi:
sudo gedit /etc/init.d/nomescript.sh

Scriviamo all’interno del file lo scirpt che vogliamo sia lanciato, diamo i permessi di esecuzione:
sudo chmod a+x /etc/init.d/nomescript.sh

ed infine lo lanciamo:
sudo update-rc.d nomescript.sh defaults

Ora lo script verrà eseguito ad ogni avvio della macchina.


21 Risposte a “Eseguire automaticamente script all’avvio di Ubuntu”


  1. 1 Algol
    9 Febbraio 2008 alle 18:28

    messo questo script come da te segnalato…
    ma nessuna traccia all’avvio:

    #!/bin/sh
    beryl –replace &
    emerald –replace &

    uso kde ma mi par di capire che nn c’entri

  2. 2 bax
    10 Febbraio 2008 alle 10:18

    e se lo script lo lanci manualmente funziona??

  3. 4 Fabio
    10 Febbraio 2008 alle 14:18

    Ciao forse è meglio che i comandi tipo beryl ed emerald tu le inserisca dopo il boot del sistema, perchè interessano una modifica della grafica (di X). Il motivo per cui così non funziona è che probabilmente mancanno particolari variabili d’ambiente che non sono ancora state settate. Gli script /etc/init.d/ sono usati solitamente per lanciare dei servizi che richiedano i privilegi di root, ad esempio il bluetooth e la connessione ad internet, quindi andrebbero usati solo in questo caso.

    Oltre agli script in /etc/init.d/ c’è un’altro modo per far partire programmi al boot, infatti ad ogni avvio viene eseguito il file /etc/rc.local, che di default non contiene alcun comando. Se si vuol inserire un comando che richieda i privilegi di root e non abbia bisogno di esser lanciato con una precisa priorità, quella di /etc/rc.local è la soluzione più semplice.

    ciao

  4. 5 bax
    10 Febbraio 2008 alle 18:34

    ti ringrazio Fabio per la precisazione. ;-)

  5. 6 Algol
    11 Febbraio 2008 alle 14:14

    per ritornare alla situazione precedente devo solo rimuovere lo script di beryl da /etc/init.d/ ?

  6. 7 Fabio
    11 Febbraio 2008 alle 16:15

    No

    Perchè devi togliere anche i link nei vari /etc/rc*
    Se non mi sbaglio dovresti fare così
    togli lo script /etc/init.d
    e poi usi
    sudo update-rc.d remove
    comunque dai una letta al manuale (man update-rc.d)
    ciao

  7. 8 ramas
    21 Febbraio 2008 alle 19:46

    Ciao

    forse dovresti aggiungere che lo script da lanciare deve prevedere una struttura di questo tipo:

    case “$1″ in
    start)
    # codice da eseguire quando lanci lo script
    ;;
    stop)
    # codice da eseguire quando fermi lo script (anche niente)
    ;;
    *)
    # in caso sia lanciato senza parametri
    ;;
    esac

  8. 9 haakon
    2 Maggio 2008 alle 14:47

    Ciao.

    E se invece voglio eseguire uno script alla _chiusura_ di ubuntu?

    Spero di non essere OT.

    Grazie

  9. 4 Maggio 2008 alle 19:14

    no tranquillo.. sinceramente non ti so aiutare, ma se qualcuno ha qualche idea, posti pure

  10. 29 Maggio 2008 alle 18:51

    non è più semplice mettere il nome dello script su /etc/rc.local? Così parte quando tutto è già avviato…

  11. 29 Maggio 2008 alle 19:05

    @ ugaciaka: si.. occhio ai permessi però

  12. 26 Settembre 2008 alle 17:55

    Grazie mille… utilissima guidina… sono riuscito nel mio intento…

  13. 14 Elenina
    15 Novembre 2008 alle 20:18

    Beati voi… Io da bestiale principiante non so proprio come fare…

  14. 16 Novembre 2008 alle 17:53

    se hai bisogno di aiuto, basta chiedere. Ci sentiamo via mail, senza problemi. :-)

  15. 16 Elenina
    16 Novembre 2008 alle 20:20

    Mi sa che ho proprio bisogno di aiuto Bax… Ma non ho la tua email.

  16. 17 Novembre 2008 alle 8:49

    Se la mail che hai inserito per inserire i commenti è corretta, ti dovrebbe essere arrivata una mia mail..

  17. 18 Elenina
    17 Novembre 2008 alle 23:51

    Email ricevuta… Risposta inviata. Grazie Bax :-)

  18. 19 boss
    7 Febbraio 2009 alle 20:49

    ottimo grazie

    per tornare alla situazione di prima basta fare

    sudo rm /etc/init.d/nomescript.sh

    sudo update-rc.d remove

    ovviamente non mettete le

  19. 20 Lacirex
    5 Aprile 2009 alle 21:51

    Ma come mai mi dice che non ho i permessi sufficienti per salvare il file nella cartella init.d???

  20. 6 Aprile 2009 alle 16:14

    hai fatto il tutto da sudo o su??


Lascia un commento