I find it particularly annoying that the default settings in a stock base Debian install blanks the monitor after about 30 minutes of inactivity. There are a few servers that I have logged in and running htop 24×7 and it’s inconvenient to have to hit the keyboard every time I need to check in on the system.
I did a quick search on Google, but the only results were hack-ish setterm commands crammed into the rc.local or .bashrc files – sure that would work, but instead of setting it at bootup, then setting it again at login, wouldn’t there be a direct way to change the default behavior of the screen blanking? Go dig in /etc and lets see what we find:
pengc99@janus:~$ sudo grep -r setterm /etc/*
grep: /etc/fonts/conf.d/30-defoma.conf: No such file or directory
/etc/init.d/kbd: setterm_args=””
/etc/init.d/kbd: setterm_args=”$setterm_args -blank $BLANK_TIME”
/etc/init.d/kbd: setterm_args=”$setterm_args -powersave $BLANK_DPMS”
/etc/init.d/kbd: setterm_args=”$setterm_args -powerdown $POWERDOWN_TIME”
/etc/init.d/kbd: if [ “$setterm_args” ]; then
/etc/init.d/kbd: setterm $setterm_args
/etc/rcS.d/S16kbd: setterm_args=””
/etc/rcS.d/S16kbd: setterm_args=”$setterm_args -blank $BLANK_TIME”
/etc/rcS.d/S16kbd: setterm_args=”$setterm_args -powersave $BLANK_DPMS”
/etc/rcS.d/S16kbd: setterm_args=”$setterm_args -powerdown $POWERDOWN_TIME”
/etc/rcS.d/S16kbd: if [ “$setterm_args” ]; then
/etc/rcS.d/S16kbd: setterm $setterm_args
pengc99@janus:~$
Hm, /etc/init.d/kbd looks interesting, so lets take a look in there:
# This is the boot script for the `kbd’ package.
# It loads parameters from /etc/kbd/config and maybe loads
# default font and map.
# (c) 1997 Yann Dirson
< 8< ————- snip ————- >8 >
# screensaver stuff
setterm_args=””
if [ “$BLANK_TIME” ]; then
setterm_args=”$setterm_args -blank $BLANK_TIME”
fi
if [ “$BLANK_DPMS” ]; then
setterm_args=”$setterm_args -powersave $BLANK_DPMS”
fi
if [ “$POWERDOWN_TIME” ]; then
setterm_args=”$setterm_args -powerdown $POWERDOWN_TIME”
fi
if [ “$setterm_args” ]; then
setterm $setterm_args
fi
Hm, it looks like it’s looking for the variable BLANK_TIME and POWERDOWN_TIME in the config file /etc/kbd/config – lets take a look in there:
# screen blanking timeout. monitor remains on, but the screen is cleared to
# range: 0-60 min (0==never) kernels I’ve looked at default to 10 minutes.
# (see linux/drivers/char/console.c)
BLANK_TIME=15
< 8< ————- snip ————- >8 >
# Powerdown time. The console will go to DPMS Off mode POWERDOWN_TIME
# minutes _after_ blanking. (POWERDOWN_TIME + BLANK_TIME after the last input)
POWERDOWN_TIME=30
Perfect! Change these from their respective values to 0 and it will effectively disable the screen blanking:
BLANK_TIME=0
POWERDOWN_TIME=0
Restart kbd and you’re good to go:
pengc99@janus:~$ sudo /etc/init.d/kbd restart
Setting console screen modes.
Skipping font and keymap setup (handled by console-setup).
pengc99@janus:~$
3 Comments
Thanks a lot for the hint. This site is now #1 when searching for “debian disable console blanking” in Google
Thanks dude, you made my day! You rock!
I was looking all around but the solutions were always “setterm -blank 0 -powerdown off -powersave 0” OR add the “consoleblank=0” on the kernel parameters in grub config file. In other words it was useless… 🙂
You are the Greatest of them all!