web-dev-qa-db-ja.com

スクリプトは起動時に起動しません

/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"
4
Afonso Matos

特定のタイプのコマンドとスクリプトは、ログインプロセスの早い段階で実行されると、ほとんど定義上壊れます。いくつかの例は、キーボードおよびタッチパッド関連のコマンド、モニター設定(xrandr)などです。時々インジケーター。

その理由は、デスクトップの準備が整っていない場合にコマンドが中断するか、ローカルの手順によってコマンドが無効になるためです。

少し休憩を含めると、次の形式でジョブが実行されます。

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