|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
[Ubuntu 10.04 Server] Script avvio
Ciao!
Come faccio a far partire un comando all'avvio del sistema? Ho sul muletto Ubuntu 10.04 server ( quindi senza interfaccia grafica ), un solo utente. Ho tentato di mettere i comandi da eseguire dentro /etc/rc.local ma zero fortuna. Da ricordare anche che ho provato a cambiare anche i permessi con un Codice:
sudo chmod u+x /etc/rc.local rc.local, come scritto nei commenti del file, termina con exit 0. Può essere perchè sto cercando di far partire uno script in python e una sessione di screen "ridotta ad icona" ( detached )? Io ho scritto questo: Codice:
# ~/ lo uso per andare nella cartella della home dell'utente, visto che non so dove ci troviamo quando viene eseguito questo comando #start e' un parametro richiesto dallo script python ~/script.py start #il paramatro -dmS esegue una nuova istanza di screen facendo partire irss e dandogli l'alias irc screen -dmS irc irssi exit 0
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
rc.local dovrebbe essere eseguito da root, quindi direi che ~/script.py sia espanso in /root/script.py, che non credo sia il percorso corretto.
Metti il percorso assoluto del file, vedi output del comando: Codice:
ls -la ~/script.py
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Non va...
Mi pare così banale la risoluzione, eppure non funziona ![]() Avevo provato tenendo nello script solo: Codice:
screen -dmS irc irssi Codice:
screen -list EDIT: Ho visto ora che lo script ha permessi rw-r--r-- . Può essere per quello? Come è possibile che io riesca comunque ad avviarlo se do Codice:
python script.py
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
Ultima modifica di kwb : 28-11-2012 alle 12:56. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2000
Città: bergamo
Messaggi: 713
|
la mia risposta potrebbe sembrare provocatoria ma non è questo il mio intento:
metti come script soltanto "touch /prova.txt" exit 0 questo comando crea un file vuoto nella root così cominci a vedere se funziona rc.local poi se va aggiungi uno a uno i tuoi comandi oppure fai un altro script in bash che li lancia e metti in rc.local di lanciare questo script ciao, Marco |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
mettere un "&" dopo il comando ?
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
Ma poi, che senso ha fare uno script in bash se rc.local è lui stesso uno script in bash? Bhe, ma lo script in python si esegue e poi si chiude, qualunque sia l'esito dell'output. Invece il comando: Codice:
screen -dmS irc irssi ![]()
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
ma "screen -dmS irc irssi" da terminale ti funziona?
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Si certo
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
ma l'esecuzione fatta da terminale...
credo sia diversa da quella fatta da uno script lanciato dal sistema, in questo caso dall'ultima parte del boot |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
Non è che magari visto che il comando viene fatto partire da root, questo poi rimane invisibile all'utente normale? Perchè io quando guardavo i processi aperti da screen davo il comando senza sudo ( come ho sempre fatto ). Altrimenti, come si può fare?
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Sep 2012
Messaggi: 303
|
Nello script proverei ad inserire i comandi con path completo.
Inoltre non dovresti lanciare screen tramite sudo -u nomeutente ? |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Oct 2000
Città: bergamo
Messaggi: 713
|
se devi lanciare un comando come se fossi un utente qualsiasi e non root suggerisco questa soluzione
Quote:
fai un file di testo che inizia così #!/bin/bash nome del comando ciao, Marco |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Bene, già meglio.
Con Codice:
sudo -u nome_utente Lo script no.... ![]()
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
che ambiente grafico usi ?
prova a mettere il comando nel autorun, dovrebbe partire appena fai il login |
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Oct 2000
Città: bergamo
Messaggi: 713
|
per sacarde
Quote:
in rc.local una riga con su - nomeutente -c '/home/utente/script' e poi /home/utente/script fatto così Codice:
#!/bin/bash cd /cartellagiusta python script.py > /home/utente/log & poi una volta che va puoi togliere dal > in poi che serve solo a noi per avere più info sul problema p.s. ovviamente lo script deve essere eseguibile dall'utente quindi chmod 755 script Ultima modifica di linux_goblin : 29-11-2012 alle 15:10. Motivo: aggiunta |
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
secondo me...
il problema viene quando un comando interagisce con un terminale (screen) se eseguito dal sistrema: rc.local... a che terminale lo associa? |
![]() |
![]() |
![]() |
#17 | ||
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
In pratica avevo 2 script, chiamati uguale salvo la mancanza dell'estensione ( quello senza estensione era scritto in bash, l'altro - con l'estensione - in python ). E quello in bash faceva quello che mi avevi suggerito. Ad ogni modo, ho rediretto l'output su un file di testo e mi dice che il demone non esiste, salvo poi suggerirmi di avviare un comando per installarlo. Il comando non viene riconosciuto. Quote:
![]() Ho commentato anche la riga di screen ma non cambia niente...
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:34.