我遇到了 Caps 问题,我有一个脚本可以解决这个问题。不幸的是,这个脚本在重启之前一直有效:
# 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。
谢谢。
答案1
请尝试以下操作:
将您的脚本放入系统范围的目录中,例如 /usr/local/bin,并使用适当的 shebang
#!/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
。)将脚本的位置添加为
display-setup-script
int 部分[SeatDefaults]
:[SeatDefaults] display-setup-script = /usr/local/bin/fix-caps.sh
应该display-setup-script
在 X 服务器启动之后运行,但在运行任何欢迎程序之前 - 参见LightDM:添加系统挂钩。