4

Я работаю на ПК с Windows. Если я открою терминал (с помощью putty или ssh) для машины linux (CentOS), я не смогу заставить работать такие клавиши, как Esc, Ctrl, Shift и Alt. Они нужны мне для Midnight Commander (в настоящее время Ctrl-Ins и Shift-Ins у меня не работают). Можно ли заставить эти ключи работать?

2 ответа2

4

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 чтобы повлиять на перевод определенных клавиш.

1

Хотя 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, с примерно такими же ограничениями.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .