补充说明
localectl 是 systemd 提供的配置工具,用于查看和修改系统的 locale 与虚拟控制台键盘映射,配置分别写入 /etc/locale.conf 和 /etc/vconsole.conf,重启后仍然生效。它需要 systemd 正在运行。
它只管理系统级默认值,不改变当前 shell 已导出的环境变量;修改 locale 后通常需要重新登录或重启相关服务。键盘布局设置针对文本控制台,X11/Wayland 的布局可用 set-x11-keymap 单独管理。
在容器等没有 systemd 的环境中 localectl 无法工作,此时应直接编辑配置文件。
语法
localectl [选项] 命令
选项
status:显示当前 locale 与键盘设置(默认命令)set-locale LOCALE:设置系统 locale,如zh_CN.UTF-8list-locales:列出可用 localeset-keymap MAP:设置控制台键盘映射list-keymaps:列出可用键盘映射set-x11-keymap LAYOUT [MODEL] [VARIANT] [OPTIONS]:设置 X11 键盘布局--no-ask-password:不交互询问密码
实例
# 查看当前状态
localectl status
# 设置中文 UTF-8 环境
sudo localectl set-locale LANG=zh_CN.UTF-8
# 设置控制台键盘为美式
sudo localectl set-keymap us
# 同时设置 X11 布局
sudo localectl set-x11-keymap us pc105
# 查看可用 locale 中是否有中文
localectl list-locales | grep zh_CN