openrc/init.d/termencoding.in

48 lines
1.0 KiB
Plaintext
Raw Normal View History

2008-03-27 19:19:49 +05:30
#!@PREFIX@/sbin/runscript
2009-05-01 19:41:40 +05:30
# Copyright (c) 2008-2009 Roy Marples <roy@marples.name>
2008-03-27 19:19:49 +05:30
# All rights reserved. Released under the 2-clause BSD license.
description="Configures terminal encoding."
ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
2009-04-27 13:21:18 +05:30
: ${unicode:=${UNICODE}}
2008-03-27 19:19:49 +05:30
depend()
{
keyword -openvz -prefix -uml -vserver -xenu
need root
2008-03-27 19:19:49 +05:30
}
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 13:21:18 +05:30
ebegin "Setting terminal encoding [$termmsg]"
2008-03-27 19:19:49 +05:30
n=1
2009-04-27 13:21:18 +05:30
while [ ${n} -le "$ttyn" ]; do
printf "\033%s" "$termencoding" >$ttydev$n
n=$(($n + 1))
2008-03-27 19:19:49 +05:30
done
# Save the encoding for use immediately at boot
if [ -w "$RC_LIBEXECDIR" ]; then
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 19:19:49 +05:30
eend 0
}