После обновления кнопка X в заголовке больше не закрывает xterm

Теоретически нажатие кнопки закрытия Кнопка закрытия kwin должен закрыть xterm. Это произошло до того, как я aptitude upgrade . (Я запускаю тестирование Debian). Но теперь он не щелкает X, ничего не делает, но только для некоторых xterms.

В частности, если я запускаю xterm из приложения quicklaunch KDE или меню K, эти xterms можно закрыть. Если, однако, я запускаю его с помощью сочетания клавиш (khotkeys), то этот xterm не может быть закрыт.

  • Терминатор не работает!
  • SELINUX не установлен на Hyper-V Debian Jessie VM
  • Я редактировал файл Linux с программой Windows, используя подсистему Windows для Linux, и теперь я больше не могу обращаться к ней
  • Почему у колокольчика есть предел?
  • Поиск журналов на взломанном сервере.
  • Одно из нескольких перенаправлений с файлом-добавлением «python -version» повторяется «игнорируется» bash, но остальные не закрыты]
  • Кроме того, это рекурсивно: если я запускаю xterm из xterm, его можно закрыть, если его родитель.

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

    • Gvim
    • Xclock
    • xditview
    • дельфин
    • Konsole

    Пересечение другой программы там разрывает цепочку (например, запуск xterm из konsole):

    • xterm (uncloseable) → xterm (незамкнутый) → xterm (uncloseable) → …
    • xterm (uncloseable) → консоль (закрывается) → xterm (закрывается) → …

    Я проверил мои правила окна на kwin, у меня нет xterm.

  • Как избавиться от фиктивного интерфейса?
  • Разделение и установка Voyage Linux
  • очистить (1) после отсоединения экрана GNU
  • Неизвестные записи в файле журнала cali Linux wtmp
  • ../lib/libc.so.6: версия `GLIBC_2.12 'не найдена
  • Извлечение исходных RPM в debian
  • One Solution collect form web for “После обновления кнопка X в заголовке больше не закрывает xterm”

    Обновление: это nVidia

    Стивен Доуди ответил на отчет об ошибке Debian и предположил, что это ошибка nVidia. где он повреждает маски сигналов. В некоторых поисках найден Debian Bug # 728743 , и, действительно, переход на Nouveau / MESA (драйвер с открытым исходным кодом) устранил проблему.

    Обратите внимание, что переход на более старый драйвер nVidia этого не сделал, что, вероятно, означает, что его драйверы nVidia + несколько новых версий других материалов, которые я не удосужился отслеживать как комментатор ошибки, утверждают, что он исправлен в 331.38. (Сейчас я запускаю 331.49, и это действительно исправлено).

    Результаты поиска strace

    Я побежал на обоих версиях. После некоторой фильтрации (чтобы сделать diff лучше работать), я вижу кучу строк, таких как:

     WORKING rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 *vs* BROKEN rt_sigprocmask(SIG_BLOCK, NULL, [HUP], 8) = 0 

    Похоже, что сломанная версия заблокирована SIGHUP. Щелчок по X, кажется, отправляет SIGHUP, который игнорируется, поэтому оболочка не выходит. Вы можете сделать рабочий, разбитый на ловушку SIGHUP в оболочке, и не выйти (но не наоборот, так как кажется, что оболочка никогда не получает HUP).

    Я зарегистрировал ошибку Debian # 733816 об этом.

    В качестве обходного пути вы можете обернуть команды горячих клавиш, используя эту тривиальную программу на языке C:

     #include <signal.h> #include <stddef.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { sigset_t set; if (argc < 2) { fprintf(stderr, "ERROR: Expected at least a command to run\n" "\n" "USAGE: %s command [arguments]\n", argv[0]); exit(EXIT_FAILURE); } sigemptyset(&set); sigaddset(&set, SIGHUP); sigprocmask(SIG_UNBLOCK, &set, NULL); execvp(argv[1], argv+1); } 

    Используйте его, скомпилировав (например, ~/bin/unblock-hup ), затем вызовите ~/bin/unblock-hup xterm вместо xterm . Обратите внимание, что в модуле управления пользовательскими ярлыками вы должны поместить полный путь в свой домашний каталог; ~ не работает.

    Linux и Unix - лучшая ОС в мире.