<ก่อนหน้านี้ | Contents | ถัดไป>
ง.12. /etc/rc.d/init.d/console
# / bin / sh
#################################################### ############################
#เริ่มคอนโซล
#
# / bin / sh
#################################################### ############################
#เริ่มคอนโซล
#
# Description : ตั้งค่าคีย์แมปและฟอนต์หน้าจอ
#
# ผู้เขียน : เจอราร์ด บีคแมนส์ - [ป้องกันอีเมล]
#อเล็กซานเดอร์ อี. ปาตราคอฟ
#ดีเจลูคัส- [ป้องกันอีเมล]
# อัปเดต: Bruce Dubbs - [ป้องกันอีเมล]
#
# เวอร์ชัน : LFS 7.0
#
#################################################### ############################
### เริ่มต้นข้อมูลเริ่มต้น
# ให้: คอนโซล
# จำเป็น-เริ่ม:
# ควรเริ่ม: $local_fs
# จำเป็น-หยุด:
# ควรหยุด:
# ค่าเริ่มต้น - เริ่ม: S
# ค่าเริ่มต้น - หยุด:
# คำอธิบายโดยย่อ: ตั้งค่าคอนโซลที่แปลแล้ว
# คำอธิบาย: ตั้งค่าแบบอักษรและการตั้งค่าภาษาสำหรับผู้ใช้
# local ตามที่กำหนดโดย /etc/sysconfig/console.
# X-LFS-จัดหาโดย: LFS
### สิ้นสุดข้อมูลเริ่มต้น
- /lib/lsb/init-functions
# เจ้าของภาษาอังกฤษอาจไม่มี /etc/sysconfig/console เลย [ -r /etc/sysconfig/console ] && /etc/sysconfig/console
เป็นความจริง()
{
[ "$1" = "1" ] || [ "$1" = "ใช่" ] || [ "$1" = "จริง" ]
}
ล้มเหลว=0
กรณี "${1}" ในการเริ่มต้น)
#ดูว่าเราต้องทำอะไร
ถ้า [ -z "${KEYMAP}" ] && [ -z "${KEYMAP_CORRECTIONS}" ] && [ -z "${FONT}" ] && [ -z "${LEGACY_CHARSET}" ] &&
! is_true "${UNICODE}"; แล้วออก 0
fi
# ไม่ควรมีความล้มเหลวปลอมด้านล่างบรรทัดนี้! log_info_msg "กำลังตั้งค่าคอนโซล Linux..."
# ดูว่ามีการใช้คอนโซลเฟรมบัฟเฟอร์หรือไม่
[ -d /sys/class/graphics/fb0 ] && use_fb=1 || use_fb=0
# คิดออกคำสั่งเพื่อตั้งค่าคอนโซลเป็น
# โหมดที่ต้องการ
is_true "${UNICODE}" &&
MODE_COMMAND="echo -en '\033%G' && kbd_mode -u" || MODE_COMMAND="echo -en '\033%@\033(K' && kbd_mode -a"
# บนคอนโซล framebuffer ต้องตั้งค่าฟอนต์สำหรับแต่ละ vt in
# โหมด UTF-8 สิ่งนี้ไม่เจ็บในโหมดที่ไม่ใช่ UTF-8 ด้วย
! is_true "${use_fb}" || [ -z "${FONT}" ] || MODE_COMMAND="${MODE_COMMAND} && setfont ${FONT}"
# ใช้คำสั่งนั้นกับคอนโซลทั้งหมดที่กล่าวถึงใน
# /etc/inittab. สำคัญ: ในโหมด UTF-8 สิ่งนี้ควร
# เกิดขึ้นก่อน setfont มิฉะนั้นเคอร์เนลจะเกิดข้อผิดพลาด
# ปรากฏขึ้นและแผนที่ Unicode ของแบบอักษรจะไม่เป็น
# ใช้แล้ว.
forTTY ใน `grep '^[^#].*respawn:/sbin/agetty' /etc/inittab | grep -o '\btty[[:digit:]]*\b'`
do
openvt -f -w -c ${TTY#tty} -- \
/bin/sh -c "${MODE_COMMAND}" || ล้มเหลว=1
ทำ
# ตั้งค่าแบบอักษร (หากยังไม่ได้ตั้งค่าด้านบน) และคีย์แมป
[ "${use_fb}" == "1" ] || [ -z "${FONT}" ] || setfont $FONT || ล้มเหลว=1
[ -z "${KEYMAP}" ] ||
loadkeys ${KEYMAP} >/dev/null 2>&1 || . โหลดคีย์ ล้มเหลว=1
[ -z "${KEYMAP_CORRECTIONS}" ] ||
loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 || . โหลดคีย์ ล้มเหลว=1
# แปลงคีย์แมปจาก $LEGACY_CHARSET เป็น UTF-8 [ -z "$LEGACY_CHARSET" ] ||
dumpkeys -c "$LEGACY_CHARSET" | loadkeys -u >/dev/null 2>&1 || ล้มเหลว=1
# หากคำสั่งใด ๆ ข้างต้นล้มเหลวกับดักที่
# top จะตั้งค่า $failed เป็น 1 ( exit $failed )ประเมิน_retval
ออก $failed
;;
*)
ว่า C
echo "การใช้งาน: ${0} {start}" exit 1
;;
#ท้ายคอนโซล