J’ai pu contourner le problème. En fait, il semble que le préalable pour afficher autre chose que de l’ASCII dans la console est d’activer le framebuffer. Soit. Avoir une console en haute résolution, c’est sympatoche aussi.
Je m’y suis pris de la façon suivante, bien qu’il doive exister une façon plus élégante de faire (je ne sais pas si le paramètre sera écrasé lors d’une mise à jour du noyau. Faudrait-il le déclarer en option globale?) :
rajout du paramètre vga=xxx dans /boot/grub/menu.lst :
vga=893 correspond à du 1920x1200, en couleurs 24bits. Je n’ai pas pu trouver de tableau complet des résolutions mais j’imagine que si la mienne est prise en compte, les autres ne devraient pas poser de problème. Google est alors notre ami. Voici d’autres valeurs, plus basiques :
[code]640x480x8 : 769
800x600x8 : 771
1024x768x8 : 773
1280x1024x8 : 775
640x480x16 : 785
800x600x16 : 788
1024x768x16 : 791
1280x1024x16 : 794
640x480x32 : 786
800x600x32 : 789
1024x768x32 : 792
1280x1024x32 : 795[/code]
Cela fait, on peut définir un encodage pour la console ainsi qu’une (ou des) police(s) par défaut. Il faut disposer du paquet console-tools, qui est incompatible avec kbd. Je pense qu’on peut virer ce dernier sans regrets, s’il est déjà installé. Bref.
À présent, il va falloir triturer un peu /etc/console-tools/config . Par défaut, il ne contient aucun paramètre concernant les polices et les encodages.
On définit les charsets de la façon suivante.
APP_CHARSET_MAP=iso15
APP_CHARSET_MAP_vc2=iso15
APP_CHARSET_MAP_vc3=iso15
APP_CHARSET_MAP_vc4=iso15
APP_CHARSET_MAP_vc5=iso15
APP_CHARSET_MAP_vc6=iso15
Oui, c’est de l’iso15. J’aurai préféré de l’UTF-8 mais je ne sais pas comment le déclarer. Si quelqu’un a une piste, je suis preneur. Là, les accents s’affichent par défaut sur toutes les consoles. Maintenant, il faut une police qui correspond au jeu de caractères déclaré :
SCREEN_FONT=lat0-16.psf
SCREEN_FONT_vc2=lat0-16.psf
SCREEN_FONT_vc3=lat0-16.psf
SCREEN_FONT_vc4=lat0-16.psf
SCREEN_FONT_vc5=lat0-16.psf
SCREEN_FONT_vc6=lat0-16.psf[/code]
Celle-ci est la police par défaut du système. De mon côté, j'ai préféré en prendre une plusse mignonne :smt003 :
[code]SCREEN_FONT=/usr/share/consolefonts/Lat15-TerminusBold16.psf.gz
SCREEN_FONT_vc2=/usr/share/consolefonts/Lat15-TerminusBold16.psf.gz
SCREEN_FONT_vc3=/usr/share/consolefonts/Lat15-TerminusBold16.psf.gz
SCREEN_FONT_vc4=/usr/share/consolefonts/Lat15-TerminusBold16.psf.gz
SCREEN_FONT_vc5=/usr/share/consolefonts/Lat15-TerminusBold16.psf.gz
SCREEN_FONT_vc6=/usr/share/consolefonts/Lat15-TerminusBold16.psf.gz
Et maintenant, ça marche. Les accents s’affichent (mais pas le symbole € (Euro)) lors de la frappe et dans les applications (testé avec nano). Les fichiers texte sont créés en UTF-8, comme il se doit.
Il doit sûrement exister un moyen de tout mettre en UTF-8 (jeu de caractères et police). J’ai pas trouvé. J’en appelle du coup à vous, mais ça devrait peut être faire l’objet d’un topic dédié.
EDIT : petite correction mineure, des mois après 