
為了解決一些可靠性問題掛起至內存(筆記型電腦蓋子關閉時),我想詢問哪個軟體與此有關。這樣我就可以解決以下問題:
- 「掛起到記憶體」能否正常運作取決於登入狀態和 tty3。我有 wayland 和 Xorg,有時還有一個在 1 到 5 個 tty 上運行的控制台
- 似乎涉及到
systemd
logind
我的一些 DE(最突出的是Gnome3
和xfce
)。 - 當我重新打開蓋子並從最後一個恢復時,
suspend-to-ram
該gdm
東西不允許“掛起到內存”,迫使我在有另一次機會(這是不可靠的)“掛起到內存”之前鎖定,其中它本身需要5 秒以上(我可以從當時播放的音訊看出,從合上蓋子到關閉音樂很容易就需要7 到10 秒)
我記得(從之前處理與掛起到內存相關的類似問題),“現代”Linux 使用 和Gnome
,systemd
並且loginkit
很logind
容易出現掛起問題,因為不同的軟體與告訴“蓋子關閉”和“禁止掛起”相關-到公羊」。
一個好的答案至少會列出與掛起到記憶體相關的軟體。最好也簡單概述不同軟體的順序和所扮演的角色。
前提是它可能取決於init
我最感興趣的桌面環境
- 系統
- Debian/Ubuntu 18.04
- 侏儒3
和其他“有用的”自動化對我來說只是基本的(但有效):
root@box$ while sleep 1; do
grep "closed" /proc/acpi/button/lid/LID0/state && {
systemctl suspend
sleep 3
}
done
就足夠了。
無論如何,這個問題試圖找出的核心訊息是(什麼軟體參與「檢查蓋子狀態」並因此「掛起到內存」的任務?)
答案1
好的,既然acpid
看起來在您的系統上運作(請參閱評論),那麼可能就是這個軟體元件控制了電源管理。
它是透過配置的/etc/acpi/
。例如,在我的 Debian 中,我有一個/etc/acpi/events/lidbtn
配置文件,用於定義如何對與蓋子相關的每個事件做出反應。
它包含了:
# /etc/acpi/events/lidbtn
# Called when the user closes or opens the lid
event=button[ /]lid
action=/etc/acpi/lid.sh
然後,我想添加一些在蓋子關閉期間運行的操作,我只需將其添加到外殼的正確位置即可/etc/acpi/lid.sh
。設定的許多環境變數acpid
可以幫助偵測事件類型。
您可以閱讀 acpid 的線上說明頁面以獲取更多詳細資訊。