リモート サーバーをチェックし、新しいメールがあるときに音声ファイルを再生する小さな fetchmail スクリプトを作成しました。また、メールが利用可能になったときにキーボード ライトの 1 つも点灯させたいと思っていましたが、問題が発生しました。これでスクロールロックライトを点灯させることができます:
/usr/bin/xset led named "Scroll Lock"
しかし、Caps Lock を同じ方法で点灯させることはできません。
/usr/bin/xset led named "Caps Lock"
キーを数字 (1 ~ 6) で指定しようとしましたが、謎の「LED マスク」(「xset q」で表示) を変更しても、ライトに変化は見られませんでした。
Caps Lock キーを別の Ctrl としてマップしたため、これは壊れていますか?
~/.Xmodmap には次のものがあります。
keycode 66 = Control_L
clear Lock
add Control = Control_L
Caps Lock を切り替えたくありません。ライトだけです。これを行う方法はありますか?
詳細説明
これは x86 kubuntu lucid マシン上にありますが、後で debian に移行します。Pythonデーモンで権限のないユーザーとしてスクリプトを実行しています。fetchmail はユーザーとして自分用に構成されているため、root として同じスクリプトを実行しても機能しません。最後に、これはすべて tmux セッションで実行されます。
このプロセスを開始したとき、setled について読みましたが、x セッション以外の端末に限定されているようです。
root としてログインし、'setleds -D +caps < /dev/tty7' を実行すると機能しますが、'sudo setleds -D +caps < /dev/tty7' を実行すると、許可拒否エラーが表示されます。
xset コマンドは私のアプリケーションには完璧に思えますが、Caps Lock ライトの変更を拒否するだけです。