如何配置 Linux 文本控制台以在一段时间后自动关闭显示器?
我说的“文本控制台”是指按 ctrl+alt+F[1-6] 时显示的内容,也就是 X11 未运行时显示的内容。而且,我没有使用任何帧缓冲控制台(它是一个简单、好用且老旧的 80x25 文本模式)。
很多年前,我使用 Slackware Linux,它曾经以文本模式启动。然后,您需要startx
在登录后手动运行。无论如何,主登录“屏幕”是纯文本模式控制台,我记得显示器过去会在一段时间后关闭(节能模式,由闪烁的 LED 指示)。
现在我使用 Gentoo,并且有类似的设置。机器以文本模式启动,我很少需要运行startx
。我这样说是因为这主要是我的个人 Linux 服务器,并且不需要一直运行 X11。(这意味着:我不想使用 GDM/KDM 或任何其他图形登录屏幕)
但是现在,在这个 Gentoo 文本模式控制台中,屏幕过一会儿就变黑了,但显示器没有进入任何节能模式(LED 始终亮着)。是的,我已经等了很长时间来验证这一点。
因此,我的问题是:如何配置当前系统以使其像旧系统一样运行?换句话说,如何使文本控制台触发显示器的节能模式?
(也许我应该将这个问题(交叉)发布到https://unix.stackexchange.com/)
答案1
我不太确定,但如果你已经setterm -blank <n>
在其中一个初始化文件中进行了设置,请尝试以下操作:
setterm -blank 10 -powerdown 15
该vbetool
命令有时很方便:
vbetool dpms off
您需要在内核中启用 APM 或 ACPI。
也可以看看:
答案2
在过去的一周中,我一直在尝试为旧机器编译最小内核,并且我注意到当我使用 ACPI 时您在新的 Gentoo 设置中看到的行为与您在 Slackware 中看到的行为完全相同,当我使用 APM 时也是如此。
具体来说,如果我编译一个带有 ACPI 但不带有 APM 的内核:
- 控制台变为空白,但显示屏从未关闭。
- 但是,您可以控制 ACPI 事件(例如,按下电源按钮即可启动 Linux 关机序列)。
如果我仅使用 APM 进行编译,不使用 ACPI:
- 当控制台变为空白时,显示器就会关闭。
- 按下电源按钮会立即切断系统电源。
我尝试了各种方法(setterm、vbetools)来让屏幕在使用 ACPI 消隐期间关闭电源,但似乎做不到。如果有人有任何想法,请告诉我。
另外,我认为您不必重新编译内核即可重复我的实验。我相信大多数默认内核都具有 ACPI 和 APM(作为模块),并且默认为 ACPI(如果硬件支持)。要尝试禁用 ACPI,您应该能够acpi=off
在启动期间将其传递给内核。
根据 Linux 内核文档:
acpi= [HW,ACPI,X86]
Advanced Configuration and Power Interface
Format: { force | off | strict | noirq | rsdt }
force -- enable ACPI if default was off
off -- disable ACPI if default was on
noirq -- do not use ACPI for IRQ routing
strict -- Be less tolerant of platforms that are not
strictly ACPI specification compliant.
rsdt -- prefer RSDT over (default) XSDT
copy_dsdt -- copy DSDT to memory
See also Documentation/power/pm.txt, pci=noacpi
(来源:http://www.kernel.org/doc/Documentation/kernel-parameters.txt)
答案3
/etc/default/grub 的 GRUB_CMDLINE_LINUX_DEFAULT= 中的 consoleblank=。 https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt