qua*_*ote 41 linux screensaver console virtual-terminal framebuffer
如何更改 Linux 虚拟终端上的屏幕消隐行为?
例如,如果我从 X 切换到 VT,登录,然后离开系统 5 分钟左右,屏幕将像屏幕保护程序一样空白。它会随任何按键返回,例如屏幕保护程序。
大多数情况下,我只想更改超时,但我也对其他设置感兴趣。
如果有帮助,我的一个系统正在运行带有股票图形驱动程序的 Ubuntu 10.04。 fbset
显示使用radeondrmfb
帧缓冲设备的控制台。
qua*_*ote 46
setterm
从@ whitequark的回答是合理的用户空间的工具,但它不是故事的全部。
默认的控制台消隐行为在编译时被嵌入到内核中。它可以在启动时使用参数consoleblank= 进行配置,或者在用户空间中使用setterm
. 从内核文档(kernel-parameters.txt):
consoleblank= [KNL] The console blank (screen saver) timeout in
seconds. Defaults to 10*60 = 10mins. A value of 0
disables the blank timer.
Run Code Online (Sandbox Code Playgroud)
以下是选项、它们在我的 Ubuntu 系统上的默认值以及它们的影响范围:
setterm -blank [0-60]
; 查询时总是报0;在真实 VT 上运行时有效;影响所有真实的 TTY;在 VT 上的屏幕会话中运行时无效。setterm -powerdown [0-60]
; 总是报告 "3]" (??); 似乎没有任何影响。Ubuntu 内核不启用APM_DISPLAY_BLANK,这可能是相关的。consoleblank=N
; 默认为 600(10 分钟);影响所有真实的VT;影响 VT 中的屏幕会话;运行时无法设置。因此,我更改默认值的选项是以下选项之一:
setterm -blank X
(X in minutes, 0 to disable) 添加到 shell init 文件,如.bashrc。setterm -blank X
到/etc/rc.local。consoleblank=Y
(Y 以秒为单位,0 以禁用)添加到内核命令行,方法是将其添加到/etc/default/grub 中的参数列表,即GRUB_CMDLINE_LINUX或GRUB_CMDLINE_LINUX_DEFAULT。(不要忘记update-grub
。)whi*_*ark 10
尝试setterm -blank $minutes
(或通过 0 禁用);-powersave
选项也可能相关。setterm
还有很多其他有用的选项。
如果您想在系统启动时设置这些属性,请考虑编写一个 initscript。这只是放置在/etc/init.d
目录中的脚本。让它被称为setterm
:
#!/bin/sh
[ "$1" == "start" ] || exit 0 # only initialize everything when called as /etc/init.d/setterm start
for term in /dev/tty[0-9]*; do # select all ttyNN, but skip ttyS*
setterm -blank 0 >$term <$term
setterm -powersave off >$term <$term
done
Run Code Online (Sandbox Code Playgroud)
然后使其可执行:
# chmod +x /etc/init.d/setterm
Run Code Online (Sandbox Code Playgroud)
最后,创建 /etc/rcX.d 符号链接(Debian 方式):
# update-rc.d setterm defaults
Run Code Online (Sandbox Code Playgroud)
(如果您厌倦了这种行为,请执行# update-rc.d -f setterm remove
。请注意,这-f
必须是第一个参数)。
归档时间: |
|
查看次数: |
69648 次 |
最近记录: |