Почему такие клавиши, как Esc, Ctrl, Shift и Alt, не работают в сеансе SSH на моем ПК с Windows?

Почему такие клавиши, как Esc, Ctrl, Shift и Alt, не работают в сеансе SSH на моем ПК с Windows?

Я работаю на ПК с Windows. Если я открываю терминал (с помощью PuTTY или SSH) на машине Linux (CentOS), я не могу заставить работать такие ключи , как Esc, и .CtrlShiftAlt

Они мне нужны для Midnight Commander (в настоящее время Ctrl+Insи Shift+Insне работают у меня). Возможно ли заставить эти ключи работать?

решение1

Puttyэмулирует терминал, подключенный к Unixмашине через последовательное ( RS232c) соединение. Смотретьздесьдля параметров конфигурации. Типичные типы терминалов включают vt100, vt200, xterm, ansi.

Для корректной работы Unixпеременная окружения TERMдолжна соответствовать типу эмулируемого терминала (см. Puttyконфигурацию Connection/Data/Terminal-type). Я использую xterm, также для текстовых консольных окон.

Используйте echo $TERMкоманду для поиска текущего значения.

Escявляется первым символом последовательностей управления терминалом. Поэтому его обычно не следует использовать как отдельный символ. Ctrl, Shiftи Altсами по себе не запускают отправку какого-либо символа на ваш Unixкомпьютер. Вы можете использовать Puttyменю конфигурации Terminal/Keyboard, чтобы влиять на то, как будут транслироваться определенные клавиши.

решение2

Хотя PuTTY устанавливает TERMпеременную вxterm, его поведение на самом деле не соответствует поведению xterm. В вопросе упоминаются две особенности:

  • Escapeкакпрефиксвозвращаемый специальными ключами предоставляетсяxtermкак альтернативаметаключ (см. обсуждениеeightBitInputв руководстве).
  • другие клавиши ( Control, Shiftи Alt) обычно используются как *модификаторы. То есть они обычно не отправляют символы сами по себе, а изменяют поведение клавиши, нажатой в то же время.

Часто задаваемые вопросы по ncursesКак использовать модификаторы shift или control?представляет часть фона для измененных ключей. PuTTY не реализуетлюбойэтого. Этоделаетизменить управляющие последовательности, отправленные с помощью клавиши смещенного курсора, переключаясь междунормальныйиприложениережимы (см. часто задаваемые вопросы по xtermПочему я не могу использовать клавиши управления курсором в (какой бы то ни было) оболочке?для некоторого обсуждения этих терминов).

ncurses имеет точное описание терминала для конфигурации по умолчаниюШпатлевка(можно создать несколько описаний, соответствующих настройкам диалога клавиатуры, но на практике они редко упоминаются и, вероятно, редко используются). Системы с полной базой данных терминалов будут иметь этоputtyописание терминала.

Как и другие эмуляторы терминала, которые настроены TERMнаxterm, полное описание терминала имеет много отличий от xterm. FAQ по ncursesПочему бы просто не использовать TERM, установленный на «xterm»?дает обзор этого аспекта.

Упоминание осшнамеки, что вы можете использовать minttyс Cygwin. Это потомокPuTTY, примерно с теми же ограничениями.

решение3

Ответты не можешь, так как это ошибка в PuTTY.

ЕстьКиттикоторый является ответвлением PuTTY и в котором реализована надлежащая поддержка Ctrl/ Shift, вы можете захотеть взглянуть на него.

Источник:https://superuser.com/a/1226621/360137

И еще одно замечание: по умолчанию в KiTTY установлена Ctrl+Up/Down​​горячая клавиша управления прозрачностью, поэтому вы можете полностью отключить прозрачность, установив Window->Transparencyее -1в качестве значения по умолчанию для сеансов.

решение4

Я, как автор putty4far2l putty fork, предлагаю вам попробовать «far2l+putty4far2l» для аналогичного пользовательскому опыту «mc + putty», но с полной поддержкой клавиатуры. Это доступно через так называемые «far2l terminal extensions». Если вы запустите mc внутри far2l внутри putty4far2l, полная поддержка клавиатуры станет доступна и в mc.

PS: ppa для far2l естьздесь, двоичный файл putty4far2l доступен непосредственно на github

Связанный контент