CentOS : Créer ses bannières personnalisées avec figlet
Sommaire
I. Présentation
Il arrive sur certains serveurs que l’on ait besoin de générer une bannière personnalisée, permettant aux différents utilisateurs de reconnaître la machine en question. Une commande que j’aime particulièrement parce qu’elle est vraiment simple d’utilisation et de mise en œuvre, c’est figlet.
II. Installation de figlet
Il suffit juste d’installer le package figlet pour pouvoir disposer de ce fabuleux outil :
yum install figlet
Après quoi on dispose alors, par défaut d’un certain nombre de fonts autorisant de nombreux effets de bannières.
III. Les principales options de figlet
L’outil possède de nombreuses options. Mais certaines d’entre elles permettent de façonner une bannière personnalisée selon ses besoins. La commande figlet s'exécute au travers d’une interface en ligne de commande en imprimant le résultat directement sur la sortie standard du terminal. Les principales options sont les suivantes :
- -f: permet de sélectionner la font à appliquer sur le texte.
- -d: change de dossier contenant les polices de caractères.
- -c: centre le texte à éditer.
- -l: aligne le résultat à gauche (ou –L dans un mode droite à gauche).
- -r: aligne le résultat à droite (ou –R dans un mode droite à gauche).
- -x: force l’affichage justifié (ou –X dans un mode droite à gauche).
- -t: force le texte à occuper la largeur complète du terminal.
- -w: force la longueur à utiliser (en nb de colonnes) pour le texte.
- -k: force le crénage (impression individuelle des lettres).
Par défaut, la font (police) sélectionnée est celle reportée par le résultat de la commande figlet –I3. Dans mon cas, il s’agit d’une fonte standard :
# figlet -I3Standard
Maintenant, lorsqu’on exécute la commande avec une chaîne de caractères (ici : TEST), on obtient le résultat suivant :
Il existe quelques fonts déjà précompilées. Pour lister l’intégralité des polices disponibles, on peut exécuter la commande suivante :
# showfigfonts
Ci-dessous quelques exemples de fonts accessibles :
Il existe bien d’autres fonts à mettre en œuvre. Celles-ci sont généralement contenues dans des fichiers de contrôle dont l’extension est .flf. Sur des systèmes UTF-8, on trouve également des fichiers .tlf. Ces fichiers sont stockés dans un répertoire par défaut (que l’on peut modifier en utilisant l’option –d).
REMARQUE : dans les exemples précédents, l’affichage n’est qu’en noir et blanc (ou du moins en bicolore), puisque l’on se trouve sur un terminal. Si vous souhaitez animer vos bannières et mettre de la couleur, il faut alors télécharger et installer le package toilet, supportant les fonts et bannières en couleur.
IV. Utilisation de figlet
Jouer avec figlet permet également de fixer la police de caractères que l’on souhaite utiliser pour afficher la bannière. Pour lister l’ensemble des polices dont on dispose il faut exécuter la commande figlist.
En termes d’utilisation, on peut utiliser le paramètre de chaîne de caractère après la commande figlet pour afficher la bannière, ou on peut aussi utiliser la sortie standard comme d’un moyen d’envoyer la chaîne souhaitée via un tube vers la commande figlet :
# echo 'TEST' | figlet
Cette dernière méthode correspond à l’option –p permettant de passer le contenu d’un fichier à figlet :
# figlet -p < /tmp/Test.txt
Outre le fait que l’on peut utiliser figlet pour afficher une bannière lors de l’ouverture de session, de façon générale, on peut également l’utiliser pour faire afficher du texte sous forme de bannière à l’ouverture de session utilisateur. Il suffit alors simplement d’éditer le fichier .bashrc et d’y ajouter à la fin, la commande figlet à faire afficher :
...figlet Bonjour $USER
On devrait alors recevoir l’affichage du texte suivant :
Il existe de nombreuses autres fonts téléchargeables depuis le site ftp://ftp.figlet.org/pub/figlet/fonts/. Une fois que l’on a récupéré un jeu de police (un des fichiers .tar.gz), il faut l’extraire dans le répertoire /usr/share/figlet ou préciser le répertoire à utiliser avec figlet, via l’option –d. Pour que ces nouvelles fontes soient accessibles à tous les utilisateurs, il faut les copier dans le répertoire par défaut des fontes de l’utilitaire figlet :
# cp -R * /usr/share/figlet
V. Conclusion
Bien. Maintenant que l’on a vu les principales fonctionnalités de l’utilitaire figlet, à vos bannières, prêts, partez et dessinez-les comme bon vous semble. Cela viendra renforcer l’affichage que vous effectuez avec les fichiers /etc/motd, /etc/issue.