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

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

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

Кроме того, это рекурсивно: если я запускаю xterm из xterm, его можно закрыть, если его родитель.

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

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

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

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

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

  • Возобновление экрана с включенным символом ввода символов UTF8
  • Параметр terminfo u6
  • курсор xterm не инвертируется правильно с выделенным / обратным текстом
  • Как искать историю консоли XTerm?
  • Tmux не может различать вставку и вставку
  • Как сохранить конфигурацию Xterm, установленную во время выполнения?
  • Отсутствие пробела в выводе `ps` около EOL
  • Простой эмулятор терминала (с возможностью записи) с меткой-копией с «универсальным» $ TERM
  • 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 . Обратите внимание, что в модуле управления пользовательскими ярлыками вы должны поместить полный путь в свой домашний каталог; ~ не работает.

    Interesting Posts

    portsentry и IPTables при постоянной перезагрузке, но не уверен, почему

    Как задержать запуск программы при загрузке – Xubuntu

    Как загружать файлы с удаленного сервера Linux (Ubuntu)?

    RandR не распознает монитор

    Отключить клавиши действия

    Распечатайте сообщение с левой стороны трубы

    Есть ли более элегантный способ подсчета слов и присвоение этому числу переменных?

    Exim: электронная почта для root игнорирует / etc / aliases и /root/.forward – всегда используется для определения имени домена

    Письма с моего сервера напрямую отправляются на спам

    Блокирование или пересылка пакетов в качестве точки доступа

    Неожиданный процессор / ядро ​​подсчитывает процессор AMD

    Как «подписать» java-программу через chroot? (Fedora 23)

    Замена исполняемого двоичного файла в файловой системе только для чтения

    Выполнение нескольких команд в режиме разделения экрана

    Загрузите модуль из меню загрузки

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