Вопрос или проблема
Я хочу, чтобы 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
. Это должно выглядеть так:
Если вы не видите '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
, эта опция не отображается, указывая на возможную конфликтующую настройку в системе.
Возможные причины и решения
-
GNOME и гном-утилиты: Вы упомянули использование некоторых GNOME-утилит, но без
gnome-settings-daemon
. GNOME может иметь собственные настройки клавиатуры, которые переопределяют стандартные конфигурации X. Рекомендуется проверить настройки GNOME черезdconf-editor
. Перейдите вorg.gnome.desktop.input-sources
и убедитесь, что опцияterminate:ctrl_alt_bksp
добавлена. -
Конфликты в файлах конфигурации: У вас может быть несколько файлов конфигурации в
/etc/X11/xorg.conf.d/
, каждый из которых может содержать разные настройки для клавиатуры. Проверьте, чтобы во всех файлах была согласованность, особенно в тех, где прописаныInputClass
. -
Неожиданные изменения после обновлений: Если система была обновлена, как в случае перехода с Ubuntu 13.10 на более новую версию, настройки могли быть перезаписаны. Убедитесь, что все изменения учтены в актуальных версиях конфигурационных файлов.
-
Ошибки в дистрибутиве: Нередко дистрибутивы Linux содержат специфические изменения, которые могут влиять на поведение X-сервера. Убедитесь, что все пакеты обновлены, и проверьте возможные ошибки в системе.
Заключение
Вопрос конфигурации X-сервера может быть сложным из-за множества уровней абстракции и зависимости от среды рабочего стола. Следуя вышеуказанным шагам, вам удастся определить и исправить причины проблемы. Проверьте настройки как в GNOME, так и в X-сервере, чтобы обеспечить ожидаемое поведение комбинации клавиш. Если проблема сохраняется, может быть полезно обратиться к документации или сообществу дистрибутива для более специфических решений.