Bueno, para cambiar el indicador LED en la consola VT puedes usar setleds
. Entonces, si estás en una TV, puedes escribir
setleds
y obtendrás tu estado led actual. Si no desea habilitar el bloqueo numérico, solo enciéndalo y escriba:
setleds -L +num
Se vuelve más complicado en X y esta es la forma "más simple" de probarlo. Tenga en cuenta que X generalmente se ejecuta como root, por lo que deberá verificar los permisos en X-windows tty o ejecutarlo con privilegios de root. Por lo general, X es tty7. /dev/console
debería funcionar siendo la consola del sistema y por eso todos los VT deberían verse afectados.
sudo su -c 'setleds -L +num < /dev/tty7'
Creo que esto también funcionará:
sudo su -c 'setleds -L +num < /dev/console'
Aquí hay una lista de opciones de luz
[{+|-}num] [{+|-}caps] [{+|-}scroll]
Si no tiene setleds
en su sistema, supongo que puede obtenerlo de este paquete emergente sys-apps/kbd
.
Si son más de persona que le gusta las cosas código aquí hay un enlace a ES Ejemplo de código para leds cambio en x . No probé esto, pero solo mirando el código se veía bien.
Y aquí hay un script de shell para hacer lo que originalmente quería. Tener tapas u otros leds como indicadores de 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