49 lines
1.0 KiB
Plaintext
49 lines
1.0 KiB
Plaintext
|
#!/sbin/runscript
|
||
|
# Copyright (c) 2008-2009 Roy Marples <roy@marples.name>
|
||
|
# Released under the 2-clause BSD license.
|
||
|
|
||
|
description="Configures terminal encoding."
|
||
|
|
||
|
ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
|
||
|
: ${unicode:=${UNICODE}}
|
||
|
|
||
|
depend()
|
||
|
{
|
||
|
keyword -lxc -openvz -prefix -uml -vserver -xenu
|
||
|
use root
|
||
|
after bootmisc
|
||
|
}
|
||
|
|
||
|
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
|
||
|
|
||
|
ebegin "Setting terminal encoding [$termmsg]"
|
||
|
n=1
|
||
|
while [ ${n} -le "$ttyn" ]; do
|
||
|
printf "\033%s" "$termencoding" >$ttydev$n
|
||
|
: $(( n += 1 ))
|
||
|
done
|
||
|
|
||
|
# Save the encoding for use immediately at boot
|
||
|
if checkpath -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
|
||
|
|
||
|
eend 0
|
||
|
}
|