Linux 在終端環境中蓋上螢幕不睡眠(Suspend)
文章目錄
Photo by Matthew Ratzloff on Flickr
如果你是 Linux 使用者,不知道你有沒有遇過在桌面環境點關機後若是馬上蓋起螢幕就會進入睡眠(Suspend)而無法繼續關機的情況,亦或是你想將家中不用的舊電腦裝上 Arch 作為伺服器,想要蓋上螢幕省電的話就需要設定 logind
,不然電腦就會睡眠,網路連接也會中斷。
ACPI 事件
systemd 會掌管電源相關的 ACPI 事件,事件動作可以是 ignore
, poweroff
, reboot
, halt
, suspend
, hibernate
, hybrid-sleep
, suspend-then-hibernate
, lock
或 kexec
。
名詞 | 翻譯 |
---|---|
ignore | 什麼都不做 |
poweroff | 關閉電源(直接切斷電源) |
reboot | 重新啟動 |
halt | 與 poweroff 類似,不管系統狀態直接停止電腦運作 |
suspend | 暫停,和 Windows 的睡眠一樣,資料暫存在 RAM,電腦與週邊設備會保持在低電源消耗模式 |
hibernate | 冬眠,類似 WIndows 中的休眠,暫存資料儲存在磁碟中 |
hyber-sleep | 交互式睡眠,結合暫停與冬眠特性,資料會同時儲存在 RAM 和磁碟,只會對 RAM 供電,其他元件斷電 |
lock | 鎖定螢幕 |
kexec | kernel execution,允許略過 BIOS 從現有內核啟動新的內核(其實我也不太了解 kexec 的作用) |
修改設定檔
logind
設定檔位於 /etc/systemd/logind.conf
或 /etc/systemd/logind.conf.d/*.conf
,Arch Linux 則是在 /etc/systemd/logind.conf
。
找到 HandleLidSwitch
的那行並取消註解,值改為 ignore
後儲存離開,蓋上螢幕時就會不進行任何動作。
要應用變更必須重啟 systemd-logind.service
。
|
|
所有事件處理器
事件處理器 | 功能描述 | 預設動作 |
---|---|---|
HandlePowerKey |
當按下電源鍵 | poweroff |
HandleSuspendKey |
當按下睡眠鍵 | suspend |
HandleHibernateKey |
當按下休眠鍵 | hibernate |
HandleLidSwitch |
當螢幕蓋上 | suspend |
HandleLidSwitchDocked |
當系統連接上擴展基座或多台顯示器時蓋上螢幕 | ignore |
HandleLidSwitchExternalPower |
當電腦連接外部電源時蓋上螢幕 | 使用 HandleLidSwitch 的動作 |
Reference
文章作者 Chun Yu
上次更新 2020-02-17