Eh bien, pour changer l'indicateur LED sur la console VT, vous pouvez utiliser setleds. Donc, si vous êtes dans un VT, vous pouvez simplement taper
setleds
et vous obtiendrez votre statut actuel de led. Si vous ne souhaitez pas activer le verrouillage numérique, allumez-le simplement, vous pouvez taper:
setleds -L +num
Il est plus délicat en X et c'est la façon la plus "simple" de l'essayer. Veuillez noter que X est généralement exécuté en tant que root, vous devrez donc vérifier les autorisations sur X-windows tty ou l'exécuter avec les privilèges root. Habituellement, X est tty7. /dev/consoledevrait fonctionner étant la console système et que tous les TT devraient être affectés.
sudo su -c 'setleds -L +num < /dev/tty7'
Je pense que cela fonctionnera également:
sudo su -c 'setleds -L +num < /dev/console'
voici la liste des options d'éclairage
[{+|-}num] [{+|-}caps] [{+|-}scroll]
Si vous n'avez pas setledsdans votre système, je suppose que vous pouvez l'obtenir à partir de ce package emerge sys-apps/kbd.
Si vous êtes plus de personne qui aime des trucs de code est ici un lien vers en exemple le code à diodes électroluminescentes de changement dans X . Je n'ai pas testé cela, mais juste en regardant le code, ça avait l'air correct.
Et voici un script shell pour faire ce que vous vouliez à l'origine. Pour avoir des bouchons ou autres leds comme indicateurs de disque dur.
#!/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