《Linux From Scratch》第三部分:构建LFS系统 第六章:安装基本的系统软件- 6.58. Kbd-2.0.2

简介:

             Kbd 软件包包含键表文件、控制台字体和键盘工具。

大概编译时间: 0.1 SBU
需要磁盘空间: 34 MB

6.58.1. 安装 Kbd

在 Kbd 软件包中退格键(Backspace)和删除键(Delete)的行为和键映射并不一致。 下面的补丁修复了 i386 键映射中的这个问题:

patch -Np1 -i ../kbd-2.0.2-backspace-1.patch

打补丁后,退格键生成编码为 127 的字符,删除键会生成一个著名的转义序列。

移除冗余的 resizecons 程序(它要求功能不全的 svglib 提供视频模式文件 - 用于正常使用 setfont 设置控制台字体大小)以及帮助手册。

sed -i 's/\(RESIZECONS_PROGS=\)yes/\1no/g' configure
sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in

准备编译 Kbd:

PKG_CONFIG_PATH=/tools/lib/pkgconfig ./configure --prefix=/usr --disable-vlock

配置选项的含义:

--disable-vlock

该选项防止编译 vlock 工具,因为它要求 chroot 环境中不可用的 PAM 库。

编译软件包:

make

用以下命令测试结果:

make check

安装软件包:

make install
[Note]

注意

由于通常使用的 CP1251 键映射假设使用 ISO-8859-5 编码,Kbd 软件包不能为某些语言(例如 Belarusian) 提供可用的键映射。 使用这样的语言需要单独下载能工作的键映射。

如果需要的话,安装帮助文档:

mkdir -v       /usr/share/doc/kbd-2.0.2
cp -R -v docs/doc/* /usr/share/doc/kbd-2.0.2

6.58.2. Kbd 软件包内容

安装的程序: chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, kbdinfo, kbd_mode, kbdrate, loadkeys, loadunimap, mapscrn, openvt, psfaddtable (链接到 psfxtable), psfgettable (链接到 psfxtable), psfstriptable (链接到 psfxtable), psfxtable, setfont, setkeycodes, setleds, setmetamode, showconsolefont, showkey, unicode_start, 和 unicode_stop
安装目录: /usr/share/consolefonts, /usr/share/consoletrans, /usr/share/keymaps, 和 /usr/share/unimaps

简要介绍

chvt

更改前台虚拟终端

deallocvt

重新分配未使用的虚拟终端

dumpkeys

转储键盘转换表

fgconsole

输出活动虚拟终端的数目

getkeycodes

输出内核扫描码到键码的映射表

kbdinfo

获取关于某个终端的状态信息

kbd_mode

报告或设置键盘模式

kbdrate

设置键盘重复和延迟速度

loadkeys

加载键盘转换表

loadunimap

加载内核 Unicode 到字体映射表

mapscrn

用于加载用户定义的输出字符映射表到控制台驱动的过时程序;现在通过 setfont 完成

openvt

在一个新的虚拟终端(VT)启动程序

psfaddtable

添加 Unicode 字符表到控制台字体

psfgettable

从控制台字体抽取嵌入的 Unicode 字符表

psfstriptable

从控制台字体移除嵌入的 Unicode 字符表

psfxtable

为控制台字体处理 Unicode 字符表

setfont

更改控制台的增强图形适配器(Enhanced Graphic Adapter,EGA)和视频图形阵列(Video Graphics Array,VGA)的字体

setkeycodes

加载内核扫描码到键码映射表条目;键盘上有异常键时非常有用

setleds

设置键盘标记和发光二极管(Light Emitting Diodes,LEDs)

setmetamode

定义键盘元键处理

showconsolefont

显示当前 EGA/VGA 控制台屏幕字体

showkey

报告键盘上按键的扫描码、键码以及 ASCII 码

unicode_start

设置键盘和控制台为 UNICODE 模式[别用该程序,除非你的键映射文件是 ISO-8859-1 编码。对于其它编码,该工具会输出错误结果。]

unicode_stop

从 UNICODE 模式恢复键盘和控制台为原来模式

目录
打赏
0
0
0
0
16429
分享
相关文章
Linux系统资源管理:多角度查看内存使用情况。
要知道,透过内存管理的窗口,我们可以洞察到Linux系统运行的真实身姿,如同解剖学家透过微观镜,洞察生命的奥秘。记住,不要惧怕那些高深的命令和参数,他们只是你掌握系统"魔法棒"的钥匙,熟练掌握后,你就可以骄傲地说:Linux,我来了!
70 27
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
77 21
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
|
11天前
|
Linux系统ext4磁盘扩容实践指南
这个过程就像是给你的房子建一个新的储物间。你需要先找到空地(创建新的分区),然后建造储物间(格式化为ext4文件系统),最后将储物间添加到你的房子中(将新的分区添加到文件系统中)。完成这些步骤后,你就有了一个更大的储物空间。
64 10
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
|
12天前
|
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
45 0
Linux 软件安装与卸载
在Linux上,学习安装和卸载软件是基础。以网络监控工具iftop为例,安装涉及下载源码(`wget`),解压(`tar -zxf`),配置(`./configure`),安装依赖(如`libpcap-devel`),再执行`make`和`make install`。另外,可以通过RPM或YUM(在CentOS中可能是DNF)管理软件,如`rpm -ivh`安装,`rpm -e`卸载,`yum install`或`dnf install`同样用于安装。了解这些命令能提升Linux系统的管理效率。
90 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等