Come aumentare i tempi di attesa per i programmi che non rispondono?


24

Ho installato Ubuntu GNOME e ho scoperto che sto ricevendo molti PROGRAMMI che non rispondono ai messaggi.

Devo "forzare l'uscita" dal programma o "attendere" un po 'di più.

Ho notato che ogni volta che aspetto il programma, il programma alla fine continua senza problemi.

Quindi, penso che potrebbe esserci una configurazione di "timeout" per i programmi da considerare non rispondenti e voglio aumentare questo timeout.


Lo stesso problema qui. Lavoro spesso su una directory di rete e il mio messaggio è arrivato nella maggior parte dei casi poco prima che il file venga salvato. Quindi devo solo fare clic su aspettare. Cerco una soluzione con gnome-shell.
Willi

Sto anche affrontando lo stesso problema, tuttavia ho capito dove si trova esattamente il problema. Vuoi collaborare per risolvere questo problema? tuxdna.in/blog/2014/07/15/…
tuxdna,

Richiesta di funzionalità Ho archiviato indipendentemente dalla lettura di questo: gitlab.gnome.org/GNOME/mutter/issues/32
Nathaniel M. Beaver

Risposte:


14

Non è stato possibile configurarlo perché il valore di timeout è definito come valore costante nell'origine mormora. gnome-shell fa riferimento alla libreria mormora. Ho trovato il valore di timeout alla sorgente mutter, mutter-3.10.4 / src / core / display.c.

...
#define PING_TIMEOUT_DELAY 5000

Ed è utilizzato da una funzione di seguito denominata meta_display_ping_window

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

Viene riferito dalla funzione quando la finestra è attivata:

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)

Come puoi vedere sopra, il timeout è di 5 secondi.

È possibile modificare il valore solo per te perché borbottare è un progetto open source.

E il valore di timeout viene riferito in un altro caso quando la finestra viene chiusa. Il flusso di eliminazione della finestra è come

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)

Tuttavia, penso che sia necessario modificare l'origine per la finestra ritardata. Oppure penso che puoi discuterne con gli sviluppatori / manutentori mormori.

È possibile preparare l'ambiente di compilazione e ottenere l'origine con i seguenti comandi.

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

Per costruirlo, fare riferimento

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


-1

Non so se rispondere a questa vecchia domanda abbia un senso, ma forse per qualcuno sarà utile.

Ho provato a costruire la libreria mormorante dal sorgente, ma ho rinunciato, perché questa libreria dipende da molte altre librerie, e quelle librerie dipendono anche da altre librerie.

Avevo bisogno di un modo per chiudere una volta questa finestra se appare, ma non sono stato in grado di chiuderla nell'applicazione Wine . Così ho scritto una piccola sceneggiatura in bash, che ucciderà questa finestra se appare.

#!/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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.