max*_*zig 91
您可以通过以下方式验证内核用于虚拟控制台消隐的超时时间:
$ cat /sys/module/kernel/parameters/consoleblank
600
Run Code Online (Sandbox Code Playgroud)
此文件是只读的,超时以秒为单位指定。当前的默认值似乎是 10 分钟。
您可以通过在虚拟控制台上输入以下命令来更改该值(如果您在 xterm 中,则必须通过点击例如Ctrl+ Alt+更改为虚拟控制台F1)。
$ setterm -blank VALUE
Run Code Online (Sandbox Code Playgroud)
其中新的 VALUE 以分钟为单位指定。值 0 禁用消隐:
$ cat /sys/module/kernel/parameters/consoleblank
600
$ setterm -blank 0
$ cat /sys/module/kernel/parameters/consoleblank
0
Run Code Online (Sandbox Code Playgroud)
setterm还有其他与省电相关的选项,最有用的组合似乎是:
$ setterm -blank 0 -powersave off
Run Code Online (Sandbox Code Playgroud)
因此,要在启动时永久/自动禁用虚拟控制台消隐,您可以:
consoleblank=0
到内核参数(编辑 grub 配置)setterm -blank 0
命令添加到一个rc-local
或等效的启动脚本将setterm
输出添加到/etc/issue
因为/etc/issue
是每个虚拟控制台上的输出:
# setterm -blank 0 >> /etc/issue
从上面选择一个选项。
Uku*_*kit 15
尝试使用这个:
setterm -blank
Run Code Online (Sandbox Code Playgroud)
Grz*_*cki 15
根据: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
小智 15
唯一的永久解决方案是添加consoleblank=0
到内核命令行。您可以在以下位置查看值(默认为 600 秒):
/sys/module/kernel/parameters/consoleblank
Run Code Online (Sandbox Code Playgroud)
(请注意,该文件是只读的)。更改 consoleblank 值的唯一方法是使用新的内核命令行选项重新启动。
mar*_*s_b 13
我已经实施并测试了以下配置,它在我目前的主力 sles10 上运行良好。
在
/etc/init.d/boot.local
Run Code Online (Sandbox Code Playgroud)
添加
setterm -blank
Run Code Online (Sandbox Code Playgroud)
看起来这就是全部。感谢 Uku Loskit 和 Gilles 朝着正确的方向努力。
我真的被这个问题弄糊涂了。上面使用 setterm 和从/到 /dev/tty0 重定向的所有技巧在我的 ssh 中都不起作用。
然后我意识到了一种禁用它的方法:
TERM=linux setterm -blank 0 -powerdown 0 -powersave off >/dev/tty0 </dev/tty0
Run Code Online (Sandbox Code Playgroud)
TERM=linux 替换了默认的 TERM(在我的机器上是 xterm-256color),并帮助 setterm 从 tty0 查询正确的参数。
您可以通过以下方式检查结果
cat /sys/module/kernel/parameters/consoleblank
Run Code Online (Sandbox Code Playgroud)
它应该是 0。如果是 600,那么技巧还没有奏效。