Ver /ubuntu/630118/ y /ubuntu/328463/ .
Este problema parece ser causado por una falta de coincidencia en el nombre de las fuentes que la configuración de la consola espera frente a lo que hay en ellas /usr/share/consolefonts/
y, por lo tanto, se copia /etc/console-setup/
cuando selecciona una fuente para usar (usar
dpkg-reconfigure console-setup
).
Si vas a una consola y haces una strace /lib/udev/console-setup-tty fbcon
, puedes ver que está intentando abrir fuentes como esta:
/etc/console-setup/Lat15-TerminusBold11x22.psf
Pero si miras adentro /etc/console-setup/
, solo hay un puñado de fuentes allí (las que elegiste), y se parecen más a esto:
/etc/console-setup/Lat15-TerminusBold22x11.psf.gz
Uno tiene alto x ancho, y el otro tiene ancho x alto.
El problema se puede solucionar de varias maneras.
(1) /lib/udev/console-setup-tty
podría repararse: esta es la solución más permanente y ascendente.
(2) Puede cambiar manualmente /etc/default/console-setup
, invirtiendo la altura y el ancho en FONTSIZE. Esto deberá hacerse cada vez que cambie las fuentes usando dpkg-reconfigure console-setup
. Pero cuando la máquina se reinicia, esa preferencia se mantiene.
(3) Puede instalar las fuentes que console-setup-tty espera. Esto es lo que yo llamo la opción "overkill". Lo hice así:
En /etc/rc.local:
# install console fonts and then set up console
/etc/console-setup/fonts.sh install
/lib/udev/console-setup-tty fbcon
Crea un script llamado /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
Para una solución pragmática rápida, haría el n. ° 2, con un comentario en el archivo que puede ser necesario volver a hacer si elige una fuente diferente (suponiendo que el comentario no se sobrescriba).
Pero el # 3 funciona bien con un mínimo de alboroto o desastre.