11

リモート サーバーをチェックし、新しいメールがあるときに音声ファイルを再生する小さな 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 ライトの変更を拒否するだけです。

4

4 に答える 4

13

root の下で実行します。

setleds -D +caps < /dev/console

ハックですが、私にとってはうまくいきます:)

于 2011-10-09T04:29:45.500 に答える
1

である必要がありますxsetか?を使用したことがありますsetledsか?

setleds -D +caps
setleds -D -caps

簡単な概要: Linux / Unix コマンド: setleds

于 2011-10-09T04:30:20.100 に答える
1

Caps Lock LED (機能ではありません) オフ

for a in `ls -d /sys/class/leds/*caps*`;do echo 0 >$a/brightness;done

Caps Lock LED (機能ではありません) ON

for a in `ls -d /sys/class/leds/*caps*`;do echo 1 >$a/brightness;done
于 2019-12-17T09:49:03.743 に答える