无论如何,脚本都不会在启动时运行

无论如何,脚本都不会在启动时运行

我有一个位于 的脚本/opt/capslock_delay_fix.sh。我希望该脚本在登录后运行。

我什么都试过了。从启动应用程序到.bash_rc,再到.profile。就是无法运行脚本。我想知道脚本本身是否仅在登录后的某个时刻起作用。

脚本内容如下:

#!/bin/bash
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"

答案1

某些类型的命令和脚本如果在登录过程中运行得太早,几乎肯定会中断。​​一些示例包括:键盘和触摸板相关命令、显示器设置 ( xrandr) 等。有时甚至指示器也是如此。

原因是如果桌面尚未准备好,该命令就会中断,或者该命令随后被本地程序否决。

稍事休息即可完成工作,格式如下:

/bin/bash -c "sleep 10 && <command>"

相关内容