3

Я хотел бы загрузить пользовательскую раскладку клавиатуры при входе в систему, но она либо не загружается, либо переопределяется раскладкой клавиатуры по умолчанию из «предпочтений клавиатуры». К сожалению, я не могу выбрать свою раскладку там, поскольку она не установлена так, как раскладки клавиатуры по умолчанию, но скомпилирована xkbcomp.

Это команда xkbcomp

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

Работает при входе в терминал. Но когда они помещаются в /etc/rc.local или .xsession (за которым следует команда «mate-session») или запускаются как «запускаемое приложение», макет не загружается (или, возможно, переопределяется по умолчанию).

Как бы я пошел по этому поводу? Или можно установить макет, скомпилированный xkbcomp, не взламывая файлы .lst и .xml вручную?

1 ответ1

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-Войти

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .