Как получить ключи F1-F12 для переключения экранов на экране gnu в cygwin при подключении через SSH?

Я подключаюсь к настольному компьютеру под управлением cygwin через SSH из приложения терминала в Mac OS X. Я уже начал работу с сайтом cygwin и могу подключиться к нему через сеанс SSH. Кроме того, в файле .screenrc есть следующее:

bindkey -k k1 select 1 # F1 = screen 1 bindkey -k k2 select 2 # F2 = screen 2 bindkey -k k3 select 3 # F3 = screen 3 bindkey -k k4 select 4 # F4 = screen 4 bindkey -k k5 select 5 # F5 = screen 5 bindkey -k k6 select 6 # F6 = screen 6 bindkey -k k7 select 7 # F7 = screen 7 bindkey -k k8 select 8 # F8 = screen 8 bindkey -k k9 select 9 # F9 = screen 9 bindkey -k F1 prev # F11 = prev bindkey -k F2 next # F12 = next 

Однако, когда я запускаю несколько окон на экране и пытаюсь переключаться между ними с помощью функциональных клавиш, все, что я получаю, это звуковой сигнал.

Я пробовал различные настройки для $ TERM (например, ansi, cygwin, xterm-color, vt100), и они действительно не влияют ни на что.

Я подтвердил, что приложение терминала фактически отправляет escape-последовательность для функционального ключа, который я ожидаю, и что моя оболочка bash (работает внутри экрана) получает его. Например, для F1 он отправляет следующее (hexdump – это Perl-скрипт, который я написал, который принимает STDIN в binmode и выводит его как шестнадцатеричный / ascii-дамп):

 % hexdump [press F1 and then hit ^D to terminate input] 00000000: 1b4f50 .OP 

Если все работает правильно, я не думаю, что bash должен получить escape-последовательность, потому что экран должен был поймать его и превратить в команду.

Как заставить функциональные клавиши работать?

  • Как передавать файлы при предоставлении двух учетных записей SSH?
  • SSH туннель через HTTP (S) -прокси (обратный RDP)
  • Могу ли я создать файл конфигурации для сценария оболочки?
  • Доступен ли мой NAS из Интернета?
  • Ssh попытки атаки на OS X 10.10 - должен ли я беспокоиться / отвечать?
  • Агент SSH теряет идентификатор во время перезагрузки машины
  • Построение OpenSSH для OS X?
  • Установить текущий рабочий каталог на ssh
  • 2 Solutions collect form web for “Как получить ключи F1-F12 для переключения экранов на экране gnu в cygwin при подключении через SSH?”

    С большим количеством экспериментов я смог заставить его работать, добавив следующие строки в мой .screenrc:

     terminfo * k1=\EOP terminfo * k2=\EOQ terminfo * k3=\EOR terminfo * k4=\EOS terminfo * k5=\E[15~ terminfo * k6=\E[17~ terminfo * k7=\E[18~ terminfo * k8=\E[19~ terminfo * k9=\E[20~ terminfo * F1=\E[23~ terminfo * F2=\E[24~ 

    Вероятно, мой ответ будет дополнять предыдущий. Вы можете найти измененную базу данных terminfo, которая позволит вам использовать клавиши Fx, а также комбинации Alt + Fx, Ctrl + Fx, Shift + Fx, Alt + Shift + Fx. Инструкции по его использованию здесь . Конечно, приложение терминала должно их поддерживать. Эти коды клавиш из XFree 4 варианта консоли (поддерживается в консоли).

    Interesting Posts

    Включить расширения Chrome для всех пользователей

    Разрешения NTFS – создание файлов и папок, но предотвращение удаления и модификации

    Почему некоторые сообщения электронной почты, отправленные в Outlook 2010, застревают в папке «Исходящие» с датой, установленной «Нет»?

    Программа, которая выводит экран каждые 15 минут и сохраняет его в файл

    Чем больше UUENCODE делает двоичные файлы?

    Есть ли способ запустить File Explorer в качестве администратора под Windows 10

    Проверьте, успешно ли загружена загрузка FTP или нет?

    IPhoto metada для EXIF

    Обоснование текста в Word 2007

    Масштаб (или центр) водяного знака с ffmpeg до того же разрешения, что и выходной файл

    Пусть Firefox автоматически примет диалог «требуется проверка подлинности»

    Какой шрифт используется в этом изображении?

    Восстановить EFS зашифрованные данные из загрузочного диска Vista x64

    Каково значение (если есть) каналов wifi 12-14?

    Как восстановить начальное меню после убийства explorer.exe?

    Давайте будем гением компьютера.