Linux 命令速查
系统管理 man localectl

localectl

查询或设置系统语言环境与键盘布局

返回

补充说明

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-8
  • list-locales:列出可用 locale
  • set-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

参考链接