您的位置:首页 > 运维架构 > Linux

RHEL7及CentOS7的语言、字符编码、键盘映射、X11布局设置(localectl)-系统管理(1)

2017-12-15 21:05 375 查看
这几天在阅读Red Hat Enterprise Linux 7的官方文档,发现了一些比之前有较大改善的系统管理方式,准备用一个系列的文章来分享一下自己的阅读、学习心得。在系统管理指导的开篇就提到了语言、字符编码、键盘布局的问题。下面就来分享一下这些内容,在后面的一系列文章中将无多余废话,还请见谅!

系统区域设置是指系统服务及用户接口的语言设置。键盘布局设置用于控制字符控制台布局及图形化用户接口。这些设置的修改可以通过修改/etc/locale.conf配置文件来实现,也可以使用localectl单元来实现。当然你也可以使用图形化用户界面来完成这个任务。本人习惯在字符控制台下完成Linux服务器的运维,所以本文将不会涉及图形化界面设置的操作。

一、设置系统区域

大部分系统的区域设置存放在/etc/locale.conf配置文件中

,在系统启动初期会被systemd守护进程读取。这个设置被每一个服务和用户继承,除非个别的用户或程序来重写他们。

1、通过修改/etc/locale.conf来实现系统区域设置的修改。编辑该文件:在该配置文件中写入如下2行:

LANG=zh_CN.UTF-8
LC_MESSAGES=C


zh:语言为汉语,CN:国家或地区中国大陆,UTF-8:字符编码为UTF-8。

LC_MESSAGES=C:确定区域设置并用于将诊断信息写入到标准错误输出中。

其他选项可参见下表:

Option
Description
LANG
Provides a default value for the system locale.
LC_COLLATE
Changes the behavior of functions which compare strings in the local alphabet.
LC_CTYPE
Changes the behavior of the character handling and classification functions and the multibyte character functions.
LC_NUMERIC
Describes the way numbers are usually printed, with details such as decimal point versus decimal comma.
LC_TIME
Changes the display of the current time, 24-hour versus 12-hour clock.
LC_MESSAGES
Determines the locale used for diagnostic messages written to the standard error output.
2、通过localectl命令来修改系统区域。

(1)显示当前系统区域状态。

[root@Geeklp-Administrator ~]# localectl status
System Locale: LANG=zh_CN.UTF-8
VC Keymap: cn
X11 Layout: cn


(2)列出可用的系统区域设置。

[root@Geeklp-Administrator ~]# localectl list-locales
...
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.big5hkscs
zh_HK.utf8
zh_SG
zh_SG.gb2312
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.big5
zh_TW.euctw
zh_TW.utf8
...


以上只节选了汉语系系统区域设置的内容。

(3)修改系统区域设置。

[root@Geeklp-Administrator ~]# localectl set-locale LANG=zh_HK.utf8


修改完成之后并不会立刻生效,必须重启之后才会生效。

二、设置键盘映射及X11布局

(1)列举键盘映射。

[root@Geeklp-Administrator ~]# localectl list-keymaps


(2)修改键盘映射。

[root@Geeklp-Administrator ~]# localectl set-keymap us
[root@Geeklp-Administrator ~]# localectl
System Locale: LANG=zh_CN.utf8
VC Keymap: us
X11 Layout: us
X11 Model: pc105+inet
X11 Options: terminate:ctrl_alt_bksp


在上文中,我们可以看出VC Keymap为cn,X11 Layout也为cn,修改完成之后立刻生效。

(3)修改X11布局。

[root@Geeklp-Administrator ~]# localectl set-x11-keymap cn
[root@Geeklp-Administrator ~]# localectl
System Locale: LANG=zh_CN.utf8
VC Keymap: cn
X11 Layout: cn


我们可以看到显示内容少了2行,修改及时生效。

下面列举一下localectl相关的帮助资料。

[root@Geeklp-Administrator ~]# localectl --help
localectl [OPTIONS...] COMMAND ...
Query or change system locale and keyboard settings.
-h --help                Show this help
--version             Show package version
--no-pager            Do not pipe output into a pager
--no-ask-password     Do not prompt for password
-H --host=[USER@]HOST    Operate on remote host
-M --machine=CONTAINER   Operate on local container
--no-convert          Don't convert keyboard mappings
Commands:
status                   Show current locale settings
set-locale LOCALE...     Set system locale
list-locales             Show known locales
set-keymap MAP [MAP]     Set console and X11 keyboard mappings
list-keymaps             Show known virtual console keyboard mappings
set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]]
Set X11 and console keyboard mappings
list-x11-keymap-models   Show known X11 keyboard mapping models
list-x11-keymap-layouts  Show known X11 keyboard mapping layouts
list-x11-keymap-variants [LAYOUT]
Show known X11 keyboard mapping variants
list-x11-keymap-options  Show known X11 keyboard mapping options
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息