Bene per cambiare l'indicatore led sulla console VT è possibile utilizzare setleds
. Quindi se sei in un VT puoi semplicemente digitare
setleds
e otterrai lo stato attuale del tuo led. Se non si desidera abilitare il blocco numerico, basta accenderlo e digitare:
setleds -L +num
Viene più complicato in X e questo è il modo "più semplice" per provarlo. Tieni presente che X viene generalmente eseguito come root, quindi dovrai controllare le autorizzazioni su X-windows tty o eseguirlo con i privilegi di root. Di solito X è tty7. /dev/console
dovrebbe funzionare come console di sistema e in tal modo tutti i VT dovrebbero essere interessati.
sudo su -c 'setleds -L +num < /dev/tty7'
Penso che funzionerà anche:
sudo su -c 'setleds -L +num < /dev/console'
ecco un elenco di opzioni di luce
[{+|-}num] [{+|-}caps] [{+|-}scroll]
Se non hai setleds
nel tuo sistema, la mia ipotesi è che puoi ottenerlo da questo pacchetto emerge sys-apps/kbd
.
Se siete più di persona a cui piace roba codice ecco un link per en esempio di codice a led variazione in X . Non l'ho provato, ma solo guardando il codice sembrava ok.
Ed ecco uno script di shell per fare ciò che originariamente volevi. Avere tappi o altri led come indicatori 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