web-dev-qa-db-fra.com

Comment augmenter le temps d'attente pour les programmes qui ne répondent pas?

J'ai installé un GNOME Ubuntu et constaté que je reçois beaucoup de messages PROGRAM ne répond pas.

Je dois soit "forcer la sortie" du programme ou "attendre" pour un peu plus.

J'ai remarqué que chaque fois que j'attends le programme, celui-ci se poursuit sans problème.

Donc, je pensez il pourrait y avoir une configuration "timeout" pour que les programmes soient considérés comme non-répondeurs et je veux augmenter ce délai.

23
malhobayyeb

Il n'a pas pu être configuré car la valeur de la temporisation est définie comme une valeur constante dans la source mutter. gnome-Shell fait référence à la bibliothèque mutter. J'ai trouvé la valeur de délai d'attente à la source de murmure, mutter-3.10.4/src/core/display.c.

...
#define PING_TIMEOUT_DELAY 5000

Et il est utilisé par une fonction ci-dessous nommée meta_display_ping_window

ping_data->ping_timeout_id = g_timeout_add (PING_TIMEOUT_DELAY, meta_display_ping_timeout, ping_data);

Il est référé à partir de la fonction lorsque la fenêtre est activée:

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)

Comme vous pouvez le voir ci-dessus, le délai d'attente est de 5 secondes.

Vous pouvez modifier la valeur juste pour vous parce que mutter est un projet open source.

Et la valeur de délai d'attente est référée à un autre cas lorsque la fenêtre est fermée. Le flux de suppression de la fenêtre est le suivant

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)

Cependant, je pense que vous devez modifier le source de votre fenêtre différée. Ou je pense que vous pouvez en discuter avec les développeurs/mainteneurs de murmures.

Vous pouvez préparer l'environnement de construction et obtenir le source avec les commandes suivantes.

$ Sudo apt-get build-dep mutter
$ Sudo apt-get source mutter

Pour le construire, reportez-vous

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

12
xiaodongjie