PDA

View Full Version : [Debian] Autorun script....


Fire Fox II
19-06-2013, 10:55
Salve raga

chiedo venia per l'argomento sicuramente trattato diverse volte ma nonostante diverse ricerche non riesco a venirne a capo.......

Dovrei "semplicemente" far partire uno script ad ogni avvio del s.o. che mi sincronizza il calendario di gnome con quello di google....

lo script è questo


#! /bin/sh
cd /home/debian/gnome-shell-google-calendar
./gnome-shell-google-calendar.py


permessi del file impostati con chmod 755

provato ad aggiungerlo tramite gnome-session-properities e non va...

provato ad aggiungerlo nella cartella /etc/init.d e poi avviato il comando


update-rc.d start-gnome-calendar.sh defaults


(dopo aver aggiunto il codice qui di seguito) ed ottengo using dependency based boot sequencing


### BEGIN INIT INFO
# Provides: calendar
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: avvio calendario
# Description: avvio sincronizzazione calendario con google
### END INIT INFO


A questa porzione di codice ho provato a fare diverse modifiche ma niente...
Come posso risolvere?

Thanks

sacarde
19-06-2013, 16:05
non ho capito ... non va?

mi pare la procedura corretta

http://www.giandoweb.it/guide/linux/eseguire-script-avvio-linux-automaticamente





p.s.
alternative:
- metterlo in /etc/rc.local
- metterlo nell'autostart dell'ambiente grafico

Gimli[2BV!2B]
19-06-2013, 22:03
Lo shabang (http://it.wikipedia.org/wiki/Shabang) con lo spazio non mi convince, ma forse non è un problema.

Credo che gnome-session-properties sia la strada giusta.

Non credo che eseguirlo da init con diritti root sia la cosa giusta, immagino sia un calendario legato al tuo utente.
Inoltre non mi risulta che update-rc.d sia più utilizzabile: da vario tempo c'è insserv. (http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot)
Ah, per completezza posso dirti che l'header che hai riportato mi sembra corretto ed è appunto necessario per insserv.


Chi è il proprietario del file e della cartella debian in /home? (non credo sia la home di nessun utente, vero?)
Lo script ha il diritto di esecuzione? Il tuo utente lo può eseguire ed accede alla cartella che lo contiene, vero?
Script senza spazio nello shabang (il cd è necessario?):
#!/bin/sh
cd /home/debian/gnome-shell-google-calendar
./gnome-shell-google-calendar.py

Fire Fox II
20-06-2013, 09:15
Grazie per i suggerimenti...
Ora è andato anche se non mi è molto chiaro perchè non andava prima...

Cmq l'importante è aver risolto...

Ho creato il file nella home con il seguente codice


#!/bin/sh
gnome-shell-google-calendar/gnome-shell-google-calendar.py


ed aggiunto a gnome-session-properties...

toni00t
13-02-2015, 12:46
ciao ho un dubbio a riguardo di questo : per far partire in automatico uno script all avvio si usa il comando update-rc.d : qual'è la connessione con inittab?
ho appena modificato inittab per far partire uno script all avvio e rilanciarlo nel caso muoia : a cosa mi serve usare update-rc.d ( che crea collegamenti simbolici nelle directory /etc/rc*.d se poi possono fare tutto da inittab?

sacarde
13-02-2015, 16:00
(a parte che le distro stanno passandi tutte a systemd)

ma nel inittab regoli le dir da eseguire in base ai runlevel

poi nelle singole dir hai tutti i collegamenti per i vari (a volte molti) servizi

toni00t
13-02-2015, 21:14
(a parte che le distro stanno passandi tutte a systemd)

ma nel inittab regoli le dir da eseguire in base ai runlevel

poi nelle singole dir hai tutti i collegamenti per i vari (a volte molti) servizi
ciao , ma nel file inittab posso mettere degli script che devono essere eseguiti all avvio : avendo gia update-rc.d a cosa serve tutto ciò ?

sacarde
14-02-2015, 07:58
inittab una volta impostato non viene quasi piu' modificato

mentre la gestione servizi (anche tantissimi) viene fatta da update-rc.d

http://guide.debianizzati.org/index.php/SysV



p.s.
un classico per eseguire all'avvio e' /etc/rc.local


p.s.
tutto questo e' superato da systemd

toni00t
16-02-2015, 18:49
inittab una volta impostato non viene quasi piu' modificato

mentre la gestione servizi (anche tantissimi) viene fatta da update-rc.d

http://guide.debianizzati.org/index.php/SysV



p.s.
un classico per eseguire all'avvio e' /etc/rc.local


p.s.
tutto questo e' superato da systemd
scusa , ma allora a cosa mi serviva mettere script con respawn (ad es) in inittab?
oltretutto se tale script è gia nelle dir rc*d come fa a prendere una decisione il sistema?

sacarde
16-02-2015, 19:12
di quale servizio parli?


intendi che e' un doppione?

toni00t
17-02-2015, 08:30
di quale servizio parli?


intendi che e' un doppione?
intendo che se ho uno script.sh e lo copio in /etc/init.d , se :
1) metto una riga nel file inittab con id:runlevel:respawn:script.sh

a cosa mi serve poi il comando update-rc.d? tanto lo script sarà lanciato lo stesso!!! ( visto che mi crea link simbolici nelle dir rc*.d )

sacarde
17-02-2015, 08:38
si infatti

se lo metti in inittab eviterei di metterlo tra i servizi