Affichage date et heure sur le terminal
Commande showdt
Il d'abord disposer des binaires watch
et figlet
(à installer).
Par défaut, les polices de figlet
sont dans le répertoire /usr/share/figlet/
.
On peut y installer la police doh (https://www.figlet.org/fonts/doh.flf)
Puis on peut assigner l'alias :
alias showdt="watch -tn 1 date '+%A\ %d\ %B%n%H\ \ \:\ \ %M\ \:\ \ %S' \| figlet -ct -f doh"
Toutes les secondes la date est raffraîchie et s'affiche au centre du terminal en utilisant toute la largeur disponible.
Lancer dans un tmux
Il faut évidemment que tmux
soit installer.
#!/bin/bash
session="big_clock"
window="$session":0
# Create new session but not attached
tmux new-session -d -s "$session"
# Launch showdt alias in the window
tmux send-keys -t "$window" 'showdt' C-m
# Attach the session
tmux -2 attach-session -t "$session"
Mettre à jour l'affichage
Il arrive que l'affichage cafouille (notamment quand le PC est très sollicité), avec un cronjob on peut actualiser l'affichage.
#!/bin/bash
session="big_clock"
# Check if session exists
exist_bg=$(tmux has-session -t "$session" 2>/dev/null)
if [[ "$exist_bg" != 0 ]]; then
client=$(tmux list-client | sed 's/:/ /g' | awk '/tty/ {print $1}' | awk 'NR==1')
# Refresh screen
tmux refresh -t "$client"
if [[ "$?" != 0 ]]; then
# Log in /var/log/messages
logger "Session "$session" NOT reloaded"
exit 1
else
# logger "Session "$session" reloaded"
exit 0
fi
else
exit 1
fi
Pas de commentaires