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


42

我有一个在文本模式下启动的Ubuntu服务器。它很少附有屏幕或键盘,但是当我附加屏幕时,通常也必须附加键盘,因为darn控制台模式的屏幕保护程序将打开,我需要按一下键才能查看内容。继续。

我知道setterm命令可以禁用此功能,但这是每个会话的事情。我如何才能做到,即使机器首次启动并坐在登录提示下时,机器也永远不会以文本模式遮住屏幕?


似乎可以在askubuntu上得到很好的回答: askubuntu.com/questions/138918/…–
Roy

我写了各种RHEL发行版所需的两种不同方法。其中一个可以帮助你与Ubuntu:superuser.com/a/1004931/197972
大卫C.

Answers:


23

在Ubuntu 12.10和更早版本中,console-tools软件包允许控制控制台选项。

要关闭屏幕消隐和关闭电源,请将BLANK_TIME和设置POWERDOWN_TIME0in /etc/console-tools/config。如果您不想修改配置文件,则可以通过在/etc/console-tools/config.d其中包含以下内容的新文件中创建相同的效果:

BLANK_TIME=0
POWERDOWN_TIME=0

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


你怎么知道的?我整个上午一直在搜索Internet,以查找/ etc / console-tools的文档,但找不到任何文档。
拉尔迪2010年

10
警告词:我在ubuntu服务器12.04上安装了console-tools,完成了上面的配置,并且将其完全破坏了...不确定我做错了什么,但是如果其他人遇到了(您在服务器上也很烂)像我一样!),启动到恢复->根提示符->挂载-o重新安装,rw /-> apt-get删除控制台工具->重新启动
BaronVonKaneHoffen 2012年

这在ubuntu 18.04上不存在:(-是否有其他选择?
Roman Gaufman

17

或者您使用/ etc / kbd / config进行设置(取决于您的系统,所安装的内容)

BLANK_TIME=0
BLANK_DPMS=off

更改KBD配置后,我应如何重新启动?
Frodik

1
似乎是/etc/init.d/kbd重装
文森特

2
我在全新安装的Ubuntu Server 10.04.4和12.04.1中尝试了此操作,但在任何一个版本中均无效。
莫里亚蒂教授2012年

这适用于哪些发行版?
迈克尔·汉普顿

这适用于Debian 6和7。BLANK_TIME=30默认情况下,此配置文件设置。
basic6 2015年

15

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

如果在启动setterm期间执行某些操作,则它将覆盖该值。



使用grub2可以将其添加到/ etc / default / grub中GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0",然后使用来更新grub config grub[2]-mkconfig -o /boot/grub/grub.cfg。或者可以在手动配置和编译内核时将其嵌入内置内核命令行中。
user3132194 2014年

7

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

setterm -blank 0

这似乎在rc.local中实际上不起作用。
拉尔迪2010年

过去在RedHat类型的系统上为我工作过。Debian / Ubuntu的加载rc.local时间可能与RH略有不同。对于那个很抱歉。
James Sneeringer 2010年

在CentOS 6.3上不起作用。10分钟后,屏幕继续空白。
迈克尔·汉普顿

1
我发现这适用于RHEL 5和6(/bin/setterm -blank 0 -powerdown 0 -powersave off),但不适用于7。成功或失败可能取决于您的发行版以及执行rc.local时的控制台环境。
David C.

我得到这个<〜$ sudo setterm -blank 0 setterm:终端xterm-256color不支持--blank
Roman Gaufman

4

如果您正在运行使用upstart的较新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版本使用upstart进行系统启动。有了新贵,Linux控制台就使用存储在/ etc / init中的配置文件进行设置。上面的命令首先遍历每个配置文件:

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

$ file中tty的新贵配置文件名称用于构建tty设备的名称:

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

建立了一个新贵的“ post-start”命令,该命令运行“ setterm”以在启动tty后禁用屏幕消隐和节能:

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

最后,该命令将附加到新贵的配置文件中:

| sudo tee -a "$file";

如果您实际上描述了这里发生的事情,那么您的答案会好很多。仅仅给出这样的巨大命令而没有任何解释并不是很有用。
Zoredache

@Zoredache,您是对的,我添加了一个解释。感谢您的反馈。
克里斯·皮克

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.