LINUX.ORG.RU

Помогите добавить в иксы layout'ы

 , ,


0

1

В общем предыстория: иногда сбивается раскладка(появляется CapsLock и исчезает перемапленный Ctrl, котопрый висит на капсе)

При старте системы стартует скрипт откуда-то:

cat ~/.dwm/scripts/startup/client/02_layout.sh
#!/usr/bin/env bash
setxkbmap -layout us,ru -option "grp:shift_toggle,grp_led:scroll",ctrl:nocaps -variant ",winkeys"

Событие это появляется нечасто и рандомно. Раз в 1-2 недели запускаю вручную ~/.dwm/scripts/startup/client/02_layout.sh и фиксю эту траблу. Но в последнее время стал выключать тачку через standby. При выходе из оного мне ломает раскладку. Попробовал добавить что-то типа:

#!/usr/bin/env bash
cat /lib/systemd/system-sleep/layout.sh
SLEEP=5
sleep "${SLEEP}"
sudo -u user bash -c "setxkbmap -layout us,ru -option \"grp:shift_toggle,grp_led:scroll\",ctrl:nocaps -variant \",winkeys\""

Оно мне раскладку не починило и отписало:

Authorization required, but no authorization protocol specified
Cannot open display ":0.0"

Я вот сижу и думаю, как же лучше пофиксить раз и навсегда эту проблему. Может вариант с 00-keyboard.conf?

Вот это не работает. Как сделать так, чтобы 00-keyboard.conf делал тоже самое, что и cat ~/.dwm/scripts/startup/client/02_layout.sh?

cat /etc/X11/xorg.conf.d/00-keyboard.conf

# Written by systemd-localed(8), read by systemd-localed and Xorg. It's
# probably wise not to edit this file manually. Use localectl(1) to
# instruct systemd-localed to update it.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "ru,us"
        Option "XkbModel" "pc105"
        Option "XkbOptions" "terminate:ctrl_alt_bksp,grp:shifts_toggle,grp_led:scroll"
EndSection
★★★

Я не специалист в настройке keyboard.conf но у тебя там строчка отличается от той, что в setxkbmap передаёшь, может в этом проблема? shift_toggle - shifts_toggle и нету ctrl:nocaps

У меня кстати ни от suspend ни от hibernate раскладка, установленная через setxkbmap, не портилась никогда.

И ещё кстати кавычки вокруг всех аргументов setxkbmap можешь убрать, они нужны только если внутри аргументов есть пробелы, звёздочки, знаки вопросов и кажется квадратные скобки.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)

У меня там такое, в соответствии с /usr/share/X11/xorg.conf.d/90-keyboard-layout-evdev.conf:

Section "InputClass"
	Identifier "keyboard-all"
	MatchIsKeyboard "on"
	MatchDevicePath "/dev/input/event*"
	Driver "evdev"
	Option "XkbLayout" "us,ru"
	#Option "XkbVariant" ""
	Option "XkbOptions" "grp:lctrl_lshift_toggle,caps:ctrl_modifier,ctrl:nocaps,terminate:ctrl_alt_bksp"
EndSection

Работает без нареканий.

xaizek ★★★★★
()

скорее всего клавиатура отключается-включается (у меня так было, udef правила писал, чтобы отловить-исправить эту напасть) и настройки скриптовые сбрасываются у вас на 00-keyboard.conf, у меня на /etc/default/keyboard

s-warus ★★★
()
Последнее исправление: s-warus (всего исправлений: 2)