我已经用 etc... 设置了 logind.conf handlelidswitch=ignore
,效果很好。但是屏幕一直亮着,因为系统从不休眠。
如何在 x 分钟后或盖子关闭时(或两者)关闭内置笔记本电脑显示器。
cat /sys/module/kernel/parameters/consoleblank
按预期返回 0。
我想我需要知道setterm --blank 30 --powerdown 2
空白处以秒为单位,断电处以分钟为单位。
在哪里添加这个进行初始化最好,我以为是 /etc/rc.local,但这是 systemd,现在我很困惑。
宁愿不要搞砸这件事,我真的不知道我在做什么,谢谢:)
答案1
好的,我尝试了一下并且成功了。
按照systemd 手册页我在 /etc/system/systemd/ 中创建了一个服务
用过的setterm 手册页对于变量 --blank 2 --powerdown 3
`[Unit] 描述=启用虚拟控制台消隐和关机
[服务] 类型=oneshot 环境=TERM=linux 标准输出=tty TTYPath=/dev/console ExecStart=/usr/bin/setterm --blank 2 --powerdown 3
[安装] WantedBy=multi-user.target`
保存为 enable-console-blanking.service
sudo chmod 644 /etc/systemd/system/enable-console-blanking.service
然后运行systemctl started
它systemctl enabled
就会systemctl status
显示:
> ● enable-console-blanking.service - Enable virtual console blanking
> and poweroff
> Loaded: loaded (/etc/systemd/system/enable-console-blanking.service; enabled; vendor
> preset: enabled)
> Active: inactive (dead) since Sun 2020-04-19 00:16:25 BST; 2s ago
> Process: 20573 ExecStart=/usr/bin/setterm --blank 2 --powerdown 3 (code=exited, status=0/SUCCESS) Main PID: 20573 (code=exited,
> status=0/SUCCESS)
我认为那是 2 分钟的空白和 3 分钟的省电,不能完全弄清楚它在做什么,但它正在关闭,而这在我的书中是一次胜利。
答案2
回答晚了,但我希望它仍然可以对某些人有所帮助。
塞特尔应该可以工作,但根据我的经验,很难正常工作(例如,参见另一个答案中关于它停止启动工作的评论)。它需要在启动时运行,但也需要在实际的 tty 上运行才能工作。我更喜欢内核参数解决方案。
内核启动参数:consoleblank
Linux 有一个启动参数consoleblank=XX
,会在 XX 秒后关闭 tty。
要使用此参数:
- 编辑
/etc/default/grub
- 找到以下行
GRUB_CMDLINE_LINUX="foo=bar"
- 添加参数:
GRUB_CMDLINE_LINUX="consoleblank=60 foo=bar"
- 跑步
update-grub
- 重启
这样,显示屏将在一分钟后关闭(如果对您来说时间太短,请调整数字)。这在登录提示和有人登录时都有效。
这不会影响 Wayland。不确定经典 Xorg 是否适用。