如何增加无响应程序的等待时间?

mal*_*yeb 25 gnome configuration environment-variables

我安装了一个 Ubuntu GNOME,发现我收到了很多 PROGRAM 没有响应的消息。

我要么“强制退出”该程序,要么“稍等”一下。

我注意到每次我等待程序时,程序最终都会继续运行而没有问题。

所以,我认为可能有一个“超时”配置被认为是无响应的程序,我想增加这个超时。

xia*_*jie 16

无法配置,因为超时值在 mutter 源中定义为常量值。gnome-shell 指的是 mutter 库。我在 mutter 源中找到了超时值,mutter-3.10.4/src/core/display.c。

...
#define PING_TIMEOUT_DELAY 5000
Run Code Online (Sandbox Code Playgroud)

它由以下名为 meta_display_ping_window 的函数使用

ping_data->ping_timeout_id = g_timeout_add (PING_TIMEOUT_DELAY, meta_display_ping_timeout, ping_data);
Run Code Online (Sandbox Code Playgroud)

当窗口被激活时,它是从函数中引用的:

window_activate(mutter-3.10.4/src/core/window.c) -> meta_window_check_alive(mutter-3.10.4/src/core/delete.c) -> meta_display_ping_window(mutter-3.10.4/src/core/display.c)
Run Code Online (Sandbox Code Playgroud)

正如您在上面看到的,超时为 5 秒。

因为mutter是开源项目,所以你可以为你修改这个值。

当窗口关闭时,超时值是另一种情况。窗口删除流程如下

meta_window_delete(mutter-3.10.4/src/core/delete.c) -> meta_window_check_alive(mutter-3.10.4/src/core/delete.c) -> meta_display_ping_window(mutter-3.10.4/src/core/display.c)
Run Code Online (Sandbox Code Playgroud)

但是,我认为您需要修改延迟窗口的源代码。或者我认为您可以与 mutter 开发人员/维护人员讨论它。

您可以使用以下命令准备构建环境并获取源代码。

$ sudo apt-get build-dep mutter
$ sudo apt-get source mutter
Run Code Online (Sandbox Code Playgroud)

要构建它,请参阅

https://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.en.html https://wiki.debian.org/BuildingTutorial