问题描述
我安装了 Ubuntu GNOME,发现收到很多“程序未响应”消息。
我要么 “Force Quit” 该程序,要么 “Wait” 多一点。
我注意到,每次我等待程序时,程序最终都会继续运行,不会出现任何问题。
因此,我认为可能存在 “timeout” 配置,程序被视为无响应,我想增加此超时。
最佳回答
无法配置,因为超时值在 mutter 源中被定义为常量值。\ngnome-shell 指的是 mutter 库。\n我在 mutter 源中找到了超时值,mutter-3.10.4/src/core/display.c 。
...
#define PING_TIMEOUT_DELAY 5000
它由下面名为 meta_display_ping_window 的函数使用
ping_data->ping_timeout_id = g_timeout_add (PING_TIMEOUT_DELAY, meta_display_ping_timeout, ping_data);
当窗口被激活时,它从函数中引用:
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)
正如您在上面看到的,超时时间为 5 秒。
您可以修改适合您的值,因为 mutter 是开源项目。
超时值参考窗口关闭时的另一种情况。\n窗口删除流程如下
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)
但是,我认为您需要修改延迟窗口的源代码。或者我认为你可以与那些嘀咕的开发者/维护者讨论一下。
您可以使用以下命令准备构建环境并获取源代码。
$ sudo apt-get build-dep mutter
$ sudo apt-get source mutter
要构建它,请参阅
https://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.en.html \n https://wiki.debian.org/BuildingTutorial