xorg.conf: параметр XkbOption проигнорирован для terminate:ctrl_alt_bksp для перезапуска X.

Вопрос или проблема

Я хочу, чтобы 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

И проверяю /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"

Последняя строка показывает, что она видит директиву.

И все же, когда я открываю терминал и ввожу setxkbmap -print -verbose 10

Установка уровня подробности на 10
locale is C
Пытаюсь загрузить файл правил ./rules/evdev...
Пытаюсь загрузить файл правил /usr/share/X11/xkb/rules/evdev...
Успех.
Примененные правила из evdev:
rules:      evdev
model:      pc105
layout:     us
Пытаюсь построить карту клавиш с использованием следующих компонентов:
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)" };
};

Я могу принудительно применить опцию, setxkbmap -option terminate:ctrl_alt_bksp,
что дает мне:

...
model:      pc105
layout:     us
options:    terminate:ctrl_alt_bksp
Пытаюсь построить карту клавиш с использованием следующих компонентов:
...

И я тестирую и он перезапускает X корректно.

Я не понимаю. У меня это работало на прошлой неделе, но теперь оно не загружает XkbOption из файла xorg.conf. Существует ли еще один уровень, который устанавливает настройки XKB, о котором я не знаю?

Я использую Ubuntu 13.10, но с xmonad. Я загружаю некоторые утилиты gnome (gnome-panel, gnome-screensaver, gnome-keyring-demon), но не gnome-settings-daemon.

Запустите dconf-editor и перейдите к org.gnome.desktop.input-sources.xkb-options. Это должно выглядеть так:

enter image description here

Если вы не видите 'terminate:ctrl_alt_bksp', вам следует добавить это там.

# inxi -Sy
System:
  Host: fi965 Kernel: 5.4.0-26-generic x86_64 bits: 64
  Desktop: Trinity R14.0.9 Distro: Ubuntu 20.04 LTS (Focal Fossa)
# ls -l /etc/X11/xorg.conf.d/00-keyboard.conf
-rw-r--r-- 1 root root 286 May  6  2014 /etc/X11/xorg.conf.d/00-keyboard.conf
# cat /etc/X11/xorg.conf.d/00-keyboard.conf
# Считывается и анализируется systemd-localed. Вероятно, не стоит редактировать этот файл
# вручную слишком свободно.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "us"
        Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
#

Другой файл содержит Option "DontZap" "off" и Option "ZapWarning" "off" в Section "ServerFlags".

Эта установка является обновлением apt с 18.04, которая является обновлением apt с 16.04, которая была обновлением с 14.04, что, как предполагается, для чего был создан файл с меткой времени. Он работает, как и ожидалось, предположительно, начиная с 14.04 по крайней мере. Я никогда не использую Gnome, поэтому не могу сказать, может ли это повлиять на поведение иначе, чем TDE.

.

Ответ или решение

Вопрос о том, почему комбинация клавиш Ctrl+Alt+Backspace не перезапускает X-сервер, несмотря на настройки в файле xorg.conf, может казаться запутанным, но давайте разберем его пошагово.

Проблема

Вы настроили файл конфигурации X-сервера /usr/share/X11/xorg.conf.d/53-zap.conf, чтобы включить перезапуск сервера по комбинации клавиш через XkbOptions. Конфигурация выглядит корректно, и лог файл /var/log/Xorg.0.log показывает, что опция terminate:ctrl_alt_bksp распознается. Однако, при проверке через setxkbmap -print -verbose 10, эта опция не отображается, указывая на возможную конфликтующую настройку в системе.

Возможные причины и решения

  1. GNOME и гном-утилиты: Вы упомянули использование некоторых GNOME-утилит, но без gnome-settings-daemon. GNOME может иметь собственные настройки клавиатуры, которые переопределяют стандартные конфигурации X. Рекомендуется проверить настройки GNOME через dconf-editor. Перейдите в org.gnome.desktop.input-sources и убедитесь, что опция terminate:ctrl_alt_bksp добавлена.

  2. Конфликты в файлах конфигурации: У вас может быть несколько файлов конфигурации в /etc/X11/xorg.conf.d/, каждый из которых может содержать разные настройки для клавиатуры. Проверьте, чтобы во всех файлах была согласованность, особенно в тех, где прописаны InputClass.

  3. Неожиданные изменения после обновлений: Если система была обновлена, как в случае перехода с Ubuntu 13.10 на более новую версию, настройки могли быть перезаписаны. Убедитесь, что все изменения учтены в актуальных версиях конфигурационных файлов.

  4. Ошибки в дистрибутиве: Нередко дистрибутивы Linux содержат специфические изменения, которые могут влиять на поведение X-сервера. Убедитесь, что все пакеты обновлены, и проверьте возможные ошибки в системе.

Заключение

Вопрос конфигурации X-сервера может быть сложным из-за множества уровней абстракции и зависимости от среды рабочего стола. Следуя вышеуказанным шагам, вам удастся определить и исправить причины проблемы. Проверьте настройки как в GNOME, так и в X-сервере, чтобы обеспечить ожидаемое поведение комбинации клавиш. Если проблема сохраняется, может быть полезно обратиться к документации или сообществу дистрибутива для более специфических решений.

Оцените материал
Добавить комментарий

Капча загружается...