Niveau :      
Résumé : fbset setterm

Si vous êtes encore à l'âge de la console, si vous n'avez jamais vu de serveur X ou simplement si vous voulez faire le kéké pour épater vos amis, voici quelques trucs pour améliorer votre confort d'utilisation de la console.

Mode framebuffer

Il existe 2 façons pour le noyau d'écrire sur les terminaux. Soit à travers l'interface vga, soit à travers l'interface framebuffer. La console vga a l'avantage de fonctionner partout, d'être du pur mode texte et donc de ne quasiment jamais poser de problème d'affichage. La console framebuffer nécessite une carte vidéo plus récente (moins de 10-15 ans :-) et peut éventuellement interférer avec le serveur X (problèmes d'affichage). Par contre elle dispose de fonctionnalités plus intéressantes.

Tout d'abord, pour activer la console framebuffer si ce n'est pas le cas par défaut, il faut utiliser l'option video= du noyau au boot.

Une fois en mode framebuffer, fbset permet sur les terminaux linux de changer la résolution utilisée. On peut par exemple se retrouver avec 2 fois plus de lignes et de colonnes, c'est plus agréable à lire.

$ fbset -a 1024x768x75

Cela peut devenir indispensable pour lire des films en haute définition avec libcaca (mplayer avec l'option "-vo caca") !

Bien sûr vous pouvez utiliser un des nombreux modes prédéfinis dans /etc/fb.modes voire définir le vôtre plus finement en jouant avec les paramètres de fbset comme les fréquences de rafraîchissement.

Utilisations du framebuffer

D'autre part le framebuffer est une interface graphique, elle permet donc de mettre du graphisme dans la console. L'exemple typique est le manchot qui s'affiche pendant le boot. Bootsplash est un autre outil qui fait usage du framebuffer.

Il est aussi possible de lancer mplayer dans un coin de la console tout en restant à travailler sur celle-ci grâce à l'option "-vo fbdev" de mplayer.

Le serveur X lui-même peut utiliser le framebuffer pour faire son affichage lorsque les autres drivers ne fonctionnent pas.

Enfin, il existe un projet pour développer des applications entières pour le framebuffer, il s'agit de directFB.

Bip

Si le bip de la console vous agace, la commande suivante vous permettra de le changer, voire de le supprimer

$ setterm -blength 0 -bfreq 440

Notez au passage que l'équivalent dans un terminal X s'écrit

$ xset b off

Si au contraire, les bips vous plaisent (ssh sur la machine du voisin), il est possible de les scripter avec la commande beep :

$ beep -f 440 -l 1000

Produit un la de 1s.

Caractères spéciaux

Un terminal (X ou non) comprend de nombreux caractères de contrôle. Certains peuvent changer la façon donc l'affichage est fait et le rendre totalement illisible. Ex:

$ cat /dev/urandom # puis ctrl-c

Lorsque vous vous trouvez dans une telle situation, ils vous suffit de taper la commande "reset" (à l'aveugle, c'est faisable) pour retrouver un terminal lisible.