Test, in quale runlevel inizia normalmente la tua macchina.
runlevel
Spesso si tratta di 5 o 2 - ci sono varie convenzioni, ma nulla di veramente stabilito, a parte. Ubuntu usa 2, mentre la precedente distribuzione che ho sempre usato
- 1 utente singolo (super utente)
- 2 multiutente
- 3 multiutente + rete
- 4 non utilizzato / definibile dall'utente
- 5 multiutente, rete + X11
Quindi crei un collegamento simbolico dal tuo script di script, forse /etc/init.d/foobar
a/etc/rc2.d/SXYfoobar
S significa 'Avvia questo script in questo runlevel (qui: 2). XY è un numero decimale a due cifre, che è rilevante per la sequenza, gli script vengono avviati.
Se dipendi dallo script S45barfoo da eseguire prima di te e S55foofoo dipende dal tuo script, scegli xy tra 45 e 55. Per numeri uguali l'ordine di avvio non è definito.
Ubuntu nel frattempo è passato (sta passando) a un'altra procedura di avvio, chiamata upstart
.
E nota: non sempre i collegamenti si collegano a /etc/rcX.d
- a volte è /etc/init/rcX.d
o qualcosa di simile, ma dovrebbe essere facile da trovare, da qualche parte sotto / ecc.
Se vuoi avviare qualcosa alla fine degli script di avvio, /etc/rc.local
sarebbe un file da cercare, ma se dipende da X11 già in esecuzione, potresti cercare un'opzione di avvio automatico del tuo ambiente desktop o /etc/X11/Xsession.d/
con un modello simile come descritto sopra.
Se dipendi dalla rete attiva, esiste una directory separata (if-up.d) e per i dispositivi montati come unità USB esterne /etc/udev/rules.d/
.
/etc/init
,/etc/init.d
,/etc/rc.d
,/etc/rc.local
e pochi altri ha?