6

Я использую KDE для тестирования Debian.

Время от времени программы, запущенные в терминале (Konsole), запускают системные уведомления в форме "Звонок в сессионной оболочке".

Что вызывает эти уведомления?

Примечание: я не спрашиваю, как их отключить - я знаю, что есть возможность сделать это в Konsole -> Настройки -> Настроить уведомления. Я спрашиваю, какое поведение вызывает их в первую очередь, с целью возможного изменения некоторых программ, которые запускают их, чтобы не запускать их, или запускать их в других условиях.

1 ответ1

5

Я полагаю, что именно так эмулятор терминала konsole интерпретирует звонки.

Попробуй запустить в bash

sleep 3 && echo -e "\a"

Затем переключитесь на другое приложение и подождите 3 секунды.

Много-много лет назад, когда реальные терминалы были подключены к большим компьютерам, для отправки команд на такие терминалы существовал специальный протокол, называемый «escape-последовательностями». Существуют последовательности для изменения цвета, перехода к новой строке или звонка. Первые терминалы были оборудованы настоящими звонками, чтобы уведомить оператора о том, что какое-то длительное задание окончено.

Любой современный эмулятор терминала (konsole, xterm или реальная консоль, когда вы находитесь в текстовом режиме) просто эмулирует такой терминал и, следовательно, понимает такие последовательности.

TERM ДЕЙСТВИЯ переменная сообщает имя эмулируемого терминала. Некоторые библиотеки, такие как ncurses затем используют файл termcap (или terminfo), чтобы найти, какая последовательность используется для чего на этом терминале.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .