setxkbmap 和 localectl 之间的区别

setxkbmap 和 localectl 之间的区别

localectl我对和之间的区别/关系有点困惑setxkbmap。它们中的任何一个是否意味着取代另一个?还是它们应该一起使用?它们甚至会更改相同的设置吗?!

例如这是我的 localectl 输出

--> localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us
       X11 Model: pc105+inet
     X11 Options: terminate:ctrl_alt_bksp

这表明我只有us布局,但实际上我已经使用 setxkbmap 安装了另一个布局

--> setxkbmap -query
rules:      evdev
model:      pc105+inet
layout:     us,ar
variant:    ,mac
options:    grp:alt_shift_toggle,caps:escape,terminate:ctrl_alt_bksp

答案1

localect更改启动的程序(包括 Xorg 服务器)中应使用的设置,同时setxkbmap更改键盘选项目前正在运行Xorg 服务器。还setxkbmap允许更细粒度的控制,并允许在运行时在各种布局之间切换。

答案2

引用拱门维基

设置xkbmap设置键盘布局仅限当前 X 会话, 但可以持久化軟體或者配置文件.这将覆盖以下指定的系统范围配置使用 X 配置文件

为了方便起见,该工具本地化可以用来代替手动编辑 X 配置文件。它将配置保存在 /etc/X11/xorg.conf.d/00-keyboard.conf 中,此文件不应手动编辑,因为 localectl 将在下次启动时覆盖更改。

因此setxkbmap将覆盖指定的配置localectl

相关内容