Ich habe ein Ubuntu GNOME installiert und festgestellt, dass ich viele Meldungen vom Typ „PROGRAMM reagiert nicht“ erhalte.
Ich muss das Programm entweder zwangsweise beenden oder noch ein wenig warten.
Mir ist aufgefallen, dass das Programm jedes Mal, wenn ich darauf warte, letztendlich ohne Probleme fortgesetzt wird.
Also, ichdenkenMöglicherweise gibt es eine „Timeout“-Konfiguration für Programme, die als nicht reagierend betrachtet werden, und ich möchte dieses Timeout erhöhen.
Antwort1
Es konnte nicht konfiguriert werden, da dieAuszeitDer Wert ist in der Mutter-Quelle als konstanter Wert definiert. Gnome-Shell bezieht sich auf die Mutter-Bibliothek. Ich habe den Timeout-Wert in der Mutter-Quelle gefunden, mutter-3.10.4/src/core/display.c.
...
#define PING_TIMEOUT_DELAY 5000
Und es wird von einer Funktion namens meta_display_ping_window verwendet
ping_data->ping_timeout_id = g_timeout_add (PING_TIMEOUT_DELAY, meta_display_ping_timeout, ping_data);
Darauf wird von der Funktion verwiesen, wenn das Fenster aktiviert wird:
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)
Wie Sie oben sehen können, beträgt das Timeout 5 Sekunden.
Sie können den Wert nur für sich ändern, da Mutter ein Open-Source-Projekt ist.
Und der Timeout-Wert wird in einem anderen Fall angegeben, wenn das Fenster geschlossen wird. Der Fensterlöschablauf ist wie folgt
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)
Ich denke jedoch, dass Sie die Quelle für Ihr verzögertes Fenster ändern müssen. Oder ich denke, dass Sie dies mit den Entwicklern/Betreuern von Mutter besprechen können.
Sie können die Build-Umgebung vorbereiten und die Quelle mit den folgenden Befehlen abrufen.
$ sudo apt-get build-dep mutter
$ sudo apt-get source mutter
Um es zu erstellen, siehe
https://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.en.html https://wiki.debian.org/BuildingTutorial
Antwort2
Sie können den Mutter-Wert über dconf ändern (/org/gnome/mutter/check-alive-timeout) – der Standardwert ist 5000.
Antwort3
Dieser Fehler wurde behoben. Ein Backport für Ubuntu 18 wurde am 6.6.2019 als gnome-shell 3.28.4 veröffentlicht. SieheSo deaktivieren Sie den Dialog „Fenster reagiert nicht“
Antwort4
Ich weiß nicht, ob es irgendeinen Sinn macht, diese alte Frage zu beantworten, aber vielleicht ist es für jemanden hilfreich.
Ich habe versucht, die Mutter-Bibliothek aus dem Quellcode zu erstellen, habe es aber aufgegeben, weil diese Bibliothek von vielen anderen Bibliotheken abhängt und diese Bibliotheken wiederum von anderen Bibliotheken abhängen.
Ich brauchte eine Möglichkeit, diesen Dialog zu schließen, wenn er einmal erscheint, aber ich konnte ihn nicht schließen in derWeinAnwendung. Also habe ich ein kleines Skript in Bash geschrieben, das dieses Fenster schließt, wenn es erscheint.
#!/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