/ubuntu/630118/および/ubuntu/328463/を参照してください。
この問題は、console-setupが期待するフォントとにあるフォントの名前の不一致が原因である/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つは高さx幅、もう1つは幅x高さです。
問題はいくつかの方法で修正できます。
(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は最小限の手間や混乱でうまく機能します。