3 # console Loads console font and keyboard table
7 # description: Loads the console font, the application-charset map \
8 # and the keyboard table.
10 # This must be executed *after* /usr is mounted.
11 # This means, if /usr is NFS-mounted it needs to
12 # be run after networking and NFS mounts are up.
14 [ -f /etc/sysconfig/console ] || exit 0
16 [ -f /bin/loadkeys -o -f /usr/bin/loadkeys ] || exit 0
17 [ -f /bin/setfont -o -f /usr/bin/setfont ] || exit 0
19 [ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
21 # Source function library
22 . /etc/rc.d/init.d/functions
25 start|restart|reload|force-reload)
26 . /etc/sysconfig/console
28 # Checking if we have framebuffer enabled
29 if [ -f /proc/fb ]; then
30 # /proc shows as files with size=0, this is workaround
31 if cat /proc/fb | grep -q "."; then FB=yes; fi
34 if [ -n "$SVGATEXTMODE" ]; then
35 run_cmd "Setting Text Mode $SVGATEXTMODE" SVGATextMode $SVGATEXTMODE
40 if [ -x /bin/unicode_start ] && /sbin/consoletype fg ; then
41 unicode_start $SYSFONT $SYSFONTACM
47 if [ -n "$CONSOLEFONT" ]; then
48 CMD="setfont -m ${CONSOLEMAP:-trivial} $CONSOLEFONT"
49 show "Loading console font and map"
52 # don't initialize on multiple terminals if we use fbset
53 # (assume that, in this case fb is loaded as a module)
54 if [ ! -z "$FB" ]; then
55 # Check for devfs (workaround: -a option don't work at all)
56 if [ -d /dev/vc ]; then
57 pattern="s/\/dev\/vc\///g"
59 pattern="s/\/dev\/tty//g"
63 tty=`/usr/bin/tty | sed $pattern`
65 # check if devfs (workaround: -a option don't work at all)
66 if [ -d /dev/vc ]; then
67 DEVICES="`ls /dev/vc/* | sed 's|/dev/vc/||g'`"
69 DEVICES="`cat /etc/inittab | grep '^[0-9]*:' | cut -f1 -d :`"
72 [ -z "$SET_FONT_TERMINALS" ] && SET_FONT_TERMINALS="$DEVICES"
74 for cons in $SET_FONT_TERMINALS; do
75 /usr/bin/open -c $cons -s -w -- $CMD
76 if [ "$NUM_LOCK" ]; then
77 if [ $NUM_LOCK = "on" ]; then
78 /usr/bin/open -c $cons -s -w -- /usr/bin/setleds -D +num
80 /usr/bin/open -c $cons -s -w -- /usr/bin/setleds -D -num
85 if [ "$tty" = "/dev/console" ]; then
88 /usr/bin/switchto $tty
94 if [ -n "$KEYTABLE" ]; then
95 run_cmd "Loading keyboard table" loadkeys $KEYTABLE < /dev/tty0 > /dev/tty0
97 run_cmd "Enabling SAK sequence" /bin/sh -c "echo Control Alt keycode 101 = SAK | loadkeys"
100 if [ "$POWER_SAVE" ]; then
101 if [ "$BLANK_TIME" ]; then
102 power_option="-blank $BLANK_TIME";
104 if [ "$POWERDOWN_TIME" ]; then
105 power_option="-powerdown $POWERDOWN_TIME $power_option";
107 /usr/bin/setterm $power_option -powersave $POWER_SAVE
109 if [ "$FOREGROUND_COLOUR" ]; then
110 /usr/bin/setterm -foreground $FOREGROUND_COLOUR
112 if [ "$BACKGROUND_COLOUR" ]; then
113 /usr/bin/setterm -background $BACKGROUND_COLOUR
115 if [ "$BEEP_LENGTH" ]; then
116 /usr/bin/setterm -blength $BEEP_LENGTH
120 . /etc/sysconfig/console
121 run_cmd "Setting terminals to default values" /usr/bin/setterm -default
127 msg_usage "$0 {start|stop|restart|reload|force-reload|status}"