Programma non parte da script al reboot

Bash, Perl, Python, Ruby, ...
Rispondi
bepp65.2
Newbie
Newbie
Messaggi: 8
Iscritto il: 30/03/2024, 14:50

Programma non parte da script al reboot

Messaggio da bepp65.2 »

Buongiorno a tutti.
Possiedo un Chromebook in cui c'è installato Debian GNU/Linux 12 (bookworm).

Sto cercando di fare partire un programma installato nella parte linux, al reboot.
Ho impostato Crontab con l'opzione @reboot che lancia uno script.

Lo script parte sicuramente perché ho messo degli echo ad inizio e fine e vedo entrambi.
Voglio lanciare il programma deja-dup (backup), ma questo non parte. Per evitare Backup inutili nelle prove ho cambiato programma di lancio mettendo al suo posto nello script il pgm Abiword, ma neanche questo parte.
Entrambi i programmi sono nella /usr/bin che è nel path.

Se però lancio lo script da terminale, i programmi vengono lanciati entrambi.

Ho provato a mettere anche istruzioni di sleep o wait, senza risultato.

Guardando qualche forum avevo provato anche a mettere il comando disown pensando che la chiusura dello script abbattesse il processo, ma mi viene restituito l'errore: Comando non riconosciuto.

Qui sotto allego txt,con in ordine: le istruzioni Crontab, le istruzioni script, le 2 mail che il sistema mi invia con le segnalazioni per il Crontab e poi per lo Script.
Shell lancio pgm.txt
Istruzioni Crontab e Script + segnalazioni via mail
(1.87 KiB) Scaricato 4 volte
Sapreste aiutarmi?
Grazie.
Beppe
Avatar utente
azioga
Hero Member
Hero Member
Messaggi: 1329
Iscritto il: 03/09/2018, 7:53

Re: Programma non parte da script al reboot

Messaggio da azioga »

I programmi hanno bisogno della grafica per funzionare?
Forse crontab li esegue troppo presto.
bepp65.2
Newbie
Newbie
Messaggi: 8
Iscritto il: 30/03/2024, 14:50

Re: Programma non parte da script al reboot

Messaggio da bepp65.2 »

Ciao.

Ci avevo pensato... infatti gli sleep e i wait nello script servivano a questo.
Ora ho messo 10 minuti di sleep nel crontab oltre che i 5 minuti nello script. Pertanto l'istruzione in crontab ora è:
@reboot sleep 600 && /home/bepp652/reboot_beppe.sh .

Non è cambiato nulla.
Tra l'altro ho provato ad avviare manualmente il "monitor di Sistema" di Linux appena il sistema si è riavviato e ho visto i processi lanciati: lo sleep da 600, lo script, l'altro sleep da 5 minuti. Anche a livello di segnalazioni nelle mail non è cambiato nulla.

Nelle prove a volte ho avviato anche Thunderbird (sempre per attivare la parte grafica) prima degli sleep, ma non è mai partito nulla... Funziona solamente se lo lancio a mano da terminale.

Come posso vedere se mancasse qualche servizio necessario? Avete idee?

Grazie.
Beppe
Avatar utente
azioga
Hero Member
Hero Member
Messaggi: 1329
Iscritto il: 03/09/2018, 7:53

Re: Programma non parte da script al reboot

Messaggio da azioga »

Se il server x non è ancora partito è un problema, ma anche se è partito ma non sa quale è la $DISPLAY è un problema
bepp65.2
Newbie
Newbie
Messaggi: 8
Iscritto il: 30/03/2024, 14:50

Re: Programma non parte da script al reboot

Messaggio da bepp65.2 »

Io non capisco granché perché sono alle primissime armi. Però, parlando di $DISPLAY mi è venuto in mente che, in alcune delle mie prove, nelle mail è apparso quanto sotto... Probabilmente quando ho provato questa istruzione nello script:

/usr/bin/abiword &
disown
wait || echo "Process not found"


