Veja link e link .
Esse problema parece ser causado por uma incompatibilidade na nomenclatura de fontes
que console-setup espera vs o que está em /usr/share/consolefonts/
, e
assim copiado para /etc/console-setup/
quando você escolhe uma fonte para usar (usando
dpkg-reconfigure console-setup
).
Se você for a um console e fizer um strace /lib/udev/console-setup-tty fbcon
,
você pode ver que está tentando abrir fontes como esta:
/etc/console-setup/Lat15-TerminusBold11x22.psf
Mas se você olhar em /etc/console-setup/
, há apenas um punhado de
fontes lá (as que você escolheu), e elas se parecem mais com isso:
/etc/console-setup/Lat15-TerminusBold22x11.psf.gz
Um tem altura x largura e o outro tem largura x altura.
O problema pode ser corrigido de algumas maneiras.
(1) /lib/udev/console-setup-tty
pode ser corrigido - isso é o mais
solução permanente a montante.
(2) Você pode alterar manualmente /etc/default/console-setup
, revertendo o
altura e largura em FONTSIZE. Isso precisará ser feito toda vez que você
altere as fontes usando dpkg-reconfigure console-setup
. Mas quando o
máquina reinicializa, essa preferência é mantida.
(3) Você pode instalar as fontes que o console-setup-tty espera. este
é o que eu chamo de opção "overkill". Eu fiz assim:
Em /etc/rc.local:
# install console fonts and then set up console
/etc/console-setup/fonts.sh install
/lib/udev/console-setup-tty fbcon
Crie um script chamado /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/-x.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
Para uma solução pragmática rápida, eu faria # 2, com um comentário no arquivo que
pode ser necessário ser refeito se você escolher uma fonte diferente (assumindo a
o comentário também não é sobrescrito).
Mas o # 3 funciona bem com o mínimo de barulho ou bagunça.