2013-02-12 17:09:50 -05:00
|
|
|
#!@SBINDIR@/runscript
|
2009-05-01 15:11:40 +01:00
|
|
|
# Copyright (c) 2008-2009 Roy Marples <roy@marples.name>
|
2011-06-29 19:46:31 -04:00
|
|
|
# Released under the 2-clause BSD license.
|
2008-03-27 13:49:49 +00:00
|
|
|
|
|
|
|
description="Configures terminal encoding."
|
|
|
|
|
|
|
|
ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
|
2009-04-27 07:51:18 +00:00
|
|
|
: ${unicode:=${UNICODE}}
|
2008-03-27 13:49:49 +00:00
|
|
|
|
|
|
|
depend()
|
|
|
|
{
|
2012-07-02 22:04:22 -05:00
|
|
|
keyword -lxc -openvz -prefix -uml -vserver -xenu
|
2012-02-10 09:47:12 -06:00
|
|
|
use root
|
2011-04-14 15:21:02 -05:00
|
|
|
after bootmisc
|
2008-03-27 13:49:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
start()
|
|
|
|
{
|
|
|
|
local ttydev=/dev/tty n=
|
|
|
|
[ -d /dev/vc ] && ttydev=/dev/vc/
|
|
|
|
|
|
|
|
# Set terminal encoding to either ASCII or UNICODE.
|
|
|
|
# See utf-8(7) for more information.
|
|
|
|
local termencoding="%@" termmsg="ASCII"
|
|
|
|
if yesno ${unicode}; then
|
|
|
|
termencoding="%G"
|
|
|
|
termmsg="UTF-8"
|
|
|
|
fi
|
|
|
|
|
2009-04-27 07:51:18 +00:00
|
|
|
ebegin "Setting terminal encoding [$termmsg]"
|
2008-03-27 13:49:49 +00:00
|
|
|
n=1
|
2009-04-27 07:51:18 +00:00
|
|
|
while [ ${n} -le "$ttyn" ]; do
|
|
|
|
printf "\033%s" "$termencoding" >$ttydev$n
|
2011-11-10 21:46:08 -05:00
|
|
|
: $(( n += 1 ))
|
2008-03-27 13:49:49 +00:00
|
|
|
done
|
2011-02-14 18:51:15 -05:00
|
|
|
|
|
|
|
# Save the encoding for use immediately at boot
|
2012-01-28 19:32:05 +01:00
|
|
|
if checkpath -W "$RC_LIBEXECDIR"; then
|
2011-02-14 18:51:15 -05:00
|
|
|
mkdir -p "$RC_LIBEXECDIR"/console
|
|
|
|
if yesno ${unicode:-${UNICODE}}; then
|
|
|
|
echo "" > "$RC_LIBEXECDIR"/console/unicode
|
|
|
|
else
|
|
|
|
rm -f "$RC_LIBEXECDIR"/console/unicode
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2008-03-27 13:49:49 +00:00
|
|
|
eend 0
|
|
|
|
}
|