La mail ha risposto così (vedere parte in rosso):

Return-path: <bepp652@penguin>
Envelope-to: bepp652@penguin
Delivery-date: Fri, 29 Mar 2024 23:57:07 +0100
Received: from bepp652 by penguin with local (Exim 4.96)
(envelope-from <bepp652@penguin>)
id 1rqL9n-0000A9-0y
for bepp652@penguin;
Fri, 29 Mar 2024 23:57:07 +0100
From: root@penguin (Cron Daemon)
To: bepp652@penguin
Subject: Cron <bepp652@penguin> /home/bepp652/reboot_beppe.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/bepp652>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=bepp652>
Message-Id: <E1rqL9n-0000A9-0y@penguin>
Date: Fri, 29 Mar 2024 23:57:07 +0100
X-UID: 48
Status: OR

Hello Beppe Inzio Shell
abiword
No DISPLAY: this may not be what you want.
Hello Beppe Fine Shell
bepp65.2
Newbie
Newbie
Messaggi: 8
Iscritto il: 30/03/2024, 14:50

Re: Programma non parte da script al reboot

Messaggio da bepp65.2 »

Ho rifatto ora una prova facendo echo di $PATH e $DISPLAY. Questo è l'output al reboot:

Hello Beppe Inzio Shell
PATH
/usr/bin:/bin
DISPLAY

/home/bepp652/reboot_beppe.sh: 10: disown: not found
Hello Beppe Fine Shell
?

Come si vede a $DISPLAY non appare nulla... Se la lancio manualmente, oltre a lanciare correttamente Abiword, questo è il risultato:

Hello Beppe Inzio Shell
PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
DISPLAY
:0
./reboot_beppe.sh: 10: disown: not found
Hello Beppe Fine Shell

Una domanda: che significa $DISPLAY= :0 ?? :eek:
Idee su problema?
Grazie.
Avatar utente
azioga
Hero Member
Hero Member
Messaggi: 1329
Iscritto il: 03/09/2018, 7:53

Re: Programma non parte da script al reboot

Messaggio da azioga »

dai un'occhiata qui:
https://askubuntu.com/questions/514167/ ... -from-cron

tieni anche conto che crontab sembra eseguire il programma come root

spiega bene cosa vorresti che accadesse.
deja-dup è un programma con la sua grafica o può essere eseguito da terminale in background?
che ambiente desktop usi?(kde,gnome,xfce,..)
bepp65.2
Newbie
Newbie
Messaggi: 8
Iscritto il: 30/03/2024, 14:50

Re: Programma non parte da script al reboot

Messaggio da bepp65.2 »

L'ambiente è gnome (lo deduco dai processi attivi).
Io voglio attivare deja-dup, che sicuramente ha una parte grafica, al reboot per fare partire in automatico i backup.
Ho provato pertanto a mettere DISPLAY=:0, ma non ottengo alcun risultato (però non mi sembra la lanci come root a vedere sotto) :

X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/bepp652>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=bepp652>
Message-Id: <E1rqsnb-0000IG-0a@penguin>
Date: Sun, 31 Mar 2024 12:52:27 +0200
X-UID: 71
Status: OR


Hello Beppe Inzio Shell
PATH
/usr/bin:/bin
DISPLAY
:0

(org.gnome.DejaDup:1129): Gtk-WARNING **: 12:52:27.166: cannot open display:
Hello Beppe Fine Shell

Come ulteriore tentativo, ho provato ad attivare solamente il processo che in realtà a serve a me: deja-dup-monitor. Ho infatti notato che questo rimane sempre attivo anche se si chiude la parte grafica, perché è quello che schedula i backup automatici. Ovviamente non ho la certezza che servano altri processi attivi che partono lanciando il programma normalmente, ma era per fare una prova... Ho pertanto messo nel PATH anche la sua cartella di esecuzione (/usr/libexec/deja-dup), però anche questo non funziona al reboot, ma solamente se lancio lo script manualmente da terminale... Sotto le segnalazioni con il lancio con deja-dup-monitor da reboot:

