Я работаю на ПК с 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