Consultez ubuntu vivid disrgards-console-setup après le redémarrage et https://unix.stackexchange.com/questions/198791/.
Ce problème semble être causé par une discordance dans le nommage des polices auxquelles s'attend console-setup par rapport à celles se trouvant dans /usr/share/consolefonts/
, et donc copiées dans /etc/console-setup/
lorsque vous choisissez une police à utiliser (en utilisant dpkg-reconfigure console-setup
).
Si vous allez dans une console et exécutez strace /lib/udev/console-setup-tty fbcon
, vous verrez qu'il essaie d'ouvrir des polices de la sorte :
/etc/console-setup/Lat15-TerminusBold11x22.psf
Mais si vous regardez dans /etc/console-setup/
, il n'y a qu'une poignée de polices (celles que vous avez choisies), et elles ressemblent plus à cela :
/etc/console-setup/Lat15-TerminusBold22x11.psf.gz
Une a la hauteur x la largeur, et l'autre a la largeur x la hauteur.
Le problème peut être résolu de quelques manières.
(1) /lib/udev/console-setup-tty
pourrait être corrigé - C'est la solution la plus permanente et amont.
(2) Vous pourriez changer manuellement /etc/default/console-setup
, en inversant la hauteur et la largeur dans FONTSIZE. Cela devra être refait à chaque fois que vous changez les polices en utilisant dpkg-reconfigure console-setup
. Mais lorsque la machine redémarre, cette préférence est conservée.
(3) Vous pourriez installer les polices attendues par console-setup-tty. C'est ce que j'appelle l'option "excès". Je l'ai fait de cette façon :
Dans /etc/rc.local :
# installer les polices console puis configurer la console
/etc/console-setup/fonts.sh install
/lib/udev/console-setup-tty fbcon
Créez un script appelé /etc/console-setup/fonts.sh
:
#!/bin/bash
action=$1
srcdir="/usr/share/consolefonts"
parent="/etc/console-setup"
subdir="fonts"
case "$1" in
install)
# les polices console ne sont pas nommées correctement dans Ubuntu 15.04, compensation
[[ -d $parent/$subdir ]] || mkdir $parent/$subdir
for x in $( cd $srcdir ; ls -1 ) ; do
# réorganiser les deux nombres de HHxWW à WWxHH
y=$(echo "$x" | sed -e 's/^\([^-]*\)-\([^0-9]*\)\([0-9]*\)x\([0-9]*\).psf.gz/\1-\2\4x\3.psf.gz/g')
# que le motif ci-dessus corresponde ou non, nous allons décompresser ici
z=${y/.psf.gz/.psf}
[[ ! -f $parent/$subdir/$z ]] && zcat $srcdir/$x > $parent/$subdir/$z
[[ ! -L $parent/$z ]] && ln -sv $subdir/$z $parent/$z
done
;;
uninstall)
rm -rf $parent/$subdir
# supprimer uniquement les liens brisés (liens vers les polices que nous avons supprimées ci-dessus)
rm $(find -L $parent -type l)
;;
*)
echo "$(basename $0) install|uninstall"
;;
esac
exit 0
Pour une solution pragmatique rapide, je choisirais #2, avec un commentaire dans le fichier indiquant qu'il peut être nécessaire de le refaire si vous choisissez une police différente (en supposant que le commentaire ne soit pas écrasé également).
Mais #3 fonctionne bien avec peu de tracas ou de désordre.