命令介绍

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
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