在核心級別禁用掛起(獨立於發行版、DE 和登錄使用者或登錄螢幕)
我的舊筆記型電腦中有一塊工作不太好的 gfx 卡(nVidia geForce Go 7400),它會阻止螢幕從掛起喚醒後重新打開。系統(Ubuntu 14.10)恢復,所以我可以聽到聲音,使用滑鼠、鍵盤等,但螢幕保持黑色沒有燈光,所以完全關閉。每當它意外掛起時,我不得不盲目地導航到關機菜單並將其關閉,失去所有未保存的數據。
另外我只能在冷的時候啟動,所以我必須等待大約 15 分鐘才能重新啟動,所以這個問題很煩人。
我現在想要完成的是,系統根本無法再掛起!
它應該是一個適用於所有 Linux 發行版的解決方案,適用於每個 DE(我目前使用 Unity 和 LXDE),並且適用於所有使用者,包括沒有登錄的使用者(unity-greeter/lxde-greeter)。
當然,它必須涵蓋所有可能的暫停觸發器,例如關閉蓋子、長時間不活動、電池電量不足、點擊關機菜單中的選項、輸入終端命令以及其他任何存在的情況。
感謝您的建議。
您可以在各個級別禁用這些電源管理功能,如ServerFault 上的此答案中所述。
圖形使用者界面級別
在 GNOME 中(但應與任何支持Freedesktop 倡議的桌面一起使用,因此與 Unity 和 LXDE 一起使用),您應該編輯以下文件:
sudoedit /usr/share/polkit-1/actions/org.freedesktop.upower.policy
一部分涉及掛起功能,另一部分涉及休眠功能。每個都有一個標籤
<allow_active>
,您必須將其設置為 no:<allow_active>no</allow_active>
鍵盤級別
現在,如果鍵盤有一些與這些功能相關的鍵,為避免出現此問題,您必須輸入以下命令:
gconftool -s /apps/gnome-power-manager/buttons/hibernate -t string interactive
據我記得,這也適用於 Unity 桌面,但我認為不適用於 LXDE。
命令行級別
仍然可以從命令行觸發掛起或休眠,這裡是如何禁用它。
我們必須創建一個可執行腳本
/etc/pm/sleep.d/
,它將取消任何休眠或掛起操作。sudoedit /etc/pm/sleep.d/000cancel-hibernate-suspend
這個文件的內容應該是:
#!/bin/sh # prevents hibernation and suspend . "$PM_FUNCTIONS" case "${1}" in suspend|hibernate) inhibit ;; resume|thaw) exit 0 ;; esac
現在使該文件可執行:
chmod 0755 /etc/pm/sleep.d/000cancel-hibernate-suspend