[Bug 1565542] Re: init scripts don't set console fonts
Eugene Nuke
1565542 at bugs.launchpad.net
Tue Apr 5 09:52:36 UTC 2016
Xenial also contain this bug. I did clean install xenial desktop amd64
in the VirtualBox. After installation I have switched to the text
console (Ctrl+Alt+F1) and I've got boxes instead cyrillic fonts.
cat /etc/default/console-setup:
------------------------------------------------------------
# CONFIGURATION FILE FOR SETUPCON
# Consult the console-setup(5) manual page.
ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
CODESET="guess"
FONTFACE="Fixed"
FONTSIZE="8x16"
VIDEOMODE=
# The following is an example how to use a braille font
# FONT='lat9w-08.psf.gz brl-8x8.psf'
------------------------------------------------------------
And again we have CODESET="guess" and FONTSIZE="8x16"
cat /lib/udev/console-setup-tty:
I have cut other code and keep only setup_font ()
------------------------------------------------------------
setup_font () {
# Set the font and ACM. setfont will silently do nothing for a console
# in graphics mode.
SETFONT_ARGS=
if [ "$FONT" ]; then
FONT="/etc/console-setup/${FONT##*/}"
FONT="${FONT%.gz}"
else
FONT="/etc/console-setup/$CODESET-$FONTFACE$FONTSIZE.psf"
fi
if [ -f "$FONT" ]; then
SETFONT_ARGS="${SETFONT_ARGS:+$SETFONT_ARGS }$FONT"
fi
if [ "$ACM" ]; then
ACM="/etc/console-setup/${ACM##*/}"
ACM="${ACM%.gz}"
else
ACM="/etc/console-setup/$CHARMAP.acm"
fi
if [ -f "$ACM" ]; then
SETFONT_ARGS="${SETFONT_ARGS:+$SETFONT_ARGS }-m $ACM"
fi
if [ "$SETFONT_ARGS" ]; then
setfont -C "$1" $SETFONT_ARGS
fi
}
------------------------------------------------------------
In our case FONT will be "/etc/console-setup/guess-Fixed8x16.psf"
But we have
ls /etc/console-setup/
/etc/console-setup/Uni2-Fixed16.psf.gz
So FONT must be "/etc/console-setup/Uni2-Fixed16.psf" or even "/etc/console-setup/Uni2-Fixed16.psf.gz",
because the next check
if [ -f "$FONT" ]; then
will fail with an uncompressed file.
The /bin/setupcon script has code for CODESET="guess" and FONTSIZE="8x16", but
/lib/udev/console-setup-tty
/usr/share/initramfs-tools/scripts/init-top/console_setup
/usr/share/initramfs-tools/hooks/console_setup
/usr/share/initramfs-tools/scripts/panic/console_setup
have not
apt-cache policy keyboard-configuration
keyboard-configuration:
Installed: 1.108ubuntu13
Candidate: 1.108ubuntu13
** Tags added: xenial
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to console-setup in Ubuntu.
https://bugs.launchpad.net/bugs/1565542
Title:
init scripts don't set console fonts
Status in console-setup package in Ubuntu:
New
Bug description:
1) lsb_release -rd
Description: Ubuntu 15.10
Release: 15.10
2) apt-cache policy keyboard-configuration
keyboard-configuration:
Installed: 1.108ubuntu9
Candidate: 1.108ubuntu9
Version table:
*** 1.108ubuntu9 0
500 http://ru.archive.ubuntu.com/ubuntu/ wily/main amd64 Packages
100 /var/lib/dpkg/status
3) I expected to have cyrillic font for consoles (/dev/tty[1-6]) after
sudo dpkg-reconfigure console-setup
and reboot
4) I have cyrrilic font until I reboot. After reboot I have black boxes instead cyrillic chars.
If I do:
setfont /etc/console-setup/Uni2-TerminusBold16.psf.gz
then I have cyrrilic font in current console
I found that these scripts
/usr/share/initramfs-tools/scripts/init-top/console_setup
/lib/udev/console-setup-tty
cannot properly set console fonts.
They don't recognize option CODESET="guess" and FONTSIZE="*x*" and check if exist only *.psf file, but we have *.psf.gz
I get part of code from /bin/setupcon and paste it in
/usr/share/initramfs-tools/scripts/init-top/console_setup
/lib/udev/console-setup-tty
and add extra test for psf.gz and acm.gz files
The attachment contain original scripts, fixed scripts and patches.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/console-setup/+bug/1565542/+subscriptions
More information about the foundations-bugs
mailing list