Почему Putty вставляет ~ в мою оболочку bash Fedora

Недавно во время работы в Putty вошел в систему Fedora, я начал получать случайные символы ~ на моей оболочке. Кроме того, пока я редактирую VIM, у меня будут случайные изменения символов в верхнем регистре. Это происходит только тогда, когда я регистрирую int с использованием Putty. Я никогда раньше этого не делал, поэтому мне интересно, если обновление Fedora включило какую-то функцию сохранения в SSH, которая вызывает это. Я заново установил шпатлевку и испортил свои предпочтения, чтобы быть уверенным. Я не знаю, с чего начать копать, чтобы найти виновника. Любые указатели?

2 Solutions collect form web for “Почему Putty вставляет ~ в мою оболочку bash Fedora”

Похоже, вы вводите функциональный ключ, который отправляет escape-последовательность, которая не распознается на удаленной стороне. Многие функциональные клавиши генерируют escape-последовательности, которые заканчиваются символом ~ , например \e[3~ для ключа Del (где \e – символ escape). См. Как работают ввод с клавиатуры и вывод текста? (часть о вводе в разделе о приложениях текстового режима, работающих в терминале) для получения дополнительной информации о функциональных клавишах в терминалах.

Если ваша оболочка и vim на удаленной стороне не распознают эту escape-последовательность, они съедят \e[ (префикс распознанной последовательности), подают звуковой сигнал на 3 и обрабатывают ~ как обычный символ.

В командной строке оболочки или в режиме вставки Vim нажмите Ctrl + V, затем соответствующую функциональную клавишу, чтобы увидеть, что она вставляет. Затем вы можете создать привязку для него: для bash с привязкой, встроенной в ~/.bashrc ( пример ) или в ~/.inputrc ( пример ); в vim, с map! , например

 map! <ESC>[3~ <Delete> 

(Обратите внимание, что этот пример предварительно сконфигурирован, вам нужно выяснить, какой ключ не распознается в вашей системе, и соответственно отрегулировать escape-последовательность и имя ключа.)

Это не окончательный ответ, просто предложение.

У меня была такая же проблема (не Putty, а ssh от linux), и обнаружил, что у ssh_config есть опция

 EscapeChar ~ 

который я изменил на

 EscapeChar none 

Если у Putty есть аналогичный вариант конфигурации, попробуйте отрегулировать его.

  • Как я могу сделать PuTTY совместимым с Solaris?
  • Храните приложение x11 GUI, перенаправленное через ssh после потери соединения
  • Linux и Unix - лучшая ОС в мире.