Как увеличить время ожидания не отвечающих программ?

Я установил Ubuntu GNOME и обнаружил, что программа PROGRAM не отвечает на сообщения.

Мне нужно либо «Принудительно выйти» из программы, либо «Ждать» ее немного больше.

Я заметил, что каждый раз, когда я жду программу, программа в конечном итоге продолжается без проблем.

Итак, я думаю, что может быть конфигурация «тайм-аут» для программ, которые будут считаться неотвечающими, и я хочу увеличить этот тайм-аут.

24
задан 4 March 2014 в 06:39

2 ответа

Он не может быть настроен, потому что значение timeout определяется как постоянное значение в источнике бормочущего. gnome-shell ссылается на библиотеку муттеров Я нашел значение тайм-аута у источника бормочущего, mutter-3.10.4 / src / core / display.c.

...
#define PING_TIMEOUT_DELAY 5000

И она используется функцией ниже, названной meta_display_ping_window

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

Она вызывается из функции, когда окно активировано:

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)

Как вы можете видеть на выше время ожидания составляет 5 секунд.

Вы можете изменить значение только для вас, потому что mutter - это проект с открытым исходным кодом.

И значением таймаута называют другой случай, когда окно закрыто. Процесс удаления окна выглядит как

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)

Однако, я думаю, вам нужно изменить источник для вашего окна с задержкой. Или я думаю, что вы можете обсудить это с разработчиками / сопровождающими.

Вы можете подготовить среду сборки и получить исходный код с помощью следующих команд.

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

Чтобы построить его, см.

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

0
ответ дан 4 March 2014 в 06:39

Я не знаю, имеет ли смысл отвечать на этот старый вопрос, но, возможно, кому-то это будет полезно.

Я пытался собрать библиотеку мутантов из источника, но я сдался, потому что эта библиотека зависит от многих других библиотек, и эти библиотеки также зависят от других библиотек.

Мне нужен был способ закрыть это диалоговое окно, если оно появилось, но я не смог закрыть его в приложении wine . Поэтому я написал небольшой скрипт на bash, который убьет это окно, если оно появится.

#!/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
0
ответ дан 4 March 2014 в 06:39

Другие вопросы по тегам:

Похожие вопросы: