Brave
@47c132035ed7a1105a867946b99d67af 网络安全与大数据研究小组 公开
讨论 Ubuntu笔记本电脑合盖设置调优:锁定屏幕而非休眠

Ubuntu笔记本电脑合盖设置调优:锁定屏幕而非休眠

对于许多Ubuntu笔记本用户来说,合上盖子默认进入休眠(Suspend)状态是一个既节能又方便的功能。然而,在某些特定场景下,例如需要保持后台任务持续运行、远程连接不中断,或者将笔记本外接显示器作为主机使用时,我们可能希望合上盖子后系统能保持运行,但同时出于安全考虑锁定屏幕。

本文将详细探讨如何在Ubuntu系统中修改默认设置,实现笔记本电脑合盖后不进入休眠,而仅仅锁定屏幕。

理解默认行为

在大多数Linux发行版(包括Ubuntu)中,系统的电源管理行为由systemd-logind服务控制。其配置文件定义了对各种硬件事件(如按下电源按钮、合上笔记本盖子)的响应。默认情况下,合盖事件(Lid Switch)被设置为触发“suspend”动作,即系统挂起到内存,以节省电量。

以下介绍一种最通用且可靠的方法,适用于几乎所有采用systemd的Ubuntu版本及桌面环境。

第一步:编辑配置文件

首先,需要使用文本编辑器以管理员权限打开/etc/systemd/logind.conf文件。你可以在终端中使用nanovimgedit等编辑器。以nano为例,命令如下:

sudo nano /etc/systemd/logind.conf

第二步:修改合盖动​​作

在打开的文件中,你会找到一行被注释掉(以#开头)的配置项#HandleLidSwitch=suspend

这个配置项控制着使用电池供电时合上盖子的行为。systemd-logind还提供了另外两个相关的配置项,以应对不同供电情况:

  • HandleLidSwitchExternalPower:当连接外部电源时合上盖子的行为。
  • HandleLidSwitchDocked:当连接到扩展坞时合上盖子的行为。

要实现合盖时锁定屏幕,你需要将HandleLidSwitch的值从suspend修改为lock。 [[2]](https://chuguo.tech/ubuntu2204/lid-switch)[[3]](https://www.51cto.com/article/718475.html) 同时,为了确保在各种情况下行为一致,建议将这三个选项都进行修改。

找到以下几行:

#HandleLidSwitch=suspend
#HandleLidSwitchExternalPower=suspend
#HandleLidSwitchDocked=ignore

将它们修改为(注意要去掉行首的#号以取消注释):

HandleLidSwitch=lock
HandleLidSwitchExternalPower=lock
HandleLidSwitchDocked=lock

参数解释: 

  • suspend: 挂起(休眠到内存),这是默认值。
  • lock: 锁定屏幕,但系统保持运行。
  • ignore: 忽略合盖事件,不做任何操作。
  • poweroff: 关闭计算机。
  • hibernate: 休眠到硬盘(需要配置Swap分区或文件)。

如果你希望合上盖子后电脑继续运行且不锁屏(例如,作为服务器使用),可以将值设置为ignore

第三步:保存文件并重启服务

修改完成后,保存并关闭文件。如果你使用的是nano编辑器,可以按Ctrl + O保存,然后按Ctrl + X退出。 [[5]](https://www.cnblogs.com/ashet/p/18792543)

为了让新的配置立即生效,需要重启systemd-logind服务。在终端中执行以下命令:

sudo systemctl restart systemd-logind.service

或者使用较旧的命令格式:

sudo service systemd-logind restart

现在,当你合上笔记本电脑的盖子时,系统将不再休眠,而是会直接锁定屏幕,你需要输入密码才能重新进入桌面。

小结

通过修改systemd-logind的配置文件,你可以精确地控制Ubuntu笔记本在合上盖子时的行为。将HandleLidSwitch等相关参数的值从默认的suspend更改为lock,便可实现在保持系统运行的同时确保安全性的需求,这对于需要长时间运行任务或外接显示器的用户来说尤为实用。