Я работаю на ПК с Windows. Если я открою терминал (с помощью putty или ssh) для машины linux (CentOS), я не смогу заставить работать такие клавиши, как Esc, Ctrl, Shift и Alt. Они нужны мне для Midnight Commander (в настоящее время Ctrl-Ins и Shift-Ins у меня не работают). Можно ли заставить эти ключи работать?
2 ответа
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 чтобы повлиять на перевод определенных клавиш.
Хотя PuTTY устанавливает переменную TERM в значение xterm, его поведение фактически не соответствует поведению xterm. В этом вопросе упоминаются две особенности:
- Выход из системы в качестве префикса, возвращаемого специальными ключами, предоставляется xterm в качестве альтернативы мета- ключу (см. Обсуждение
eightBitInputв руководстве). - другие клавиши (Control, Shift и Alt) обычно используются как * модификаторы. То есть они обычно не отправляют символы сами по себе, а изменяют поведение нажатой клавиши одновременно.
Часто задаваемые вопросы по ncurses Как я могу использовать модификаторы shift или control? представляет некоторые фоны для измененных ключей. PuTTY не реализует ничего из этого. Это изменение управляющих последовательностями , посылаемых сдвинутая клавиша управления курсором, переключение между нормальным и режимами работы (см XTERM FAQ Почему я не могу использовать клавиши управления курсором в (любой) оболочках? для некоторого обсуждения этих терминов).
У ncurses есть точное описание терминала для конфигурации PuTTY по умолчанию (можно создать несколько описаний, соответствующих настройкам его диалогового окна клавиатуры, но на практике они редко упоминаются, возможно, редко используются). Системы с полной базой данных терминалов будут иметь описание терминала putty .
Как и другие эмуляторы терминала, которые устанавливают TERM на xterm, полное описание терминала имеет много отличий от xterm . FAQ по ncurses Почему бы просто не использовать TERM со значением "xterm"? дает обзор этого аспекта.
Упоминание о ssh намекает на то, что вы можете использовать mintty с Cygwin. Это потомок PuTTY, с примерно такими же ограничениями.
