Ctrl + C не работает в Guake Terminal

2232
eneepo

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

1

1 ответ на вопрос

3
Christian Woerz

Проблема в том, что 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) и привыкнуть к этому; или попробуйте приспособиться к среднему щелчку - это действительно удобно. И да, патчи, как всегда, приветствуются - так что вы можете попытаться исправить все самостоятельно (хотя это не ошибка, это конфликт: ничего не исправить, скорее, чтобы найти не очень вредный обходной путь).

Источник

Хорошо, но в моем случае Ctrl + C ничего не копирует и не привязывает ни к чему. eneepo 11 лет назад 1
Я бы порекомендовал вам попробовать переназначить команду sigkill (ctrl + c в терминале) на другой ярлык, а затем повторить попытку. Christian Woerz 11 лет назад 0
Я попытался изменить его с помощью `stty intr \ ^ k`, он не только не работал, но и понял, что ни один из моих ярлыков не работает! eneepo 11 лет назад 0
ты пытался переустановить guake? Rudolph 11 лет назад 0
Да, но это не сработало eneepo 11 лет назад 0
Работают ли какие-либо ярлыки вне терминала? Christian Woerz 11 лет назад 0
Да, они делают. Все мои ярлыки на гноме и терминале гнома работают отлично. eneepo 11 лет назад 0
Для Linux, а не для Windows, CTRL + SHIFT + C и CTRL + SHIFT + V предназначены для копирования и вставки соответственно, поскольку CTRL + C всегда уничтожает команду выполнения в терминале, насколько я когда-либо видел, поскольку это важно. Похоже, что пользователь пытается убить работающий код, а не скопировать и вставить. Похоже, что тот факт, что CTRL + SHIFT + C не работает, является следствием проблемы. mchid 8 лет назад 0

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