Linux Mint (Mate): використовуйте xkbcomp для завантаження розкладки клавіатури при запуску


3

Я хотів би завантажити власну розкладку клавіатури при вході в систему, але вона не завантажується, або її переосмислює розкладка клавіатури за замовчуванням від "Налаштування клавіатури". На жаль, я не можу вибрати там свій макет, оскільки його не встановлено так, як макети клавіатури за замовчуванням, але складено xkbcomp.

Це команда xkbcomp

xkbcomp -I$HOME/.config/xkb/ $HOME/.config/xkb/thinkpad.xkb $DISPLAY

Він працює при введенні в термінал. Але коли розміщується в /etc/rc.local або .xsession (за ним слідує команда "mate-session") або працює як "програма запуску", макет не завантажується (або, можливо, переосмислюється за замовчуванням).

Як би я пішов про це? Або можливо встановити макет, складений xkbcomp без злому файлів .lst та .xml вручну?

Відповіді:


2

xkbcompце програма X Windows, ви не можете її запустити, rc.localоскільки це запускається до запуску X.

Це має спрацювати, якщо ви додасте команду в $HOME/.xsession(без mate-session), якщо у вашому /etc/X11/Xsession.optionsфайлі є цей рядок :

allow-user-xsession

Якщо макет все ще не встановлений, він, ймовірно, буде переписаний Mate. У цьому випадку спробуйте додати sleepвиклик до команди, щоб вона виконувалася після того, як Mate зробить це:

(sleep 10 && xkbcomp -I$HOME/.config/xkb/ $HOME/.config/xkb/thinkpad.xkb $DISPLAY)

Можливо, корисно:

https://unix.stackexchange.com/questions/11604/run-xmodmap-commands-after-login https://unix.stackexchange.com/questions/1677/why-wont-my-xmodmap-command-run-on -startup-вхід


/etc/X11/Xsession.optionsмістить allow-user-xsession. Я також змінив .xsession відповідно до Ubuntu Wiki, і тепер з'являються всі попередження від xkbcomp .xsession-errors, але зміни xkbcomp, схоже, не застосовуються.
кео

@sao добре, що це крок у правильному напрямку, принаймні, він працює. Які попередження? Крім того, ви не згадали, яке робоче середовище ви використовуєте.
тердон

це Linux Mint's Mate, який є роздрібним Gnome 2. Попередження стосуються невизначених символів ключового коду та невикористаних компонентів (pastebin) . Але це ті самі попередження, які з’являються, коли xkbcomp запускається з терміналу, тому він все одно повинен працювати.
keo

@sao так, принаймні тепер ви знаєте, що команда виконується. Здається, проблема полягає в тому, що Mate перекриває це. Ви можете спробувати додати sleepдзвінок, щоб запустити його після того, як Mate встановить власну клавіатуру. Щось подібне sleep 10 && xkbcomp -I$HOME/.config/xkb/ ....
тердон

Мені довелося класти парен навколо сну, як, (sleep 10 && xkbcomp -I$HOME/.config/xkb/ ...)але це спрацювало! Дуже дякую!
кео
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.