在文本控制台上禁用屏幕消隐

在文本控制台上禁用屏幕消隐

我正在运行 Linux 集群,主要是在 SLES10 上。服务器大多是刀片式服务器,通过远程控制台访问。服务器机房里有一个真正的控制台,但已关闭。

我想禁用屏幕消隐,因为它没有任何作用而且很麻烦。您必须按 键才能查看是否已连接,这很痛苦。我们在运行级别 3 下运行,因此控制台处于文本模式,不涉及 X11。

答案1

您可以通过以下方式验证内核用于虚拟控制台消隐的超时:

$ cat /sys/module/kernel/parameters/consoleblank
600

该文件是只读的,超时以秒为单位指定。当前默认值似乎是 10 分钟。

您可以通过输入以下命令来更改该值在虚拟控制台上(如果您在 xterm 中,则必须通过点击例如Ctrl+ Alt+更改为虚拟控制台F1)。

$ setterm -blank VALUE

其中新 VALUE 指定于分钟。值为 0 禁用消隐:

$ cat /sys/module/kernel/parameters/consoleblank
600
$ setterm -blank 0
$ cat /sys/module/kernel/parameters/consoleblank
0

设定项还有其他与省电相关的选项,最有用的组合似乎是:

$ setterm -blank 0 -powersave off

因此,要在启动时永久/自动禁用虚拟控制台消隐,您可以:

  1. 添加consoleblank=0内核范围到内核​​命令行(即编辑和更新引导加载程序配置)

  2. 将命令添加setterm -blank 0到启动脚本rc-local或等效的启动脚本中

  3. setterm输出添加到/etc/issue因为/etc/issue每个虚拟控制台上都有输出:

    # setterm -blank 0 >> /etc/issue

从以上选项中选择一种。

答案2

尝试使用这个:

setterm -blank

答案3

根据 :https://wiki.archlinux.org/index.php/Display_Power_Management_Signaling#DPMS_Interaction_in_a_console_with_setterm

防止屏幕关闭(在控制台中)

$ setterm -blank 0 -powerdown 0

或者,您可以使用以下命令永久禁用控制台消隐:

# echo -ne "\033[9;0]" >> /etc/issue

答案4

我已经实现并测试了以下配置,该配置在我目前的主力 sles10 上运行良好。

/etc/init.d/boot.local

添加

setterm -blank

看来这就是全部了。感谢 Uku Loskit 和 Gilles 推动我们走向正确的方向。

相关内容