consolefont: use setfont to save the current font

Using setfont directly to save the font prevents breakage
when a distro stores consolefonts in a location other than
/usr/share/consolefonts such as Arch which stores them in
/usr/share/kbd/consolefonts

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
This commit is contained in:
Andrew Gregory 2013-02-11 22:13:27 -05:00 committed by William Hubbs
parent 405dfea7ad
commit 746bf5f783
2 changed files with 3 additions and 8 deletions

View File

@ -53,14 +53,10 @@ start()
done done
eend $retval eend $retval
# Store the last font so we can use it ASAP on boot # Store the font so we can use it ASAP on boot
if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then
mkdir -p "$RC_LIBEXECDIR"/console mkdir -p "$RC_LIBEXECDIR"/console
for font in /usr/share/consolefonts/"$consolefont".*; do setfont -O "$RC_LIBEXECDIR"/console/font
:
done
cp "$font" "$RC_LIBEXECDIR"/console
echo "${font##*/}" >"$RC_LIBEXECDIR"/console/font
fi fi
return $retval return $retval

View File

@ -31,9 +31,8 @@ if service_present "$RC_DEFAULTLEVEL" consolefont ||
service_present "$RC_BOOTLEVEL" consolefont; then service_present "$RC_BOOTLEVEL" consolefont; then
printf "\033%s" "$termencoding" >"$CONSOLE" 2>/dev/null printf "\033%s" "$termencoding" >"$CONSOLE" 2>/dev/null
if [ -r "$RC_LIBEXECDIR"/console/font -a -x /usr/bin/setfont ]; then if [ -r "$RC_LIBEXECDIR"/console/font -a -x /usr/bin/setfont ]; then
font="$(cat "$RC_LIBEXECDIR"/console/font)"
[ -c "$CONSOLE" ] && cons="-C $CONSOLE" [ -c "$CONSOLE" ] && cons="-C $CONSOLE"
setfont $cons "$RC_LIBEXECDIR"/console/"$font" 2>/dev/null setfont $cons "$RC_LIBEXECDIR"/console/font 2>/dev/null
fi fi
fi fi