localectl 中文手册

译者:金步国


版权声明

本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。

其他作品

本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:

联系方式

由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。


手册索引 · 指令索引systemd-241

名称

localectl — 控制系统的本地化与键盘布局

大纲

localectl [OPTIONS...] {COMMAND}

描述

localectl 可用于查询与修改系统的本地化(locale)与键盘布局的设置。 它通过与 systemd-localed.service(8) 通信来修改例如 /etc/locale.conf/etc/vconsole.conf 之类的配置文件。

本地化设置控制着 用户界面的语言、字符类型与字符编码、 日期时间与货币符号的表达方式 等许多细节。

键盘布局 控制着键盘上 每个按键及组合键 的含义。

注意,为了使此工具所做的修改在系统启动的早期就能生效, 可能需要重新制作 initramfs , 因为 localectl 并不会自动更新 initramfs 。

可以使用 systemd-firstboot(1) 初始化已挂载(但未启动)的系统镜像的 本地化(locale)设置。

选项(OPTIONS)

能够识别的命令行选项如下:

--no-ask-password

在执行特权操作时 不向用户索要密码。

--no-convert

set-keymapset-x11-keymap 命令连用, 表示不同时设置X11与控制台的键盘映射, 也就是 不强迫保持两者一致。

-H, --host=

操作指定的远程主机。可以仅指定一个主机名(hostname), 也可以使用 "username@hostname" 格式。 hostname 后面还可以加上 SSH监听端口(以冒号":"分隔)与容器名(以正斜线"/"分隔), 也就是形如 "hostname:port/container" 的格式, 以表示直接连接到指定主机的指定容器内。 操作将通过SSH协议进行,以确保安全。 可以通过 machinectl -H HOST 命令列出远程主机上的所有容器名称。IPv6地址必须放在方括号([])内。

-M, --machine=

在本地容器内执行操作。 必须明确指定容器的名称。

-h, --help

显示简短的帮助信息并退出。

--version

显示简短的版本信息并退出。

--no-pager

不将程序的输出内容管道(pipe)给分页程序。

命令(COMMAND)

能够识别的命令如下:

status

显示当前的本地化设置与键盘映射。 如果未指定任何命令,那么这是默认的隐含命令。

set-locale LOCALE, set-locale VARIABLE=LOCALE…

本地化设置。使用第一种格式,表示只设置环境变量 "$LANG" 的值(例如 "zh_CN.UTF-8")[译者注]实测第一种格式无效。。 使用第二种格式,表示明确设置一个或多个环境变量的值(例如 "LANG=zh_CN.utf8 LC_MESSAGES=en_US.utf8")。 参见 locale(7) 以了解可用的环境变量及其含义。使用 list-locales 命令列出所有可用的 locale (见下文)。

list-locales

列出所有可用的 locale , 以帮助正确使用 set-locale 命令。

set-keymap MAP [TOGGLEMAP]

设置控制台的键盘映射 (中国人应设为 "us")。 可选的[TOGGLEMAP]用于设置第二切换键盘映射。 除非明确设置了 --no-convert 选项, 否则此命令也会同时设置默认的X11键盘布局(将"MAP"自动转化为最接近的X11键盘布局)。 使用 list-keymaps 命令列出所有可用的 键盘映射 (见下文)。

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-models, list-x11-keymap-layouts, list-x11-keymap-variants [LAYOUT], list-x11-keymap-options

分别列出所有可用的X11键盘的 Layout, Model, Variant, Options 以帮助正确使用 set-x11-keymap 命令。 list-x11-keymap-variants 命令有个可选的"LAYOUT"参数用于过滤出 仅适合于特定键盘布局的变种。

退出状态

返回值为 0 表示成功, 非零返回值表示失败代码。

环境变量

$SYSTEMD_PAGER

指定分页程序。仅在未指定 --no-pager 选项时有意义。 此变量会覆盖 $PAGER 的值。如果 $SYSTEMD_PAGER$PAGER 都未设置, 那么将会依次尝试如下常见的分页程序: less(1), more(1), 如果最终仍未找到分页程序,那么将不使用分页。 将此变量设为空字符串或 "cat" 等价于使用 --no-pager 选项。

$SYSTEMD_LESS

用于覆盖默认传递给 less 程序的命令行选项("FRSXMK")。

如果 $SYSTEMD_LESS 的值不含 "K" , 并且使用 less 作为分页程序,那么 Ctrl+C 信号将会被忽略。 这将允许 less 自己处理 Ctrl+C 信号。

$SYSTEMD_LESSCHARSET

用于覆盖默认传递给 less 程序的字符集。 (如果终端兼容 UTF-8 ,那么默认值是 "utf-8" )

参见

systemd(1), locale(7), locale.conf(5), vconsole.conf(5), loadkeys(1), kbd(4), The XKB Configuration Guide , systemctl(1), systemd-localed.service(8), systemd-firstboot(1), mkinitrd(8)