ThinkPad L13でhibernation状態で液晶画面を開くとresumeしてくる

最近 ThinkPad L13 という laptop を利用しています。この端末は suspend 状態でバッテリーがもりもり減っていくので最近は hibernation を利用するようにしました。(NVMe SSD をこの端末で初めて使っていますが hibernation からの resume の速度が速く NVMe の効果を体感できました。)

しかし、この端末は hibernation 状態で電源が切れていても蓋を開くと resume してきます。suspend のときもそうでしたがこの端末は液晶画面のラッチがないのでかばんの中などで勝手に resume してバッテリーを無駄にしてしまいます……。

UEFI の設定にないかなと探しましたがそれらしい設定は見当たらず、以下のページを見つけました。

If you run Linux with systemd, setting HibernateMode=shutdown in /etc/systemd/sleep.conf will do it.

— Thinkpad wakes up from hibernation when I open its lid. How to stop this? : r/thinkpad

/etc/systemd/sleep.conf で設定変更することで対応できるとのことで試してみました。

設定書き換え

$ sudo git -C /etc diff /etc/systemd/sleep.conf
diff --git a/systemd/sleep.conf b/systemd/sleep.conf
index 9843034..4513b49 100644
--- a/systemd/sleep.conf
+++ b/systemd/sleep.conf
@@ -22,7 +22,7 @@
#AllowSuspendThenHibernate=yes
#AllowHybridSleep=yes
#SuspendState=mem standby freeze
-#HibernateMode=platform shutdown
+HibernateMode=shutdown
#MemorySleepMode=
#HibernateDelaySec=
#SuspendEstimationSec=60min

HibernateMode=shutdown に書き換えた後再起動して、 hibernation を試すと蓋を開閉しても resume して来なくなりました。これで持ち運び時にバッテリーが減らなくなりそうです。

Note

これがうまく行かなかった場合、 cryptsetup のパスワード入力にタイムアウトを設定できないかと思い、以下の patch を試そうかと思っていました。

#994682 – cryptsetup-initramfs: Poweroff timeout for cryptroot – Debian Bug report logs https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=994682

環境

$ dpkg-query -W systemd
systemd 256.6-1
lsb_release -dr
Description: Debian GNU/Linux trixie/sid
Release: n/a
$ arch
x86_64
$ sudo dmidecode -s system-sku-number
LENOVO_MT_20R4_BU_Think_FM_ThinkPad L13