Graphics

在核心級別禁用掛起(獨立於發行版、DE 和登錄使用者或登錄螢幕)

  • March 12, 2015

我的舊筆記型電腦中有一塊工作不太好的 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

引用自:https://unix.stackexchange.com/questions/188774