PDA

Visualizza la versione completa : Come mettere uno script in esecuzione automatica


marietto2008
28-07-2010, 12:23
Ciao a tutti,

sto cercando di mettere uno script in esecuzione automatica non appena Ubuntu si avvia. Vi faccio presente che non uso desktop grafici,sono in modalita' testuale.
Ho fatto svariati tentativi di metterlo nel file /etc/rc.local e nel file /etc/init.d/rc.local,ma non mi parte mai quando Ubuntu si riavvia. Dove sbaglio ?
Grazie ragazzi.

marietto2008
28-07-2010, 12:39
Ho provato anche questa procedura,ma non si avvia appena dopo che mi sono loggato. Ne da root ne da non root :

1.Copiato lo script (myscript.sh) in /etc/init.d/
2.Reso lo script eseguibile : chmod +x /etc/init.d/myscript.sh
3.Eseguito il comando sudo update-rc.d -f myscript.sh start 99 2 3 4 5 .

toraz
28-07-2010, 14:14
Sarebbe utile sapere che tentativi hai fatto per sapere dove hai sbagliato. :)


Originariamente inviato da marietto2008
Ho provato anche questa procedura,ma non si avvia appena dopo che mi sono loggato. Ne da root ne da non root :

1.Copiato lo script (myscript.sh) in /etc/init.d/
2.Reso lo script eseguibile : chmod +x /etc/init.d/myscript.sh
3.Eseguito il comando sudo update-rc.d -f myscript.sh start 99 2 3 4 5 .
E nemmeno c'e` ragione che parta dopo il login in questo modo (e nemmeno con rc.local in effetti), semmai partira` prima.
Tu vuoi che sia eseguito prima o dopo che ti sei loggato?

marietto2008
28-07-2010, 14:57
Dopo...ecco cosa deve fare essenzialmente :

1) montare il lettore cd,dato che per via di un bug,non viene montato automaticamente tramite il file fstab

2) avviare una sessione di dosemu

quindi il contenuto dovrebbe essere questo :

clear
mount -t auto /dev/cdrom /mnt/cdrom
dosemu

si dovrebbe avviare sia che ci si logga da utente normale che da root

marietto2008
28-07-2010, 15:17
/root/.bash_profile ; /home/ubuntu/.bash_profile ...e' tanto facile,che ce vo' ?

toraz
28-07-2010, 15:35
Originariamente inviato da marietto2008
/root/.bash_profile ; /home/ubuntu/.bash_profile ...e' tanto facile,che ce vo' ?
Se devi eseguirlo per ogni utente /etc/profile e` ancora piu` semplice... :)

marietto2008
28-07-2010, 16:37
no,tanto lo devo usare solo da utente normale. ecco lo scriptino :

#! /bin/sh

clear
su
read -p "Inserisci il disco di installazione di Windows e poi premi un tasto :)" disco
mount -t auto /dev/cdrom /mnt/cdrom
dosemu

ora sorge un problema,dopo che è stata immessa la password lo script non esegue le righe al di sotto del "su" !

marietto2008
28-07-2010, 16:42
Dannazione,inoltre se viene immessa una password sbagliata invece lo script esegue le righe al di sotto del su,invece sarebbe meglio se continuasse a richiederla fino a che non viene immessa quella giusta. Le cose si complicano :)

toraz
28-07-2010, 17:08
Originariamente inviato da marietto2008
si dovrebbe avviare sia che ci si logga da utente normale che da root



Originariamente inviato da marietto2008
no,tanto lo devo usare solo da utente normale.


Sei del tutto sicuro di sapere cosa vuoi fare?!? :)



Originariamente inviato da marietto2008
dopo che è stata immessa la password lo script non esegue le righe al di sotto del "su"


E` normale, su avvia una shell con i privilegi dell'utente che gli passi come parametro, oppure avvia una shell, esegue un comando e termina. Immagino che a te su serva solo per eseguire mount


su -c 'mount eccetera eccetera'




Originariamente inviato da marietto2008
se viene immessa una password sbagliata invece lo script esegue le righe al di sotto del su

E` normale anche questo, se sbagli la password su termina.

marietto2008
28-07-2010, 17:57
Quello che volevo fare era fare un LIVE backup della mia installazione tramite Remastersys e poi dopo che si era caricata in memoria,avviare lo script che doveva montare il CDROM (ma non ha funzionato,perchè non esiste la directory /mnt/cdrom e non so dove metterla,dato che mi trovo su una LIVE) e avviare una sessione di Dosemu. Per quanto riguarda il primo punto ho fatto una prova. Ho caricato in memoria la LIVE della vera Ubuntu 10.04 e poi quando il caricamento è finito,ho provato a smontare il CDROM,per poterne montare un altro. Ma non c'è stato verso,non solo non esce premendo l'apposito tasto,ma non si riesce a smontarlo nemmeno con il comando umount /cdrom. Non capisco perchè. Dopotutto il sistema è caricato in memoria,tenere bloccato il supporto a cosa gli serve ? Poi ho fatto un altra prova. Sempre dalla LIVE ho scaricato ed installato dosemu e l'ho avviato. In questo caso non ha dato problemi,invece a me non è partito. Strano,perchè sempre di LIVE si tratta.

/mnt/cdrom non esiste

/usr/bin/dosemu : I/O error
[: 136: =: Unexpected Error
exec 167 : /usr/bin/dosemu.bin I/O error.

Loading