一、命令简介
localectl
是 Linux 系统中用于查询和配置系统语言、键盘布局和区域设置的命令。它属于 systemd
系统和服务管理器的一部分,允许用户通过简单的命令行接口更改与本地化相关的配置。
相关命令:
- 如果是时间相关的设置,timedatectl 命令比 localectl 命令更好用呢。
二、命令参数
bash
localectl [选项]
选项
status
:显示当前系统本地化的状态。set-locale
:设置系统的本地化环境变量。set-keymap
:设置系统的键盘映射。list-locales
:列出系统支持的本地化。list-keymaps
:列出系统支持的键盘映射。
三、命令示例
-
查看当前本地化设置:
bashlocalectl status
英文环境输出
bash#英文环境输出 localectl status #命令中文环境输出 System Locale: LANG=en_US.UTF-8 VC Keymap: n/a X11 Layout: us X11 Model: pc105
中文环境输出
bash#中文环境输出 System Locale: LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh VC Keymap: n/a X11 Layout: cn X11 Model: pc105:
-
设置系统区域设置(即语言和区域):
bash# 英语 localectl set-locale LANG=en_US.UTF-8 # 简体中文 localectl set-locale LANG=zh_CN.UTF-8
设置系统的时间显示格式为英语
bashlocalectl set-locale LC_TIME=en_US.UTF-8
-
设置键盘映射:
bashlocalectl set-keymap us
-
设置 X11 键盘布局:
bashlocalectl set-x11-keymap us
-
列出所有可用的键盘映射:
bashlocalectl list-keymaps
-
列出所有可用的系统区域设置:
bashlocalectl list-locales #命令:列出系统可选的所有语言
-
重置为默认的本地化设置:
bashlocalectl reset
请注意,更改区域设置和键盘映射可能需要管理员权限,因此可能需要在命令前加上 sudo
来执行。
这些更改通常会立即生效,或者需要重启相关服务或系统。对于某些设置,可能还需要重新登录会话才能看到效果。
当我们把系统区域和语言设置为中文后,下一次登录你可以看到,提示语中部分为中文。
bash
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-122-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of 2024年 09月 20日 星期五 18:21:59 CST
System load: 0.0
Usage of /: 40.2% of 31.32GB
Memory usage: 20%
Swap usage: 0%
Processes: 115
Users logged in: 0
IPv4 address for docker0: 172.17.0.1
IPv4 address for ens18: 192.168.10.63
但是命令的帮助文档依然为英文,比如 ls --help
。那是因为我们还没有安装中文文档,运行
bash
sudo apt update -y
sudo apt install language-pack-zh-hans -y
sudo locale-gen zh_CN.UTF-8
然后就可以输出中文了。效果如下
bash
sudo apt update
sudo apt install language-pack-zh-hans
sudo locale-gen zh_CN.UTF-8
关于设置linux系统语言为中文,我的另一篇文章有详细提到:
localectl 命令:系统语言、键盘布局和区域设置-CSDN博客