martedì 27 novembre 2007

Time to leave!

Sta volta voglio affrontare l'uso di un comando/programma di Unix che alcuni potrebbero considerare un poco anacronistico. Stò parlando di leave. Un programmino che gira in background e che ci aiuta a non perdere la cognizione del tempo. In sostanza leave è una sveglia/timer.

Si può settare leave per avvisarci ad una data ora o fra un tot di tempo.
:~&leave +15
Per ricordarci di andarcene fra 15 minuti.
:~&leave 2115
Per ricordarci che dobbiamo sortire alle 21:15.
Se dovessimo invocare leave senza argomenti sarebbe lui stesso a chiederci esplicitamente quando avvertirci.
:~$ leave
When do you have to leave?
La maniera per rispondere è la stessa con cui passare i parametri direttamente a linea di comando. La conferma dell'avvenuto avvio di leave sarà, in tutti i casi, sempre una cosa del tipo:
Alarm set for Tue Nov 27 20:00. (pid 6124)
Mi sembra che non ci sia nulla da spiegare!
Una volta settato leave lascierà l'utente libero di lavorare, alla shell ovviamente, fino a 5 minuti prima dell'ora X. A cinque minuti partirà il primo avviso. Ad 1 minuto il secondo. All'ora X e ogni minuto successivo leave disturberà l'user ricordandogli che deve andarsene. Solo dopo 10 minuti dallo scadere del timer leave si cheterà!

I mesaggi di leave:
You have to leave in 5 minutes.
Just one more minute!
Time to leave!
[...]
That was the last time I'll tell you. Bye.
Dopo lo scadere certe versioni/implementazioni ripetono sempre "Time to leave!" altre invece si sbizzarriscono con messaggi più vari.

Bisogna ricordarsi che leave è un programma/processo "normale" e quindi dipende dall padre. Insomma, se chiudete la shell da cui lo avete avviato chiudete anche lui, inoltre non usa files per memorizzare le impostazioni che quindi sono "labili".
Certe versioni/implementazioni usano accompagnare i messaggi anche con il suono della campanella di sistema (beep). A parole sembra una vaccata ma vi giuro che funziona... stressa da morire!

leave usa un modo abbastanza singolare per interpretare gli orari che gli passate, mi spiego meglio; se siamo di pomeriggio e diamo un comando del tipo:
:~$ leave 0830
Alarm set for Tue Nov 27 20:30. (pid 7071)
leave non intende "0830" come le otto e trenta minuti del mattino successivo ma come le otto e mezza della sera stessa (le venti insomma). Lo si capisce anche dall'output di conferma.

Non tutti i sistemi, ormai, adottano leave nella installazione "standard".
Nel caso di Debian etch si può seguire la più canonica delle vie:
:~$apt-get update
:~$apt-get install leave

Nessun commento:

Posta un commento