PDA

Visualizza la versione completa : [C++/ubuntu] esecuzione di un programma all'avvio


taba93
22-03-2010, 16:39
ciao a tutti,
ho creato un programma in C su ubuntu che dovrebbe partire automaticamente all' avvio della macchina.
in pratica sto cercando un modo per far sì che all'avvio del sistema il programma (già compilato) parta in automatico senza bisogno di fare alcun che.

Grazie mille,
un saluto :ciauz:

antotan
22-03-2010, 17:35
Devi agire sulle directory degli script che lancia init quando entra in un determinato runlevel.
Le cartelle di solito sono /etc/[rc.d/]rcRUNLEVEL.d.
La cartella giusta dipende dal momento in cui vuoi lanciare lo script e di conseguenza l'applicazione.

Solitamente ti basta piazzare uno script nella cartella che vuoi, dargli i permessi 755 e l'appartenenza a root
Ad esempio



root:~# echo "touch /home/antonio/Desktop/testfile" > /etc/rc4.d/S35testinit
root:~# chmod 755 /etc/rc4.d/S35testinit
root:~# telinit 4


ovviamente al posto del percorso /home/antonio/Desktop/ mettici quello che vuoi.
In questo caso, ho creato uno script che si avvierà al runlevel 4.
Con telinit 4 faccio passare init al runlevel 4 (per testare il runlevel corrente, dai "runlevel" da console)
Se ti crea il file dopo l'ultimo comando, allora è andato tutto ok.

Passare ad un determinato runlevel ti fa avviare tutti gli script presenti nella relativa cartella degli script, quindi ti consiglio di guardarti bene lo startup del sistema su qualche manuale/sito, per non fare danni.

Nota anche il numeretto "35". Quel numero è utilizzato per ordinare gli script per priorità (se non sbaglio, più è grande più ha priorità).

Se vuoi usare una strada più semplice, puoi controllare se il tuo desktop manager supporta l'autostart. KDE mi pare di si, Gnome non lo so.

:ciauz:

Loading