ดีที่จะเปลี่ยนไฟ LED บน VT คอนโซลsetleds
คุณสามารถใช้ ดังนั้นหากคุณอยู่ใน VT คุณสามารถพิมพ์ได้
setleds
และคุณจะได้รับสถานะนำในปัจจุบันของคุณ หากคุณไม่ต้องการเปิดใช้งาน numlock เพียงแค่เปิดไฟคุณสามารถพิมพ์:
setleds -L +num
มันมีเล่ห์เหลี่ยมในXและนี่คือวิธีที่ "ง่ายที่สุด" ในการลองใช้ โปรดทราบว่า X มักจะรันเป็นรูทดังนั้นคุณจะต้องตรวจสอบสิทธิ์บน X-windows tty หรือรันด้วยสิทธิพิเศษรูท โดยปกติ 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
ในระบบของคุณฉันเดาว่าคุณจะได้รับมันจากแพ็คเกจอันsys-apps/kbd
นี้
หากคุณมีมากขึ้นจากคนที่ชอบสิ่งที่รหัสที่นี่เชื่อมโยงไปยัง en ตัวอย่างรหัสเพื่อเปลี่ยนไฟ LED ใน X ฉันไม่ได้ทดสอบสิ่งนี้ แต่เพียงดูรหัสก็โอเค
และนี่คือเชลล์สคริปต์เพื่อทำสิ่งที่คุณต้องการในตอนแรก มีตัวพิมพ์ใหญ่หรือไฟ 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