
¿Tu servidor portátil/AIO quema la pantalla innecesariamente? Apágala automáticamente
Solución con systemd + kernel framebuffer para apagar pantallas en servidores AIO/portátiles y evitar burn-in.
Muchos All-in-One (AIO) PCs usados como servidores headless mantienen la pantalla encendida indefinidamente, lo que puede causar:
- Burn-in o imagen fantasma en paneles LCD/LED.
- Consumo innecesario de energía.
- Desgaste acelerado de la pantalla.
Si no puedes desactivar la pantalla desde la BIOS o desconectarla físicamente, esta solución probada en Debian 12 (Bookworm) y 13 (Trixie) ofrece un enfoque funcional a nivel de kernel.
📌 Paso 1: Verificar el control de la pantalla
Ejecuta desde SSH:
echo 1 | sudo tee /sys/class/graphics/fb0/blank # Apaga la pantalla
echo 0 | sudo tee /sys/class/graphics/fb0/blank # Enciende la pantalla
Si funciona, continúa.
📌 Paso 2: Automatizar al arranque (systemd)
Crea un servicio para apagar la pantalla al iniciar:
sudo nano /etc/systemd/system/blank-screen.service
Pega:
[Unit]
Description=Blank the console screen after boot settles
ConditionPathExists=/sys/class/graphics/fb0/blank
After=getty@tty1.service systemd-user-sessions.service
[Service]
Type=idle
ExecStartPre=/bin/sleep 2
ExecStart=/bin/sh -c 'echo 1 > /sys/class/graphics/fb0/blank'
[Install]
WantedBy=default.target
Habilita el servicio:
sudo systemctl daemon-reload
sudo systemctl enable --now blank-screen.service
📌 Paso 3: Verificar que funciona
Tras reiniciar, la pantalla se apagará al completar el arranque (mientras el sistema sigue operativo, verificable via SSH). No es necesario revisar archivos del kernel
📝 Explicación del servicio
- Este servicio apaga la pantalla de la consola automáticamente después de que el sistema termina de arrancar.
- Se ejecuta sólo si existe
/sys/class/graphics/fb0/blank
. - La directiva After asegura que se ejecute cuando la consola de login ya está disponible.
- Type=idle retrasa la ejecución hasta que el resto de los servicios principales han terminado.
- El pequeño sleep garantiza que los últimos mensajes del arranque (por ejemplo, fsck) no se queden visibles.
↩️ Cómo Revertir los Cambios
Si necesitas recuperar la pantalla:
1. Detener el servicio y reactivar manualmente
sudo systemctl stop blank-screen.service
echo 0 | sudo tee /sys/class/graphics/fb0/blank # Encender pantalla
2. Deshabilitar el servicio permanentemente
sudo systemctl disable blank-screen.service
sudo rm /etc/systemd/system/blank-screen.service
sudo systemctl daemon-reload
💡 Conclusión
- ✅ Pantalla apagada = Sin burn-in, menor consumo.
- ✅ Funciona en modo headless (sin teclado/monitor).
- ✅ Fácil de revertir si es necesario.
Si tu hardware no soporta esta solución, prueba alternativas como vbetool
o desactivar el framebuffer.