Bagaimana cara menambah waktu tunggu untuk program yang tidak merespons?

24

Saya telah menginstal Ubuntu GNOME dan menemukan bahwa saya mendapatkan banyak PROGRAM tidak menanggapi pesan.

Saya harus "Force Quit" program atau "Tunggu" untuk itu lebih sedikit.

Saya perhatikan bahwa setiap kali saya menunggu program, program akhirnya berlanjut tanpa masalah.

Jadi, saya pikir mungkin ada konfigurasi "batas waktu" untuk program yang dianggap tidak merespons dan saya ingin menambah batas waktu ini.

malhobayyeb
sumber
Masalah yang sama di sini. Saya sering bekerja pada direktori jaringan dan pesan saya datang dalam banyak kasus tepat sebelum file disimpan. Jadi saya hanya perlu mengklik menunggu. Saya mencari solusi dengan gnome-shell.
Willi
Saya juga menghadapi masalah yang sama, namun saya telah menemukan di mana tepatnya masalahnya berada. Peduli berkolaborasi memperbaiki ini? tuxdna.in/blog/2014/07/15/…
tuxdna
Permintaan fitur yang saya ajukan secara independen untuk membaca ini: gitlab.gnome.org/GNOME/mutter/issues/32
Nathaniel M. Beaver

Jawaban:

14

Itu tidak dapat dikonfigurasikan, karena nilai batas waktu didefinisikan sebagai nilai konstan pada sumber bergumam. gnome-shell merujuk perpustakaan bergumam. Saya menemukan nilai batas waktu di sumber bergumam, bergumam-3.10.4 / src / core / display.c.

...
#define PING_TIMEOUT_DELAY 5000

Dan itu digunakan oleh fungsi di bawah ini bernama meta_display_ping_window

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

Ini disebut dari fungsi ketika jendela diaktifkan:

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)

Seperti yang Anda lihat di atas, batas waktu adalah 5 detik.

Anda dapat mengubah nilai hanya untuk Anda karena bergumam adalah proyek open source.

Dan nilai batas waktu disebut kasus lain ketika jendela ditutup. Aliran hapus jendela adalah sebagai

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)

Namun, saya pikir Anda perlu memodifikasi sumber untuk jendela yang tertunda. Atau saya pikir Anda bisa mendiskusikannya dengan pengembang / pengelola gumaman.

Anda dapat menyiapkan lingkungan build dan mendapatkan sumber dengan perintah berikut.

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

Untuk membangunnya, Refer

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

Xiaodongjie
sumber
-1

Saya tidak tahu apakah menjawab pertanyaan lama ini masuk akal, tetapi mungkin bagi seseorang itu akan membantu.

Saya mencoba membangun perpustakaan bergumam dari sumber, tetapi saya menyerah, karena perpustakaan ini tergantung pada banyak perpustakaan lain, dan perpustakaan itu juga tergantung pada perpustakaan lain.

Saya perlu cara untuk menutup dialog ini sekali jika muncul, tetapi saya tidak dapat menutupnya di aplikasi anggur . Jadi saya menulis skrip kecil di bash, yang akan mematikan jendela ini jika muncul.

#!/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
sumber