#!/sbin/openrc-run # Copyright (c) 2008-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Configures terminal encoding." ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} : ${unicode:=${UNICODE}} depend() { keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu after devfs } 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:-yes}; 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:-yes}; then echo "" > "$RC_LIBEXECDIR"/console/unicode else rm -f "$RC_LIBEXECDIR"/console/unicode fi fi eend 0 }