У меня была проблема с заглавными буквами, и у меня есть сценарий для фиксации этого. К сожалению, этот сценарий работы до перезагрузки:
# Fix caps
xkbcomp -xkb "$DISPLAY" - | sed 's#key <CAPS>.*#key <CAPS> {\
repeat=no,\
type[group1]="ALPHABETIC",\
symbols[group1]=[ Caps_Lock, Caps_Lock],\
actions[group1]=[ LockMods(modifiers=Lock),\
Private(type=3,data[0]=1,data[1]=3,data[2]=3)]\
};\
#' | xkbcomp -w 0 - "$DISPLAY"
exit 0
Я просто добавил бы его в приложения запуска, но я хотел бы работать, это на запуске LightDM, или даже в X11 запускается. Там какой-либо путь состоит в том, чтобы запустить этот скрипт на запуске X11? Я использую Xubuntu 16.04.2.
Спасибо.
Попробуйте следующее:
Поместите свой сценарий в каталог в масштабе всей системы, такой как/usr/local/bin с соответствующей хижиной
#!/bin/sh
# Fix caps
/usr/bin/xkbcomp -xkb "$DISPLAY" - | /bin/sed 's#key <CAPS>.*#key <CAPS> {\
repeat=no,\
type[group1]="ALPHABETIC",\
symbols[group1]=[ Caps_Lock, Caps_Lock],\
actions[group1]=[ LockMods(modifiers=Lock),\
Private(type=3,data[0]=1,data[1]=3,data[2]=3)]\
};\
#' | xkbcomp -w 0 - "$DISPLAY"
exit 0
Сделайте это исполняемым файлом, например. sudo chmod +x /usr/local/bin/fix-caps.sh
Создайте пользовательский файл конфигурации в /etc/lightdm/lightdm.conf.d
. Используйте имя такой как 99-local-settings.conf
. ( 99
префикс означает, что будет выполнен после стандартных сценариев установки, предоставленных в /usr/share/lightdm/lightdm.conf.d
.)
Добавьте местоположение своего сценария как a display-setup-script
интервал [SeatDefaults]
раздел:
[SeatDefaults]
display-setup-script = /usr/local/bin/fix-caps.sh
display-setup-script
должен быть выполнен после того, как X-сервер запущен, но прежде чем любая зазывала выполняется - посмотрите LightDM: Добавление системных рычагов.