См. Https://askubuntu.com/questions/630118/ и /ubuntu/328463/ .
Эта проблема, по-видимому, вызвана несоответствием в именовании шрифтов, которое консольная установка ожидает, а не в том /usr/share/consolefonts/
, что находится в , и, таким образом, копируется /etc/console-setup/
при выборе шрифта для использования (использования
dpkg-reconfigure console-setup
).
Если вы идете в консоль и делаете strace /lib/udev/console-setup-tty fbcon
, вы можете увидеть, что она пытается открыть шрифты следующим образом:
/etc/console-setup/Lat15-TerminusBold11x22.psf
Но если вы загляните внутрь /etc/console-setup/
, там есть только несколько шрифтов (те, что вы выбрали), и они больше похожи на это:
/etc/console-setup/Lat15-TerminusBold22x11.psf.gz
Один имеет высоту х ширина, а другой ширина х высота.
Проблема может быть решена несколькими способами.
(1) /lib/udev/console-setup-tty
может быть исправлено - это более постоянное, восходящее решение.
(2) Вы можете изменить вручную /etc/default/console-setup
, изменив высоту и ширину в FONTSIZE. Это нужно будет делать каждый раз, когда вы меняете шрифты с помощью dpkg-reconfigure console-setup
. Но когда машина перезагружается, это предпочтение сохраняется.
(3) Вы можете установить шрифты, которые ожидает console-setup-tty. Это то, что я называю «излишним». Я сделал это так:
В /etc/rc.local:
# install console fonts and then set up console
/etc/console-setup/fonts.sh install
/lib/udev/console-setup-tty fbcon
Создайте скрипт с именем /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
Для быстрого прагматического решения я бы сделал № 2 с комментарием в файле, который, возможно, потребуется пересмотреть, если вы выберете другой шрифт (при условии, что комментарий также не будет перезаписан).
Но # 3 работает хорошо с минимальной суетой или беспорядком.