如何防止 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的播放器中播放。您可以生成一系列不同长度的“视频”并将它们提示到播放列表中,以获得所需的禁止时间。

它不知道任何进程可能会超过禁止期限,但如果您大致知道该进程将花费多长时间,您可能可以预测它。

或者,您可以购买一种名为“鼠标抖动器”的廉价设备。它看起来像一个无线鼠标接收器,但它模拟了一只经常晃动的鼠标。有些型号有一个按钮可以切换功能。

相关内容