Tempo a macchina spenta e scalo numero da ciclo

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
Pehua
Prode Principiante
Messaggi: 241
Iscrizione: martedì 19 aprile 2022, 9:02
Desktop: Ubuntu
Distribuzione: Ubuntu 22.04.4 LTS
Sesso: Maschile

Tempo a macchina spenta e scalo numero da ciclo

Messaggio da Pehua »

Salve, dovrei dare un semplice comando ogni 2400 minuti ed ho due problematiche, una e' che se spengo la macchia il conteggio dei minuti ricomincia ogni volta da capo e mi sballa tutto, un altro e' che non so come cambiare numero immagine di volta in volta quando scade il tempo, es:

Nel mio piccolo ho scritto questo:

Codice: Seleziona tutto


#!/bin/bash

while [ 1 ]; do

~/Documenti/Conky/Luna/11.png ~/.conky/luna.png

sleep 2400m

done

Come dicevo sopra, questo semplice script funzionerebbe se la macchina fosse sempre accesa e non lo e', primo problema, il secondo e' che allo scadere dei minuti assegnati dovrebbe scegliere invece che l' immagine 11.png, l' immagine 10.png e questo fino a zero per poi ricominciare da 16.png, 15.png etc...
Scalare di un numero ogni volta che scadono i 2400 minuti in modo che copi l' immagine diversa di volta in volta, il tutto per 16 immagini e ricominciare...

Questi sono i due problemi che non so risolvere, se possibile farlo mi aiutereste?

Grazie
Al di la delle impostazioni culturali :birra:
Avatar utente
Actarus5
Prode Principiante
Messaggi: 220
Iscrizione: mercoledì 3 luglio 2013, 17:15
Desktop: Mate
Distribuzione: Fedora
Località: Abutalabashuneba

Re: Tempo a macchina spenta e scalo numero da ciclo

Messaggio da Actarus5 »

Hai già provato a vedere il comando cron? Mi sa che è la soluzione migliore per questo genere di cose
"An extremely helpful console message: “SPANK! SPANK! SPANK! Naughty programmer!”. Really, I’m not joking about that one."
Lucio C
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 370
Iscrizione: venerdì 10 dicembre 2021, 18:33
Desktop: fvwm
Distribuzione: (X)Ubuntu20@home; openSUSE42.3@work
Sesso: Maschile
Località: Paneropoli

Re: Tempo a macchina spenta e scalo numero da ciclo

Messaggio da Lucio C »

Anche crontab non gira a macchina spenta. Come pure il comando "at" (potrebbe restare in coda come at job ma non so che fine faccia se il tempo previsto passa)
Ora siccome 2400 minuti sono 40 ore, sarebbe piu' semplice calcolare a priori i tempi in cui le varie immagini devono "ruotare" e mettere quello in crontab ... ovviamente se deve cambiare quando e' spenta non lo fara' .

Il comando date puo' essere usato come date +%s per avere il tempo corrente in secondi dal 1970. Se si sa il tempo di partenza in tali unita', si puo' fare la differenza tra il tempo corrente e il tempo di partenza e calcolare il numero di cicli da 2400*60 sec e prenderlo modulo 16 e in un qualsiasi momento linkare il file giusto se nel nome ha il numero di ciclo. Si puo' mettere qualcosa nella profile di login che si aggancia al ciclo corrente, e poi si rischedula alla (frazione del) prossimo ciclo.
The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. (G.B. Shaw)
Avatar utente
Pehua
Prode Principiante
Messaggi: 241
Iscrizione: martedì 19 aprile 2022, 9:02
Desktop: Ubuntu
Distribuzione: Ubuntu 22.04.4 LTS
Sesso: Maschile

Re: Tempo a macchina spenta e scalo numero da ciclo

Messaggio da Pehua »

Ciao e grazie delle risposte, quello della data puo' essere un soluzione ma se salta il momento non online, salta anche il cambio immagine.

