xorg.conf XkbOption 忽略终止:ctrl_alt_bksp 重新启动 X

rea*_*sgt 8 ubuntu xorg keyboard-shortcuts xkb

我想Ctrl+ Alt+Bksp重启X,所以我创建了一个xorg.conf规则:

/usr/share/X11/xorg.conf.d/53-zap.conf

Section "ServerFlags"
    Option "DontZap" "false"
EndSection

Section "InputClass"
    Identifier      "Keyboard Defaults"
    MatchIsKeyboard "yes"
    Option          "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
Run Code Online (Sandbox Code Playgroud)

并检查/var/log/Xorg.0.log

[  1023.598] (II) XINPUT: Adding extended input device "Asus WMI hotkeys" (type: KEYBOARD, id 11)
[  1023.598] (**) Option "xkb_rules" "evdev"
[  1023.598] (**) Option "xkb_model" "pc105"
[  1023.598] (**) Option "xkb_layout" "us"
[  1023.598] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"
[  1023.598] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event3)
[  1023.598] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
[  1023.598] (**) AT Translated Set 2 keyboard: Applying InputClass "Keyboard Defaults"
[  1023.598] (II) Using input driver 'evdev' for 'AT Translated Set 2 keyboard'
[  1023.598] (**) AT Translated Set 2 keyboard: always reports core events
[  1023.598] (**) evdev: AT Translated Set 2 keyboard: Device: "/dev/input/event3"
[  1023.598] (--) evdev: AT Translated Set 2 keyboard: Vendor 0x1 Product 0x1
[  1023.598] (--) evdev: AT Translated Set 2 keyboard: Found keys
[  1023.598] (II) evdev: AT Translated Set 2 keyboard: Configuring as keyboard
[  1023.598] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input3/event3"
[  1023.598] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id
 12)
[  1023.598] (**) Option "xkb_rules" "evdev"
[  1023.598] (**) Option "xkb_model" "pc105"
[  1023.598] (**) Option "xkb_layout" "us"
[  1023.598] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"
Run Code Online (Sandbox Code Playgroud)

最后一行显示它看到了指令。

然而,当我打开一个终端并输入 setxkbmap -print -verbose 10

Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     us
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us+inet(evdev)
geometry:   pc(pc105)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us+inet(evdev)" };
    xkb_geometry  { include "pc(pc105)" };
};
Run Code Online (Sandbox Code Playgroud)

可以强制选择setxkbmap -option terminate:ctrl_alt_bksp,给我:

...
model:      pc105
layout:     us
options:    terminate:ctrl_alt_bksp
Trying to build keymap using the following components:
...
Run Code Online (Sandbox Code Playgroud)

我测试它并X正确重新启动。

我不明白。上周我有这个工作,但现在它没有XkbOptionxorg.conf文件中加载。是否有另一层XKB设置我不知道的设置?

我使用的是 Ubuntu 13.10,但使用xmonad. 我加载了一些 gnome 实用程序(gnome-panel, gnome-screensaver, gnome-keyring-demon),但没有加载gnome-settings-daemon.

小智 0

启动dconf-editor并转到org.gnome.desktop.input-sources.xkb-options. 应该是这样的:

在此输入图像描述

如果您没有看到,'terminate:ctrl_alt_bksp'则应该将其添加到此处。