背景#

使用laptop作为homelab时候,会有一些需要做额外处理的地方,比如屏幕关闭、电源管理等。

我的laptop的cpu是amd r5 5600h。安装的系统是Proxmox VE 9.0,对应的os为Debian13 - Trixie

屏幕关闭#

在每次启动的时候,laptop的屏幕默认是开启的。如果长时间不操作,屏幕需要自动关闭,节省能耗。

设置grub参数

编辑/etc/default/grub文件,设置GRUB_CMDLINE_LINUX_DEFAULT

GRUB_CMDLINE_LINUX_DEFAULT="quiet consoleblank=600"

consoleblank参数的值是以秒为单位的,表示在没有用户活动的情况下,等待多长时间后关闭屏幕。上面的例子中,设置为600秒(10分钟)。

更新grub配置:

update-grub

重启系统使配置生效:

reboot

盒盖动作#

默认情况下,当你关闭laptop的盖子时,系统会进入休眠或挂起状态。对于作为homelab使用的laptop,我们希望在关闭盖子时,系统继续运行。

编辑/etc/systemd/logind.conf文件,找到以下行并进行修改:

HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore

保存文件后,重启systemd-logind服务以应用更改:

systemctl restart systemd-logind

电源管理#

proxmox默认电源模式是performance,会导致cpu一直高频运行,相对比较耗电。在我的日常使用中,希望将电源模式设置为powersave,以节省能耗。需要提升性能的时候,可以手动切换回performance模式。

查看当前的cpu频率调节器:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

可以使用tlp来管理电源设置。

# 安装
sudo apt install tlp tlp-rdw

# 启动服务
sudo systemctl enable tlp
sudo systemctl start tlp

# 查看状态
sudo tlp-stat -s

编辑/etc/tlp.conf文件,找到以下行并进行修改:

CPU_SCALING_GOVERNOR_ON_AC=powersave
CPU_SCALING_GOVERNOR_ON_BAT=powersave
CPU_ENERGY_PERF_POLICY_ON_AC=balance_power
CPU_ENERGY_PERF_POLICY_ON_BAT=balance_power

保存文件后,重启tlp服务以应用更改:

sudo systemctl restart tlp

查看当前的cpu频率调节器,确认已经生效:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

启动时候自动黑屏#

上面在grub中设置的consoleblank参数有时候并不生效。可以通过创建systemd服务来实现启动时候自动黑屏。

vi /etc/systemd/system/setterm-config.service
[Unit]
Description=Set Console Power Saving Mode
After=[email protected]

[Service]
Type=oneshot
ExecStart=/usr/bin/setterm -blank 1 -powersave powerdown
StandardOutput=tty
TTYPath=/dev/tty1
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

保存文件后,启用并启动服务:

systemctl enable setterm-config.service
systemctl start setterm-config.service

重启系统,确认启动时候屏幕自动关闭:

reboot