我正在运行 CentOS 6.5,但在将虚拟终端的默认键盘模式设置为 ascii 时遇到问题。目前只有系统控制台默认为ascii模式,但是如果我登录其他虚拟终端,则默认为unicode模式。这些是我的配置:
# /etc/sysconfig/keyboard
KEYTABLE="us"
MODEL="pc105"
LAYOUT="us"
KEYBOARDTYPE="pc"
# /etc/sysconfig/i18n
LANG="en_US.ISO88591"
SYSFONT="iso01.16"
# /etc/sysconfig/console
KEYMAP="us"
FONT="iso01.16"
UNICODE=""
此外,由于这些文件或多或少都有记录,我不确定它们之间有什么区别以及我们可以为它们分配哪些变量。有什么建议吗?
答案1
该文件/etc/sysconfig/i18n
是进行更改的地方。但它包含您的示例中的正确设置。不应进行任何更改/etc/sysconfig/keyboard
(如果有效,请保留它)。实际上在我的 Centos6.x 上,我有一个目录at /etc/sysconfig/console
(可能包含键盘映射) - 和2002 年的邮件列表讨论暗示它已经是一个至少那么长的目录了..一些其他系统在那里有一个文件,例如,Linux 从头开始。
要按要求获得“ASCII”意味着您必须更改系统区域设置,该区域设置是/etc/sysconfig/i18n
使用该LANG
属性设置的。默认情况下,这将有
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
(或其他LANG
带有“UTF-8”的内容,或多或少具有相同的效果)。我更改了我的机器以匹配您的机器,检查这些值是否与机器匹配:
LANG="en_US.iso88591"
SYSFONT="iso01.16"
也就是说,该LANG
值位于locale -a
:
en_SG.utf8
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
en_ZA
是SYSFONT
控制台字体文件的名称:
/lib/kbd/consolefonts/iso01.16.gz
进行更改后,我重新启动并在每个 tty 上看到“ASCII”行为(2-6,因为 X 正在运行tty1
)。但检查showconsolefont
显示它仍然加载原始字体。那是设置在/boot/grub/grub.conf
.编辑那文件更改SYSFONT=latarcyrheb-sun16
为SYSFONT=iso01.16
给出所需的效果。这是一个屏幕截图:
即加载ISO-8859-1 字体。键盘(美国)只会执行“ASCII”,而没有一些有趣的键盘映射。
进一步阅读:
- 附录 D. sysconfig 目录(红帽)
- 28.1.13。 /etc/sysconfig/i18n(CentOS 5:6和7的用户被定向到Red Hat)