Xem https://askubfox.com/questions/630118/ và https://askubfox.com/questions/328463/ .
Vấn đề này dường như được gây ra bởi sự không phù hợp trong cách đặt tên các phông chữ mà thiết lập bảng điều khiển mong đợi so với những gì đang có /usr/share/consolefonts/
, và do đó được sao chép /etc/console-setup/
khi bạn chọn một phông chữ để sử dụng (sử dụng
dpkg-reconfigure console-setup
).
Nếu bạn đi đến một bàn điều khiển và làm một strace /lib/udev/console-setup-tty fbcon
, bạn có thể thấy rằng nó đang cố mở các phông chữ như thế này:
/etc/console-setup/Lat15-TerminusBold11x22.psf
Nhưng nếu bạn nhìn vào /etc/console-setup/
, chỉ có một số phông chữ trong đó (những phông bạn đã chọn) và chúng trông giống như thế này:
/etc/console-setup/Lat15-TerminusBold22x11.psf.gz
Một cái có chiều cao x chiều rộng, và cái kia có chiều rộng x chiều cao.
Vấn đề có thể được khắc phục bằng một vài cách.
(1) /lib/udev/console-setup-tty
có thể được sửa chữa - Đây là giải pháp ngược dòng lâu dài hơn.
(2) Bạn có thể thay đổi thủ công /etc/default/console-setup
, đảo ngược chiều cao và chiều rộng trong FONTSIZE. Điều này sẽ cần phải được thực hiện mỗi khi bạn thay đổi phông chữ bằng cách sử dụng dpkg-reconfigure console-setup
. Nhưng khi máy khởi động lại, ưu tiên đó được giữ lại.
(3) Bạn có thể cài đặt các phông chữ mà console-setup-tty mong đợi. Đây là những gì tôi gọi là tùy chọn "quá mức". Tôi đã làm nó như thế này:
Trong /etc/rc.local:
# install console fonts and then set up console
/etc/console-setup/fonts.sh install
/lib/udev/console-setup-tty fbcon
Tạo một tập lệnh gọi là /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
Đối với một giải pháp thực tế nhanh chóng, tôi sẽ làm # 2, với một nhận xét trong tệp rằng có thể cần phải thực hiện lại nếu bạn chọn một phông chữ khác (giả sử bình luận không bị ghi đè).
Nhưng # 3 hoạt động tốt với sự ồn ào hoặc lộn xộn tối thiểu.