<Precedenti | Contenuti | Succ.>
D.12. /etc/rc.d/init.d/console
# / Bin / sh
################################################# ######################
# Inizia console
#
# / Bin / sh
################################################# ######################
# Inizia console
#
# Descrizione: imposta la mappa dei tasti e il carattere dello schermo
#
# Autori: Gerard Beekmans - [email protected]
#Alexander E. Patrakov
#DJLucas- [email protected]
# Aggiornamento: Bruce Dubbs - [email protected]
#
# Versione: LFS 7.0
#
################################################# ######################
### INIZIA INIZ. INFO
# Fornisce: console
# Richiesto-Inizio:
# Dovrebbe-iniziare: $local_fs
# Richiesto-Stop:
# Dovrebbe-Stop:
# Avvio predefinito: S
# Arresto predefinito:
# Descrizione breve: imposta una console localizzata.
# Descrizione: configura i caratteri e le impostazioni della lingua per l'utente
# local come definito da /etc/sysconfig/console.
# X-LFS-Fornito-Da: LFS
### FINE INFO INIZ
. /lib/lsb/init-funzioni
# I madrelingua inglesi probabilmente non hanno affatto /etc/sysconfig/console [ -r /etc/sysconfig/console ] && . /etc/sysconfig/console
è vero()
{
[ "$1" = "1" ] || [ "$1" = "sì" ] || [ "$1" = "vero" ]
}
fallito=0
caso "${1}" all'inizio)
# Vedi se dobbiamo fare qualcosa
if [ -z "${KEYMAP}" ] && [ -z "${KEYMAP_CORRECTIONS}" ] && [ -z "${FONT}" ] && [ -z "${LEGACY_CHARSET}" ] &&
! è_vero "${UNICODE}"; quindi esci 0
fi
# Non dovrebbero esserci errori fasulli al di sotto di questa linea! log_info_msg "Impostazione console Linux..."
# Capire se viene utilizzata una console framebuffer
[ -d /sys/class/graphics/fb0 ] && use_fb=1 || use_fb=0
# Trova il comando per impostare la console nel
# modalità desiderata
è_vero "${UNICODE}" &&
MODE_COMMAND="echo -en '\033%G' && kbd_mode -u" || MODE_COMMAND="echo -en '\033%@\033(K' && kbd_mode -a"
# Sulle console framebuffer, il carattere deve essere impostato per ogni vt in
# Modalità UTF-8. Questo non fa male anche in modalità non UTF-8.
! is_true "${use_fb}" || [ -z "${FONT}" ] || MODE_COMMAND="${MODE_COMMAND} && setfont ${FONT}"
# Applica quel comando a tutte le console menzionate in
# /etc/inittab. Importante: in modalità UTF-8 questo dovrebbe
# succede prima di setfont, altrimenti succederà un bug del kernel
# si presenta e la mappa unicode del carattere non sarà
# Usato.
forTTY in `grep '^[^#].*respawn:/sbin/agetty' /etc/inittab | grep -o '\btty[[:digit:]]*\b'`
do
openvt -f -w -c ${TTY#tty} -- \
/bin/sh -c "${COMANDO_MODALITÀ}" || fallito=1
fatto
# Imposta il carattere (se non già impostato sopra) e la mappa dei tasti
[ "${use_fb}" == "1" ] || [ -z "${FONT}" ] || setfont $FONT || fallito=1
[ -z "${KEYMAP}" ] ||
loadkeys ${KEYMAP} >/dev/null 2>&1 || fallito=1
[ -z "${KEYMAP_CORRECTIONS}" ] ||
loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 || fallito=1
# Converti la mappa dei tasti da $LEGACY_CHARSET in UTF-8 [ -z "$LEGACY_CHARSET" ] ||
dumpkeys -c "$LEGACY_CHARSET" | loadkeys -u >/dev/null 2>&1 || fallito=1
# Se uno dei comandi precedenti fallisce, la trappola al
# top imposterebbe $failed a 1 ( exit $failed ) valute_retval
uscita $fallito
;;
*)
che C
echo "Utilizzo: ${0} {inizio}" exit 1
;;
# Fine console