Ora, ho trovato una soluzione al problema radice e cioe' ho rinominato in una nuova cartella, una per una le immagini interessate in modo che corrispondano al numero di icona proposto dal file xml dal quale estrapolo le immagini di meteo e fasi lunari, tanto per hobby, ma devo dire interessante farlo.

Pero' provero' la cosa della data anche se a macchina spenta non puo' eseguire nulla...
Neanche alla prima accensione della macchina potrebbe recuperare ma se ne salta due o piu' per coincidenza?

Mhhh nn credo funzioni...

Pero' interessante trovare una soluzione per altre cose che si agganciano all' argomento, per le icone conky non ha senso se si riesce, a macchina accesa di estrarre i dati del momento dal web, come infatti ho soluzionato :lol:

Stay tune e buona serata.
Al di la delle impostazioni culturali :birra:
Lucio C
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 370
Iscrizione: venerdì 10 dicembre 2021, 18:33
Desktop: fvwm
Distribuzione: (X)Ubuntu20@home; openSUSE42.3@work
Sesso: Maschile
Località: Paneropoli

Re: Tempo a macchina spenta e scalo numero da ciclo

Messaggio da Lucio C »

Il cambio deve avvenire a un tempo T=T0+nP dove T0 e' la data di partenza e P e' il periodo (2400 min), n e' il numero di cicli (intero).

Se riaccendo al tempo t piccolo inverto t=T0+mP per ricavare un m (reale), quindi avrebbe dovuto cambiare a n parte intera di m, e il prossimo cambio sara' a n+1.

Dopo di che, se le immagini o eventi sono 16 si consideri n mod 16. Non c'e' nulla di impossibile.
The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. (G.B. Shaw)
Avatar utente
neolight69
Prode Principiante
Messaggi: 86
Iscrizione: lunedì 19 giugno 2006, 11:06
Desktop: gnome-shell
Distribuzione: Ubuntu 22.04 i686
Contatti:

Re: Tempo a macchina spenta e scalo numero da ciclo

Messaggio da neolight69 »

si potrebbe salvare su file il timestamp e ultimo n dell'utimo cambio di immagine.
E poi nello script prima del ciclo while calcolare se sono passati 2400 minuti dall'ultimo cambio cosi da forzare il numero n che ci si aspetta dell'immagine e poi procedere come al solito
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2867
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: Tempo a macchina spenta e scalo numero da ciclo

Messaggio da DoctorStrange »

Estrai la marcatura temporale istantanea dall'orologio di sistema. Converti poi questa lettura nell'epoch. L'epoch è, in tutto e per tutto una costante numerica. Converti l'intervallo di tempo che hai scelto (2400 minuti) anche questi in epoch. Sommi l'epoch della marcatura temporale all'epoch dell'intervallo scelto. In questo modo otterrai l'epoch corrispondente a quando dovrà intervenire il trigger per fare la tua azione. Se vuoi, puoi salvare questa epoch calcolata in una variabile disponibile anche in caso di riavvio del sistema. Quando il sistema sarà stato spento e riavviato, leggerai l'epoch che prima hai salvato, la confronti con l'attuale e, se corrisponde, saprai che è trascorso il tuo intervallo, e fai l'operazione che vuoi fare.
Avatar utente
Pehua
Prode Principiante
Messaggi: 241
Iscrizione: martedì 19 aprile 2022, 9:02
Desktop: Ubuntu
Distribuzione: Ubuntu 22.04.4 LTS
Sesso: Maschile

Re: Tempo a macchina spenta e scalo numero da ciclo

Messaggio da Pehua »

Ciao grazie delle risposte, ho soluzionato usando il tempo della fase lunare da un sito web per il meteo, ho rinominato le 16 immagini a disposizione suddivise per i 29,xxx giorni come indicate dal sito usando le API per avere le info sulla fase lunare che invece di richiamare le immagini stilizzate (bruttine) richiama le mie, certo alcune sono doppie perche 16 non bastano per i 29,xxx giorni di tutto il ciclo, ma va benissimo e le immagini sono decisamente belle. Mi accontento. :)
Al di la delle impostazioni culturali :birra:
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti