用 localectl 更改键盘布局

使用 localectl set-x11-keymap 设置系统键盘布局,用 set-keymap 设置文本控制台布局。

Linuxlocalectl 区域设置区域设置systemd键盘中风险
运行 `sudo localectl set-x11-keymap de`(把 de 换成你的布局代码)即可更改默认键盘布局。

01命令

命令
$ sudo localectl set-x11-keymap de

02作用说明

`localectl set-keymap de` 改的是文本控制台(Ctrl+Alt+F3)的布局,`set-x11-keymap de` 改的是图形界面的默认布局,作用于登录界面。可用 `localectl list-x11-keymap-layouts` 列出所有布局代码。注意 GNOME 和 KDE 的“设置”里有自己的输入源切换器,会覆盖用户会话的布局,所以 localectl 主要用来修正登录界面和控制台的布局。

03风险

风险中风险
使用条件systemd-based distro (Ubuntu, Debian, Fedora, Arch). GNOME and KDE have their own layout switchers in Settings that override this for the session.
!注意: 布局代码写错时命令会安全地失败,但控制台 keymap 若设置错误,在控制台输入的密码字符会和你以为的不一致。

04撤销

撤销
$ sudo localectl set-x11-keymap us

05来源

  • Linux console/Keyboard configuration - ArchWiki
    Arch Linux Wiki · technical · 2026-09-17
    依据: Describes how localectl set-keymap configures the virtual console keymap while set-x11-keymap configures the graphical X11 keymap.
  • localectl(1) - Linux manual page
    Ubuntu Manpages · technical · 2026-09-17
    依据: localectl set-x11-keymap sets the system default X11 keyboard layout, model, variant and options; set-locale changes the system locale.

最后验证: 2026-09-18 · 分类: 系统与设置

06相关方案