VT コンソールの LED インジケータを変更するには setleds
を使用できます .したがって、VT にいる場合は、次のように入力できます
setleds
現在の LED ステータスが表示されます。Numlock を有効にしたくない場合は、ライトアップして次のように入力します:
setleds -L +num
X ではよりトリッキーになります これは、それを試す「最も簡単な」方法です。 X は通常 root として実行されるため、X-windows tty のパーミッションを確認するか、root 権限で実行する必要があることに注意してください。通常、X は tty7 です。 /dev/console
システム コンソールとして機能し、すべての VT が影響を受けるはずです。
sudo su -c 'setleds -L +num < /dev/tty7'
これもうまくいくと思います:
sudo su -c 'setleds -L +num < /dev/console'
ライトオプションのリストはこちら
[{+|-}num] [{+|-}caps] [{+|-}scroll]
setleds
がない場合 あなたのシステムでは、このemergeパッケージsys-apps/kbd
から取得できると思います .
コードを書くのが好きな方は、X で LED を変更するためのコード例へのリンクをここに示します。私はこれをテストしませんでしたが、コードを見るだけで問題ないように見えました。
そして、ここにあなたが最初に望んでいたことをするためのシェルスクリプトがあります。キャップやその他の LED を HDD インジケーターとして使用する。
#!/bin/bash
# Check interval seconds
CHECKINTERVAL=0.1
# console
CONSOLE=/dev/console
#indicator to use [caps, num, scroll]
INDICATOR=caps
getVmstat() {
cat /proc/vmstat|egrep "pgpgin|pgpgout"
}
#turn led on
function led_on()
{
setleds -L +${INDICATOR} < ${CONSOLE}
}
#turn led off
function led_off()
{
setleds -L -${INDICATOR} < ${CONSOLE}
}
# initialise variables
NEW=$(getVmstat)
OLD=$(getVmstat)
##
while [ 1 ] ; do
sleep $CHECKINTERVAL # slowdown a bit
# get status
NEW=$(getVmstat)
#compare state
if [ "$NEW" = "$OLD" ]; then
led_off ## no change, led off
else
led_on ## change, led on
fi
OLD=$NEW
done
Gmail の確認 - メールを受信すると LED が点滅し、メールの数が表示されます
#!/bin/bash
echo "Checking for new email";
mails="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \
https://name1:[email protected]/mail/feed/atom \
--no-check-certificate | grep 'fullcount' \
| sed -e 's/.*<fullcount>//;s/<\/fullcount>.*//' 2>/dev/null)"
echo $mails;
#blink LEDs
if [ "$mails" -gt "0" ];
then
blink -s -r 5;
fi
#speak announcements
if [ "$mails" -gt "0" ];
then
espeak "$mails new emails in main account.";
fi
sleep 4;
blink;
exit
古いケースから HDD LED を取り外し、ワイヤーを延長し、ワイヤーをキーボード ワイヤーにタイラップし、ケースで分岐し、メインボードの HDD LED ジャンパーに直接差し込むことができます。キーボードを開き、capslock LED の横にある HDD LED をホットグルーで接着します。
ソフトウェアフリーで醜い?確認してください。