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/console
devrait 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 setleds
dans 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