Làm thế nào để tăng thời gian chờ đợi cho các chương trình không đáp ứng?


24

Tôi đã cài đặt Ubuntu GNOME và thấy rằng tôi đang nhận được rất nhiều CHƯƠNG TRÌNH không trả lời tin nhắn.

Tôi phải "Buộc thoát" chương trình hoặc "Đợi" cho nó thêm một chút nữa.

Tôi đã nhận thấy rằng mỗi lần tôi chờ chương trình, chương trình cuối cùng vẫn tiếp tục mà không gặp vấn đề gì.

Vì vậy, tôi nghĩ rằng có thể có một cấu hình "hết thời gian" cho các chương trình được coi là không phản hồi và tôi muốn tăng thời gian chờ này.


Vấn đề tương tự ở đây. Tôi thường xuyên làm việc trên một thư mục mạng và tin nhắn của tôi xuất hiện trong hầu hết các trường hợp ngay trước khi tệp được lưu. Vì vậy, tôi chỉ cần nhấp vào chờ đợi. Tôi tìm kiếm một giải pháp với gnome-shell.
Willi

Tôi cũng đang đối mặt với cùng một vấn đề, tuy nhiên tôi đã tìm ra chính xác vấn đề nằm ở đâu. Muốn hợp tác để sửa lỗi này? tuxdna.in/blog/2014/07/15/ khăn
tuxdna 16/07/14

Yêu cầu tính năng Tôi đã nộp độc lập khi đọc này: gitlab.gnome.org/GNOME/mutter/issues/32
Nathaniel M. Beaver

Câu trả lời:


14

Nó không thể được cấu hình, bởi vì giá trị thời gian chờ được định nghĩa là giá trị không đổi trong nguồn lẩm bẩm. gnome-shell đề cập đến thư viện lẩm bẩm. Tôi tìm thấy giá trị thời gian chờ tại nguồn mutter, mutter-3.10.4 / src / core / display.c.

...
#define PING_TIMEOUT_DELAY 5000

Và nó được sử dụng bởi một hàm bên dưới có tên là meta_display_ping_window

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

Nó được gọi từ chức năng khi cửa sổ được kích hoạt:

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)

Như bạn có thể thấy ở trên, thời gian chờ là 5 giây.

Bạn có thể sửa đổi giá trị chỉ dành cho bạn vì mutter là dự án nguồn mở.

Và giá trị thời gian chờ được chuyển đến một trường hợp khác khi cửa sổ được đóng lại. Lưu lượng xóa cửa sổ là

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)

Tuy nhiên, tôi nghĩ rằng bạn cần sửa đổi nguồn cho cửa sổ bị trì hoãn của mình. Hoặc tôi nghĩ rằng bạn có thể thảo luận về nó với các nhà phát triển / bảo trì lẩm bẩm.

Bạn có thể chuẩn bị môi trường xây dựng và lấy nguồn bằng các lệnh sau.

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

Để xây dựng nó, hãy tham khảo

https://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.en.html https://wiki.debian.org/Bu dựngTutorial


-1

Tôi không biết nếu trả lời câu hỏi cũ này có ý nghĩa gì không, nhưng có lẽ đối với ai đó nó sẽ hữu ích.

Tôi đã cố gắng xây dựng thư viện lẩm bẩm từ nguồn, nhưng tôi đã từ bỏ, vì thư viện này phụ thuộc vào nhiều thư viện khác và những thư viện đó cũng phụ thuộc vào các thư viện khác.

Tôi cần một cách để đóng hộp thoại này một lần nếu nó xuất hiện, nhưng tôi không thể đóng nó trong ứng dụng rượu vang . Vì vậy, tôi đã viết một kịch bản nhỏ trong bash, nó sẽ giết cửa sổ này nếu nó xuất hiện.

#!/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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.