Voir /ubuntu/630118/ et /ubuntu/328463/ .
Ce problème semble être provoqué par une incompatibilité dans la dénomination des polices que la configuration de la console attend par rapport à ce qu'elles contiennent /usr/share/consolefonts/
, et donc copiée /etc/console-setup/
lorsque vous choisissez une police à utiliser (à l'aide
dpkg-reconfigure console-setup
).
Si vous allez sur une console et faites une strace /lib/udev/console-setup-tty fbcon
, vous pouvez voir qu'elle essaie d'ouvrir des polices comme celle-ci:
/etc/console-setup/Lat15-TerminusBold11x22.psf
Mais si vous regardez /etc/console-setup/
dedans, il n'y a qu'une poignée de polices (celles que vous avez choisies), et elles ressemblent plus à ceci:
/etc/console-setup/Lat15-TerminusBold22x11.psf.gz
L'un a une hauteur x une largeur et l'autre une largeur x une hauteur.
Le problème peut être résolu de plusieurs manières.
(1) /lib/udev/console-setup-tty
pourrait être corrigé - Il s'agit de la solution en amont la plus permanente.
(2) Vous pouvez modifier manuellement /etc/default/console-setup
, en inversant la hauteur et la largeur dans FONTSIZE. Cela devra être fait à chaque fois que vous modifiez les polices à l'aide de dpkg-reconfigure console-setup
. Mais lorsque la machine redémarre, cette préférence est conservée.
(3) Vous pouvez installer les polices attendues par console-setup-tty. C'est ce que j'appelle l'option "overkill". Je l'ai fait comme ça:
Dans /etc/rc.local:
# install console fonts and then set up 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)
# console fonts are not named properly in Ubuntu 15.04, compensate
[[ -d $parent/$subdir ]] || mkdir $parent/$subdir
for x in $( cd $srcdir ; ls -1 ) ; do
# rearrange the two numbers from HHxWW to WWxHH
y=$(echo "$x" | sed -e 's/^\([^-]*\)-\([^0-9]*\)\([0-9]*\)x\([0-9]*\).psf.gz/\1-\2\4x\3.psf.gz/g')
# whether the pattern above matches or not, we'll be uncompressing here
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
# only remove broken links (links to the fonts we removed above)
rm $(find -L $parent -type l)
;;
*)
echo "$(basename $0) install|uninstall"
;;
esac
exit 0
Pour une solution pragmatique rapide, je ferais # 2, avec un commentaire dans le fichier qu'il pourrait être nécessaire de refaire si vous choisissez une police différente (en supposant que le commentaire ne soit pas également écrasé).
Mais le n ° 3 fonctionne bien avec un minimum d'agitation ou de désordre.