TIP Effacer la console en se déconnectant

Un article de Gentoo Linux Wiki.

Cet article fait partie des Trucs et Astuces.

Terminaux / Shells CD Live X Portage Système Systèmes de fichier Autres


Le fichier ~/.bash_logout est exécuté à chaque fois que vous quittez une session bash. Aussi, il suffit d'ajouter la commande "clear" à votre fichier ~/.bash_logout et votre console sera effacée après chaque déconnexion.

Fichier : ~/.bash_logout
(#!/bin/sh) Ce sheebang n'est pas nécessaire pour son utilisation
clear

Cette solution pose tout de même un problème : celui d'effacer la console à chaque changement d'utilisateur ou de déconnexion ssh, ce qui n'est pas souvent l'effet désiré. Cette solution est spécifique à bash.




Alternativement, on peut tirer profit du fichier '/etc/issue'. Ce fichier contient le message d'accueil affiché lorsque l'utilisateur est invité à s'identifier via la console. Par exemple, chez moi, ce fichier contient :

Fichier : /etc/issue

This is \n.\O (\s \m \r) \t

Le but est donc d'ajouter à ce fichier la commande qui effacera la console avant d'afficher l'invite de connexion, à savoir ^L. Voici comment réaliser cette opération :

Code : Ajouter ^L au début de /etc/issue
cp /etc/issue /etc/issue.bak
cat > etc/issue
^L  (voir ci-dessous pour plus d'explication sur la manière de procéder)
cat /etc/issue.bak >> /etc/issue

La commande ^L est obtenue en tapant Ctrl-L, Entrée pour valider, puis Ctrl-D pour terminer l'insertion.

Pour vérifier le résultat, il suffit de lancer

Code : Vérifier le résultat

cat /etc/issue

La console devrait être effacée avant que ne s'affiche le message d'accueil.

Cette solution à l'avantage, sur la précédente, de n'effacer la console que lorsque l'utilisateur physique s'en déconnecte effectivement, autrement dit lorsque la console est prête à accueillir un nouvel utilisateur physique.