1

Ctrl+C не прерывает запущенную команду, ctrl+shift+c также не работает. Но в Gnome Terminal все в порядке.

1 ответ1

3

Проблема в том, что Ctrl+C также является ярлыком для копирования чего-либо. Таким образом, вы должны привязать ярлык SIGKILL к чему-то другому, чтобы ярлык работал в терминале. Например, с AutoKey

Три года назад на guake.org был билет, ответ на который хорошо объясняет:

Ctrl+C - историческая комбинация клавиш для уничтожения процесса переднего плана в терминалах Unix. Под капотом он отправляет сигнал SIGINT на передний план процесса, и эффект по умолчанию - завершение процесса. Однако любое приложение может перехватить и заблокировать этот сигнал, игнорируя запрос на завершение. Существует несколько десятков других сигналов со своими конкретными функциями, например, SIGSTOP, останавливающий процесс (с возможностью возобновления позже), SIGTERM, безоговорочно завершающий процесс, и т.д.

Но, Ctrl+C - также широко известный ярлык для операции "копирования", повсеместно используемый в приложениях MS Windows. Современные среды рабочего стола Linux эмулируют поведение, чтобы вызвать меньше путаницы у перенесенных пользователей, но собственная система выбора в X windows использует среднюю кнопку мыши для "копирования", а не горячие клавиши. Просто выберите исходный текст и нажмите третью кнопку в области назначения. Выбранный текст будет вставлен.

Боюсь, что Guake использует компонент VTE, поставляемый с GNOME (который отвечает за обработку ^ C, а терминал убивает), и мы не можем помочь в конфликте. Привязать "копирование" Ctrl+C к чему-то другому (у меня это связано с Ctrl+Shift+C) и привыкнуть к этому; или попробуйте приспособиться к среднему щелчку - это действительно удобно. И да, патчи, как всегда, приветствуются - так что вы можете попытаться исправить все самостоятельно (хотя это не ошибка, это конфликт: ничего не исправить, скорее, чтобы найти не очень вредный обходной путь).

Источник

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