如何防止 GNOME 在完成編譯工作時掛起

如何防止 GNOME 在完成編譯工作時掛起

我正在嘗試為我的機器建立一個自訂內核,該內核需要很長時間才能建置(如預期)。是否可以阻止我的 GNOME 桌面掛起機器,直到編譯完成,然後將其掛起(假設我離開機器通常需要 30 分鐘)。

我不想永久禁用掛起(這很容易透過系統設定控制面板完成,但會浪費電量),而是能夠指定(透過 PID?)我的編譯作業並在完成時讓電腦掛起。

答案1

您可以完全停用不活動逾時。

例如,若要僅停用交流電源的掛起逾時,請執行

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0

我個人認為,在預設情況下使用交流電源時,設定不活動超時來暫停電腦是完全愚蠢的,普通人沒有選項可以停用它。

答案2

我現在沒有時間了解所有細節,但請參閱GNOME 電源管理器常見問題》如何讓我的應用程式停止電腦自動掛起它指向Inhibit()UnInhibit()DBus 呼叫。

A警告:如果呼叫的進程Inhibit()退出,則抑制結束 -dbus-send因此在 Shell 腳本中是行不通的,但是需要一些包裝腳本(例如Python)。

編輯 這篇博文包含更多信息,還有一個可能有用的 Python 存根。

答案3

GNOME 以實用程式的形式為這個問題開發了一個巧妙的解決方案gnome-session-inhibit。要使用它,您只需在長時間運行的命令之前添加它,例如:

gnome-session-inhibit make

如果需要,可以同時執行多個禁止會話。這些可以透過運行列出gnome-session-inhibit -l。如欲了解更多詳情,請參閱手冊頁

答案4

產生一個1小時長的空白影片檔案並在支援MPRIS2的播放器中播放。您可以產生一系列不同長度的「影片」並將它們提示到播放清單中,以獲得所需的禁止時間。

它不知道任何進程可能會超過禁止期限,但如果您大致知道該進程將花費多長時間,您可能可以預測它。

或者,您可以購買一種名為“滑鼠抖動器”的廉價設備。它看起來像一個無線滑鼠接收器,但它模擬了一隻經常晃動的滑鼠。有些型號有一個按鈕可以切換功能。

相關內容