如何增加不响应节目的等待时间?

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

我要么“强制退出”程序,要么“等待”它多一点。

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

因此,我认为可能存在“超时”配置,程序被视为无响应,我想增加此超时。

无法配置,因为超时值在mutter源中定义为常量值。 gnome-shell指的是mutter库。 我在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是开源项目。

当窗口关闭时,超时值被称为另一种情况。 窗口删除流程为

 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 https://wiki.debian.org/BuildingTutorial

我不知道回答这个旧问题是否有任何意义,但也许对某人来说这会有所帮助。

我试图从源代码构建mutter库,但我放弃了,因为这个库依赖于许多其他库,而这些库也依赖于其他库。

如果它出现,我需要一种关闭此对话框的方法,但我无法在葡萄酒应用程序中关闭它。 所以我在bash中写了一个小脚本,如果它出现就会杀掉这个窗口。

 #!/bin/bash while [ true ]; do VAL=$(ps -fA | grep "class mutter-dialog" | grep -cv grep) if [ $VAL -eq 1 ] then ID=$(ps -fA | grep "class mutter-dialog" | grep -v grep | awk '{print $2}') sleep 5 echo killing $ID kill $ID exit 0 fi sleep 10 done