Passer au contenu principal

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