LINUX.ORG.RU

Забываются настройки XKB

 , ,


2

2

Изредка, где-то раз в несколько недель, XKB забывает свои установки. Отваливается русская раскладка и остаётся только англиская.

Настойки XKB у меня в /etc/X11/xdm/Xsetup. Сами X'ы не выключаются ... никогда.

Когда такое происходит, приходится ручками лезьт в тот файл за опциями и запускть setxkbmap заново. Тогда оно ещё пару недель работает ... до следующего забывания... Какую-то закономерность вывести не могу.

Мелочь, а досадно. Может кто-то ещё нарывался?

PS: debian-wheezy. Нигде больше на этот баг не нарывался.

PPS: сам конфиг, если к делу имеет место:

#!/bin/sh
#
# This script is run as root before showing login widget.

xrandr --output HDMI2 --left-of HDMI1
xsetroot -solid DarkSlateGrey
setxkbmap -layout us,ru -option grp:caps_toggle -option grp_led:scroll -option compose:menu
xset b off
xset s default

★★★★★

ловил не так давно на netbsd stable. кроссплатформенная бага

Shadow1251
()

А если жёстко задать?

/etc/X11/xorg.conf

Section "InputClass"
          Identifier "keyboard-all"
          Driver "evdev"
          Option "XkbLayout"    "us,ru"
          Option "XkbOptions"   "grp:alt_shift_toggle,grp_led:scroll"
          MatchIsKeyboard "on"
EndSection
Bfgeshka ★★★★★
()

Может быть, кто-то еще запускает setxkbmap? Может быть, какое-то приложение лезет в XKB? А что за среда? Она не может? Или udev где-то прикольнулась.

man keyboard

PS: debian-wheezy. Нигде больше на этот баг не нарывался.

Попробуй

# dpkg-reconfigure keyboard-configuration

Команда после настройки изменит файл /etc/defaults/keyboard. Можно туда потом руками дописать, что надо. После конфигурации надо либо перезагрузиться, либо дернуть udev, чтобы правила передернул.

udevadm trigger --subsystem-match=input --action=change

Тогда в иксах ничего настраивать не надо будет.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Хм, спасибо за наводку. Про «defaults» я как-то всё время забываю.

Там в самом деле только:

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS=""

Правда, кто его может дёргать — ума не приложу. Система — чистые X'ы (xdm + cwm) — вроде как и дёргать некому.

beastie ★★★★★
() автор топика
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

Правда, кто его может дёргать — ума не приложу. Система — чистые X'ы (xdm + cwm) — вроде как и дёргать некому.

udev дергает! И я предполагаю, что он у тебя и передернул настройку, установив то, что в default/keyboard. А вот кто дернул udev - это вопрос. Это я вот пытаюсь объяснить полтергейст.

Zubok ★★★★★
()

Тогда оно ещё пару недель работает ... до следующего забывания...

Компьютер не выключается пару недель? Я вот думаю, что если этот файл прописать (лучше сначала через dpkg-reconfigure), то забывания прекратятся. Этими переменными пользуется утилита /bin/setupcon

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от beastie

Сейчас проверил. Точно udev. Убрал в default/keyboard «ru», оставил «us». Дернул udevadm, и вуаля - переключение перестало работать. Кстати, это переконфигурирование вносится в /var/log/Xorg.0.log. По timestamp можно увидеть, что он сбрасывает. Может быть, передергивание клавиатуры в USB вызывает это. Или еще чего.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 4)
Ответ на: комментарий от Zubok

Компьютер не выключается месяцами/годами. Клавиатура/мышь не передёргиваются. defaults конечно настрою — огромное тебе спасибо! Но мне всё ж странно, что оно так происходит.

beastie ★★★★★
() автор топика
Ответ на: комментарий от beastie

Компьютер не выключается месяцами/годами.

И в сон не уходит даже?

Клавиатура/мышь не передёргиваются.

Может отходить. Или какое-то странное событие по USB. Уже сложно сказать.

defaults конечно настрою

Еще вариант выше написали: вписать в xorg.conf к драйверу evdev. Тогда вроде бы (вроде бы!) он не должен будет слушать udev, так как пользователь фиксированно и явно задал правила для XKB. Но это проверить надо. Но лучше через default. Это позволяет в большинстве случаев держать xorg.conf.* пустым.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

Хм, ты абсолютно прав. Изредка буквально на долю секунды отваливается клава:

[549584.548] (II) config/udev: removing device Das Keyboard
[549584.548] (II) evdev: Das Keyboard: Close
[549584.548] (II) UnloadModule: «evdev»
[549584.885] (II) config/udev: Adding input device Das Keyboard (/dev/input/event4)
[549584.885] (**) Das Keyboard: Applying InputClass «evdev keyboard catchall»
[549584.885] (II) Using input driver 'evdev' for 'Das Keyboard'
[549584.885] (**) Das Keyboard: always reports core events
[549584.885] (**) evdev: Das Keyboard: Device: «/dev/input/event4»
[549584.885] (--) evdev: Das Keyboard: Vendor 0x46a Product 0x48
[549584.885] (--) evdev: Das Keyboard: Found keys
[549584.885] (II) evdev: Das Keyboard: Configuring as keyboard
[549584.885] (**) Option «config_info» «udev:/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2:1.0/input/input15/event4»
[549584.885] (II) XINPUT: Adding extended input device «Das Keyboard» (type: KEYBOARD, id 10)
[549584.885] (**) Option «xkb_rules» «evdev»
[549584.885] (**) Option «xkb_model» «pc105»
[549584.885] (**) Option «xkb_layout» «us»
[792492.028] (II) config/udev: removing device Das Keyboard
[792492.028] (II) evdev: Das Keyboard: Close
[792492.028] (II) UnloadModule: «evdev»
[792492.373] (II) config/udev: Adding input device Das Keyboard (/dev/input/event4)
[792492.373] (**) Das Keyboard: Applying InputClass «evdev keyboard catchall»
[792492.373] (II) Using input driver 'evdev' for 'Das Keyboard'
[792492.373] (**) Das Keyboard: always reports core events
[792492.373] (**) evdev: Das Keyboard: Device: «/dev/input/event4»
[792492.373] (--) evdev: Das Keyboard: Vendor 0x46a Product 0x48
[792492.373] (--) evdev: Das Keyboard: Found keys
[792492.373] (II) evdev: Das Keyboard: Configuring as keyboard
[792492.373] (**) Option «config_info» «udev:/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2:1.0/input/input16/event4»
[792492.373] (II) XINPUT: Adding extended input device «Das Keyboard» (type: KEYBOARD, id 10)
[792492.373] (**) Option «xkb_rules» «evdev»
[792492.373] (**) Option «xkb_model» «pc105»
[792492.373] (**) Option «xkb_layout» «us»
beastie ★★★★★
() автор топика
Ответ на: комментарий от Zubok

Электричество казённое, т.ч. и в сон не увожу.

Ещё раз огромное спасибо!

Честно признаться, не ожидал такого подвоха от udev. На лептопах с опеньками у меня точно такая же конфигурация и подключение/отключение внешних клав на настройки xkb никак не влияет.

beastie ★★★★★
() автор топика
25 марта 2015 г.

тож самое регулярно происходит под ксубунту с флюксом после восстановления из сна. мож кто подскажет как лечить..

ZuBB ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.