文章目录
命令介绍
localectl 命令可用于查询与修改系统的本地化(locale)与键盘布局的设置。 它通过与 systemd-localed.service 通信来修改例如 /etc/locale.conf 与 /etc/vconsole.conf 之类的配置文件。本地化设置控制着 用户界面的语言、字符类型与字符编码、 日期时间与货币符号的表达方式 等许多细节。
本地化设置控制着用户界面的语言、字符类型与字符编码、 日期时间与货币符号的表达方式等许多细节。
键盘布局控制着键盘上每个按键及组合键的含义。
注意,为了使此工具所做的修改在系统启动的早期就能生效, 可能需要重新制作 initramfs , 因为 localectl 并不会自动更新 initramfs 。
常用选项
选项 | 说明 |
---|---|
–no-ask-password | 在执行特权操作时不向用户索要密码 |
–no-convert | 与 set-keymap 或 set-x11-keymap 命令连用, 表示不同时设置X11与控制台的键盘映射, 也就是不强迫保持两者一致。 |
-H, --host | 操作指定的远程主机。可以仅指定一个主机名(hostname), 也可以使用 “username@hostname” 格式。 hostname 后面还可以加上容器名(以冒号分隔), 也就是形如 “hostname:container” 的格式, 以表示直接连接到指定主机的指定容器内。 操作将通过SSH协议进行,以确保安全。 可以通过 machinectl -H HOST 命令列出远程主机上的所有容器名称 |
–no-pager | 不将程序的输出内容管道(pipe)给分页程序 |
status | 显示当前的本地化设置与键盘映射,这是默认命令 |
set-locale LOCALE | 设置系统的本地化环境变量 |
list-locales | 列出所有可用的 locale , 以帮助正确使用 set-locale 命令 |
set-locale LOCALE… | 设置系统的本地化环境变量(可以一次设置多个), 例如 “LANG=zh_CN.utf8”, “LC_MESSAGES=en_US.utf8” 等 |
set-keymap MAP [TOGGLEMAP] | 设置控制台的键盘映射(中国人应设为 “us”)。 可选的[TOGGLEMAP]用于设置第二切换键盘映射。 除非明确设置了 --no-convert 选项, 否则此命令也会同时设置默认的X11键盘布局(将"MAP"自动转化为最接近的X11键盘布局) |
list-keymaps | 列出所有可用的控制台键盘映射, 以帮助正确使用 set-keymap 命令 |
set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]] | 设置默认的X11键盘布局(中国人应设为 “us”)。 可选的,还可以设置 Model, Variant, Options 三项(无默认值)。 “MODEL"一般设为"pc104”,"VARIANT"与"OPTIONS"一般直接忽略,详见 kbd(4) 手册。除非明确设置了 --no-convert 选项, 否则此命令也会同时设置控制台的键盘映射, 也就是将"LAYOUT"自动转化为最接近的控制台键盘映射 |
list-x11-keymap-layouts | 列出所有可用的X11键盘的 Layout,以帮助正确使用 set-x11-keymap 命令 |
list-x11-keymap-models | 列出所有可用的X11键盘的 models |
list-x11-keymap-variants [LAYOUT] | 列出所有可用的X11键盘的 variants,有个可选的"LAYOUT"参数用于过滤出仅适合于特定键盘布局的变种 |
list-x11-keymap-options | 列出所有可用的X11键盘的 options |
-h, --help | 显示简短的帮助信息并退出 |
–version | 显示简短的版本信息并退出 |
参考示例
(一)显示当前的本地化设置与键盘映射
[root@htlwk0001host ~]# localectl status # status 可以省略
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: n/a
说明:
- en_US.UTF-8:en 代表英文, US 代表美国,UTF-8 表示字符集
- zh_CN.GBK:zh 代表中文, CN 代表*,GBK 表示字符集
(二)设置系统的本地化字符集环境变量
[root@htlwk0001host ~]# localectl set-locale LANG=en_GB.utf8
(三)列出本地所有字符集
[root@htlwk0001host ~]# localectl list-locales
C.utf8
en_AG
en_AU
en_AU.utf8
en_BW
en_BW.utf8
en_CA
en_CA.utf8
en_DK
en_DK.utf8
(四)列出所有可用的控制台键盘映射
列出所有可用的控制台键盘映射,以帮助正确使用 set-keymap 命令:
[root@htlwk0001host ~]# localectl list-keymaps
ANSI-dvorak
al
al-plisi
amiga-de
amiga-us
applkey
at
at-mac
at-nodeadkeys
at-sundeadkeys
atari-de
atari-se
(五)设置控制台的键盘映射
[root@htlwk0001host ~]# localectl set-keymap en_GB