22 FreeBSD连载:调整控制台设置( 二 )


ttys文件中 , 除了针对虚拟终端的设置之外 , 还对串行终端ttys0等 , 用于网络连接的伪终端ttyp0等 , 提供了设置 。要增加相应终端 , 与控制台虚拟终端类似 , 除了更改系统内核、设备文件之外 , 还需要在ttys文件为相应设备提供入口 。
控制台键盘设置
kbdcontrol命令就用于更改键盘设置 , 包括键盘的映射方式、击键的重复率等 , 键盘的映射文件保存在/usr/share/syscons/keymaps/目录下 , 通常的标准101/102键盘可以使用us.iso.kbd文件 。以下例子中使用 “-l” 参数指定键盘映射文件 , 使用 “-r” 参数指定键盘速度 。
# kbdcontrol -l /usr/share/syscons/keymaps/us.iso.kbd
# kbdcontrol -r fast除了可以用fast来表示键盘速度之外 , 还可以精确指定键盘击键的间隔和重复时间 , 例如fast模式就等同于250.34 , 表示击键间隔为250ms , 重复时间为34ms , normal模式对应于500.126 , slow对应于1000.504 。
指定键盘映射文件的好处是可以自己定义键盘的映射方式 , 例如可以使用更改键盘配置文件的方法来屏蔽Ctrl-Alt-Del热键 , 就可以使用编辑器打开us.iso.kbd文件 , 将Ctrl-Alt-Del对应的功能由boot改为nop , 表示输入这个击键序列时不进行任何操作 。或者可以为boot功能定义其他组合键 。
控制台显示设置
控制台的字体文件均保存在/usr/share/syscons/fonts目录下 , 通常使用的字体有8x8大小、8x14大小和8x16大小 , 可以指定使用那些字体文件作为系统使用的这些大小的字体 。将这些字体文件载入需要使用vidcontrol命令:
# vidcontrol -f 8x8 /usr/share/syscons/fonts/cp437-8x8.fnt其中cp437指的是字体代码页为437 , 这是英文编码 , 中文编码为Code Page 936(GB) 。由于中文为双字节文字 , 控制台驱动程序处理起来比较困难 , 还没有对应中文编码的控制台字体文件 。
vidcontrol不仅用于载入字体文件 , 还可以改变屏幕的模式 , 例如可以将屏幕更改为80x50大小:
# vidcontrol 80x50由于80x50模式需要使用8x8字体 , 因此这需要首先载入8x8字体 。如果内核编译时选择了VESA支持选项 , 并且使用的显示卡也兼容VESA显示模式 , 还可以将屏幕模式设置为132x60大小 , 充分利用计算机系统大屏幕显示器的优势 。可以使用vidcontrol -i mode来查看当前硬件支持的显示模式 。由于不同的显示模式使用的不同大小的字体 , 必须载入必要大小的字体才能改换到相应模式下 。
vidcontrol还可以用于设置控制台下激活屏幕保护的时间间隔 , 使用 “-t” 参数指定激活时间 。
而控制台屏幕保护则是通过一个载入可加载模块的方式设置的 , 在/modules目录中已经安装了几个不同的屏幕保护模块 , 如black_saver_mod.ko、green_saver_mod.ko、daemon_saver_mod.ko、logo_saver_mod.ko等 , 这些模块可以使用kldload命令载入内存 , kldstat查看各个内核模块的状态 , 或者kldunload命令将其卸载 。载入不同的屏幕保护模块 , 就将激活不同的屏幕保护 。在系统启动时Boot Loader的提示下 , 可以使用load命令载入模块 , 也可以通过Boot Loader的资源文件/boot/loader.rc , 用于指定在启动时应该自动执行那些操作 。
通常 , 可以使用logo_saver_mod作屏幕保护 , 这是一个FreeBSD吉祥物的图标 。
在FreeBSD 3.0-Release之前 , FreeBSD使用/lkm目录下 , 后缀为.o的可加载模块 , 而管理模块的命令相应为modload、modstat和modunload 。这些模块为a.out格式内核使用的可加载模块 , 而.ko为ELF内核使用的模块 。使用那种格式的内核 , 就应该载入那种格式的可加载模块 , 3.1之后如果仍然使用a.out格式的内核 , 也可以仍然使用这些模块 。
在3.1-Release之后 , FreeBSD引入了系统启动时显示启动图标的能力 , 如同Windows系统在启动时显示蓝天白云图案一样 , FreeBSD系统也能够在启动时显示一个预设的图像文件 , 而启动时产生的检测信息隐藏在图象后面 , 这个功能称为splash 。这个系统启动标志是和新版本的控制台屏幕保护能力是紧密相结合的 , 当载入这个splash模块而使得启动显示相应的图标之后 , 每当空闲时间到达而屏幕保护被激活时 , 就会显示这个图像作为屏幕保护 。

推荐阅读