如何在系统范围内永久禁用Linux的控制台屏幕保护程序?

我有一个在文本模式下启动的Ubuntu服务器。 它很less有一个屏幕或键盘连接到它,但是当我附加一个屏幕时,我通常也必须附加一个键盘,因为屏幕保护程序模式屏幕保护程序将打开,我需要打一个键,看看是什么继续。

我知道,setterm命令可以禁用这个,但它是一个每会话的事情。 我怎么能这样做,使机器永远不会在文本模式下屏幕空白,甚至当它第一次启动和坐在login提示?

    控制台工具包允许控制台选项被控制。

    要closures屏幕消隐和BLANK_TIMEPOWERDOWN_TIME/etc/console-tools/config中将BLANK_TIMEPOWERDOWN_TIME设置为0 。 如果您不想修改configuration文件,则可以通过在/etc/console-tools/config.d中创build一个包含以下内容的新文件来实现相同的效果:

     BLANK_TIME=0 POWERDOWN_TIME=0 

    config.d中文件的名称必须完全由大写和小写字母,数字,下划线和连字符组成。

    或者你使用/ etc / kbd / config来设置(取决于你的系统,安装的是什么)

     BLANK_TIME=0 BLANK_DPMS=off 

    该参数是通过内核命令行进行控制的,使用setterm只会改变运行时设置。 要在系统范围内禁用它,可以通过在启动configuration(grub / lilo)中添加“consoleblank = 0”来更改内核启动命令行。

    如果启动setterm它的话,那么它会覆盖的价值。

    如果将setterm命令添加到/etc/rc.local ,它应该对所有虚拟控制台生效,无论用户是否login到它们。 例如:

     setterm -blank 0 

    如果你正在运行一个新的使用暴发户的Ubuntu,你可以使用:

     for file in /etc/init/tty*.conf; do tty="/dev/`basename $file .conf`"; echo "post-start exec setterm -blank 0 -powersave off >$tty <$tty" | sudo tee -a "$file"; done 

    对这里发生了什么的一点解释:

    较新的Ubuntu版本使用新贵进行系统启动。 与新贵,Linux控制台设置与/ etc / init中存储的configuration文件。 上面的命令首先遍历每个configuration文件:

     for file in /etc/init/tty*.conf; 

    $文件中tty的upstartconfiguration文件名用于构buildtty设备的名称:

     tty="/dev/`basename $file .conf`"; 

    在tty启动后,运行“setterm”来禁用屏幕消隐和省电的新贵“后启动”命令:

     echo "post-start exec setterm -blank 0 -powersave off >$tty <$tty" 

    最后,这个命令被追加到新的configuration文件中:

     | sudo tee -a "$file";