X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/bepp652>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=bepp652>
Message-Id: <E1rr2fk-0000Cf-2E@penguin>
Date: Sun, 31 Mar 2024 23:25:00 +0200
X-UID: 73
Status: OR

Hello Beppe Inzio Shell
PATH
/usr/bin:/bin:/usr/libexec/deja-dup
DISPLAY
:0
Hello Beppe Fine Shell

Buona notte e grazie per la pazienza..... :D
Avatar utente
azioga
Hero Member
Hero Member
Messaggi: 1329
Iscritto il: 03/09/2018, 7:53

Re: Programma non parte da script al reboot

Messaggio da azioga »

Se da terminale esegui deja-dup --backup parte senza grafica?
Se si potresti usare quel comando.

Oppure potresti non usare cron, ma l'autostart di gnome, spostando la partenza al primo login.
Tanto se devi fare partire un programma grafico l'ambiente deve essere in piedi.
bepp65.2
Newbie
Newbie
Messaggi: 8
Iscritto il: 30/03/2024, 14:50

Re: Programma non parte da script al reboot

Messaggio da bepp65.2 »

Ho provato a fare deja-dup --backup da terminale: parte, ma si apre un pannellino con le operazioni che sta facendo... quindi parte la grafica...
Penso però di avervi dato info errate. :(

Su Chromebook non parte un ambiente grafico tipo Desktop. Partono i programmi lanciati comunque dalla parte grafica di Chrome. Vanno in una sessione Linux, si vedono nel "Monitor di sitema" di Linux, ma non so come riescano ad interfacciare la parte grafica di linux.
Ho provato a creare il file /etc/rc.local (era inesistente sul mio sistema), ma non è servito a nulla. Poi ho provato a creare un file abiword.desktop (o anche org.gnome.DejaDup.desktop) nella cartella home .config/autostart, come suggerito qui: ""
Il fatto che il mio ambiente non avesse la cartella autostart (l'ho creata io), mi ha fatto pensare che non avrebbe funzionato, e così è stato...

Insomma... mi spiace di avervi fatto perdere tempo..

Se volete dare un'occhiata ai processi (visualizzazione dipendenze) che girano sotto linux con la mia chiave
Monitor di Sistema Linux - Processi mia user
Monitor di Sistema Linux - Processi mia user
vedrete che Abiword, Gedit e Deja-dup, girano tutti e 3 sotto un processo linux...
Li ho però lanciati da Chromebook... E' lo stesso succede se li lanciassi dal mio script a mano sul terminale.... Ma non dallo script in reboot.

Vi ringrazio comunque dell'attenzione.
Ciao.
Avatar utente
azioga
Hero Member
Hero Member
Messaggi: 1329
Iscritto il: 03/09/2018, 7:53

Re: Programma non parte da script al reboot

Messaggio da azioga »

E provare con luckybackup?

viewtopic.php?t=57184#p230793
bepp65.2
Newbie
Newbie
Messaggi: 8
Iscritto il: 30/03/2024, 14:50

Re: Programma non parte da script al reboot

Messaggio da bepp65.2 »

Grazie, ma ho ormai tanti backup con questo software...

Volevo lanciarlo al reboot per evitare di perdere dei backup se non mi ricordassi di rilanciarlo subito.... A volte passa qualche giorno prima che mi ricordi :)

Grazie comunque.
Buona notte.
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: Programma non parte da script al reboot

Messaggio da marcomg »

Fallo lanciare dal desktop environment al login.
~ Marco
bepp65.2
Newbie
Newbie
Messaggi: 8
Iscritto il: 30/03/2024, 14:50

Re: Programma non parte da script al reboot

Messaggio da bepp65.2 »

Scusami, non avevo letto..
Se per desktop Environment intendi Gnome.... non penso sia installato sul mio Chromebook.

Grazie comunque.
Rispondi