D.12. /etc/rc.d/init.d/console
# / Bin / sh
################################################ ######################
# Konsole starten
#
# / Bin / sh
################################################ ######################
# Konsole starten
#
# Beschreibung: Legt Tastaturbelegung und Bildschirmschriftart fest
#
# Autoren: Gerard Beekmans - [E-Mail geschützt]
# Alexander E. Patrakov
#DJ Lucas - [E-Mail geschützt]
# Update: Bruce Dubbs - [E-Mail geschützt]
#
# Version: LFS 7.0
#
################################################ ######################
### BEGIN INIT INFO
# Bietet: Konsole
# Erforderlicher Start:
# Sollte starten: $local_fs
# Erforderlicher Stopp:
# Sollte aufhören:
# Standard-Start: S
# Standard-Stopp:
# Kurzbeschreibung: Richtet eine lokalisierte Konsole ein.
# Beschreibung: Richtet Schriftarten und Spracheinstellungen für den Benutzer ein
# lokal wie in /etc/sysconfig/console definiert.
# X-LFS-Bereitgestellt von: LFS
### END INIT INFO
. /lib/lsb/init-funktionen
# Englische Muttersprachler haben /etc/sysconfig/console wahrscheinlich überhaupt nicht [ -r /etc/sysconfig/console ] && . /etc/sysconfig/console
ist wahr()
{
[ "$1" = "1" ] || [ "$1" = "ja" ] || [ "$1" = "true" ]
}
fehlgeschlagen=0
Fall "${1}" am Anfang)
# Sehen Sie, ob wir etwas tun müssen
if [ -z "${KEYMAP}" ] && [ -z "${KEYMAP_CORRECTIONS}" ] && [ -z "${FONT}" ] && [ -z "${LEGACY_CHARSET}" ] &&
! is_true "${UNICODE}"; dann Ausgang 0
fi
# Unterhalb dieser Zeile sollten keine falschen Fehler auftreten! log_info_msg „Linux-Konsole einrichten…“
# Finden Sie heraus, ob eine Framebuffer-Konsole verwendet wird
[ -d /sys/class/graphics/fb0 ] && use_fb=1 || use_fb=0
# Finden Sie den Befehl heraus, um die Konsole in den zu setzen
# gewünschter Modus
is_true „${UNICODE}“ &&
MODE_COMMAND="echo -en '\033%G' && kbd_mode -u" || MODE_COMMAND="echo -en '\033%@\033(K' && kbd_mode -a"
# Auf Framebuffer-Konsolen muss die Schriftart für jedes VT in festgelegt werden
# UTF-8-Modus. Dies schadet auch im Nicht-UTF-8-Modus nicht.
! is_true „${use_fb}“ || [ -z "${FONT}" ] || MODE_COMMAND="${MODE_COMMAND} && setfont ${FONT}"
# Wenden Sie diesen Befehl auf alle in genannten Konsolen an
# /etc/inittab. Wichtig: Im UTF-8-Modus sollte dies der Fall sein
# passiert vor setfont, andernfalls kommt es zu einem Kernel-Fehler
# wird angezeigt und die Unicode-Zuordnung der Schriftart wird nicht angezeigt
# gebraucht.
forTTY in `grep '^[^#].*respawn:/sbin/agetty' /etc/inittab | grep -o '\btty[[:digit:]]*\b''
do
openvt -f -w -c ${TTY#tty} -- \
/bin/sh -c "${MODE_COMMAND}" || fehlgeschlagen=1
erledigt
# Legen Sie die Schriftart (falls nicht bereits oben festgelegt) und die Tastaturbelegung fest
[ "${use_fb}" == "1" ] || [ -z "${FONT}" ] || setfont $FONT || fehlgeschlagen=1
[ -z "${KEYMAP}" ] ||
Loadkeys ${KEYMAP} >/dev/null 2>&1 || fehlgeschlagen=1
[ -z "${KEYMAP_CORRECTIONS}" ] ||
Loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 || fehlgeschlagen=1
# Konvertieren Sie die Tastaturbelegung von $LEGACY_CHARSET in UTF-8 [ -z "$LEGACY_CHARSET" ] ||
dumpkeys -c "$LEGACY_CHARSET" | Loadkeys -u >/dev/null 2>&1 || fehlgeschlagen=1
# Wenn einer der oben genannten Befehle fehlschlägt, wird die Falle am
# top würde $failed auf 1 setzen (exit $failed) equal_retval
Beenden $fehlgeschlagen
;;
*)
esac
echo "Verwendung: ${0} {start}" Ausfahrt 1
;;
# Konsole beenden