Xkb 从哪里得到它的配置?

rab*_*ais 15 xorg xkb cinnamon

有没有办法查询从哪里xkb获取配置?在 ArchLinux 下,我有/etc/X11/xorg.conf.d/00-keyboard.conf

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "us,us"
    Option "XkbVariant" "altgr-intl,colemak"
    Option "XKbOptions" "ctrl:nocaps,grp:alt_shift_toggle"
EndSection           
Run Code Online (Sandbox Code Playgroud)

但是当我启动时,如果我这样做setxkbmap -query,我只会得到

rules:      evdev
model:      evdev
layout:     us,us
variant:    altgr-intl,
Run Code Online (Sandbox Code Playgroud)

因此,无论是替代变体还是选项都无法识别(不用说,我无法更改布局)。如果我跑

setxkbmap -layout "us,us" -variant "altgr-intl,colemak" -option "ctrl:nocaps,grp:alt_shift_toggle"
Run Code Online (Sandbox Code Playgroud)

我得到了正确的

rules:      evdev
model:      evdev
layout:     us,us
variant:    altgr-intl,colemak
options:    ctrl:nocaps,grp:alt_shift_toggle
Run Code Online (Sandbox Code Playgroud)

那么是否有可能覆盖我的配置?我正在运行 GNOME/Cinnamon

don*_*sti 13

是的,Gnome 会覆盖xkb X设置。
您可以xkb使用 CLI 工具gsettings/dconf或通过 GUI 工具在 Gnome 中设置布局/选项dconf-editor
因此,使用gsettings,打开终端并运行:

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'us+altgr-intl'), ('xkb', 'us+colemak')]"
Run Code Online (Sandbox Code Playgroud)

gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps','grp:alt_shift_toggle']"  
Run Code Online (Sandbox Code Playgroud)

或者dconf-editor像这样启动并编辑(注意每个值必须被引用,多个值由 分隔comma+space):

在此处输入图片说明

在此处输入图片说明

这两种方法应该产生相同的结果。