د.12. /etc/rc.d/init.d/console
# / بن / ش
################################################## #######################
# بدء وحدة التحكم
#
# / بن / ش
################################################## #######################
# بدء وحدة التحكم
#

# الوصف: تعيين خريطة المفاتيح وخط الشاشة
#
# المؤلف : جيرارد بيكمانز - [البريد الإلكتروني محمي]
# ألكسندر إي. باتراكوف
# دي جي لوكاس - [البريد الإلكتروني محمي]
# تحديث : بروس دوبس - [البريد الإلكتروني محمي]
#
# الإصدار: LFS 7.0
#
################################################## #######################
### بداية معلومات
# يوفر: وحدة التحكم
# مطلوب - بداية:
# يجب أن تبدأ: $local_fs
# وقف مطلوب:
# يجدر التوقف:
# افتراضي-ابدأ: S.
# توقف افتراضي:
# وصف مختصر: يقوم بإعداد وحدة تحكم محلية.
# الوصف: يقوم بإعداد الخطوط وإعدادات اللغة للمستخدم
# محلي كما هو محدد بواسطة /etc/sysconfig/console.
# X-LFS-المقدمة- بواسطة: LFS
### END INIT INFO
. / lib / lsb / init-function
# ربما لا يمتلك المتحدثون الأصليون للغة الإنجليزية /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"

# في وحدات تحكم الإطار المؤقت، يجب تعيين الخط لكل vt في
# وضع UTF-8. هذا لا يضر أيضًا في وضع غير UTF-8.
! is_true "${use_fb}" || [ -z "${FONT}" ] || MODE_COMMAND="${MODE_COMMAND} && setfont ${FONT}"
# قم بتطبيق هذا الأمر على جميع وحدات التحكم المذكورة في
# /etc/inittab. هام: في وضع UTF-8، يجب أن يكون هذا
# يحدث قبل setfont، وإلا فسيحدث خطأ في النواة
# تظهر الخريطة الموحدة للخط ولن تكون
# مستخدم.
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 || failed=1
[ -z "${KEYMAP}" ] ||
تحميل المفاتيح ${KEYMAP} >/dev/null 2>&1 || فشل=1
[ -z "${KEYMAP_CORRECTIONS}" ] ||
تحميل المفاتيح ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 || فشل=1
# تحويل خريطة المفاتيح من $LEGACY_CHARSET إلى UTF-8 [ -z "$LEGACY_CHARSET" ] ||
dumpkeys -c "$LEGACY_CHARSET" | loadkeys -u >/dev/null 2>&1 || failed=1
# إذا فشلت أي من الأوامر المذكورة أعلاه، يتم إيقاف تشغيل الفخ الموجود في
# أعلى سيتم تعيين $failed إلى 1 (خروج $failed) assess_retval
فشل الخروج $
;;
*)
ESAC
صدى "الاستخدام: $ {0} {start}" خروج 1
;;
# نهاية وحدة التحكم
![]()
توثيق