¿Cómo aumentar el tiempo de espera para los programas que no responden?

24

He instalado un Ubuntu GNOME y descubrí que recibo muchos PROGRAMAS que no responden mensajes.

Tengo que "Forzar el cierre" del programa o "Esperar" un poco más.

Me di cuenta de que cada vez que espero el programa, el programa finalmente continúa sin problemas.

Entonces, creo que puede haber una configuración de "tiempo de espera" para que los programas se consideren que no responden y quiero aumentar este tiempo de espera.

malhobayyeb
fuente
Mismo problema aquí. Trabajo a menudo en un directorio de red y mi mensaje llegó en la mayoría de los casos justo antes de guardar el archivo. Entonces necesito hacer clic en esperar. Busco una solución con gnome-shell.
Willi
También estoy enfrentando el mismo problema, sin embargo, he descubierto dónde está exactamente el problema. ¿Te gustaría colaborar para solucionar esto? tuxdna.in/blog/2014/07/15/…
tuxdna
Solicitud de funciones
Nathaniel M. Beaver

Respuestas:

14

No se pudo configurar, porque el valor de tiempo de espera se define como un valor constante en la fuente de murmullo. gnome-shell se refiere a la biblioteca de murmullos. Encontré el valor de tiempo de espera en la fuente de murmullo, mutter-3.10.4 / src / core / display.c.

...
#define PING_TIMEOUT_DELAY 5000

Y es utilizado por una función a continuación llamada meta_display_ping_window

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

Se refiere a la función cuando se activa la ventana:

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)

Como puede ver arriba, el tiempo de espera es de 5 segundos.

Puede modificar el valor solo para usted porque el murmullo es un proyecto de código abierto.

Y el valor de tiempo de espera se refiere a otro caso cuando la ventana está cerrada. El flujo de eliminación de ventana es como

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)

Sin embargo, creo que debe modificar la fuente de su ventana retrasada. O creo que puedes discutirlo con los desarrolladores / mantenedores de murmullos.

Puede preparar el entorno de compilación y obtener la fuente con los siguientes comandos.

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

Para construirlo, consulte

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

xiaodongjie
fuente
-1

No sé si responder a esta vieja pregunta tiene algún sentido, pero tal vez para alguien sea útil.

Traté de construir la biblioteca de murmullos desde la fuente, pero me di por vencida, porque esta biblioteca depende de muchas otras bibliotecas, y esas bibliotecas también dependen de otras bibliotecas.

Si aparecía, necesitaba una forma de cerrar este cuadro de diálogo una vez, pero no pude cerrarlo en la aplicación Wine . Entonces escribí un pequeño script en bash, que matará esta ventana si aparece.

#!/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
Tom
fuente