Клиенты ConEmu и консоли SSH, которые выдают необработанный вывод (обработанные экранирования ANSI не обрабатываются)

1029
Lyubomyr Shaydariv

Я ежедневно пользуюсь PuTTY, а также интенсивно использую ConEmu (последний в основном для Far Manager). Неделю назад я перестал использовать MTPuTTY для того, чтобы поместить PuTTY непосредственно в ConEmu (поскольку MTPuTTY слишком агрессивно захватывает фокус, заставляя меня нажимать Alt+ Tabпо крайней мере два раза, чтобы переключиться на другое приложение; потрясающая поддержка консоли в стиле Quake в ConEmu и многое другое и т. Д.). Однако PuTTY является приложением с графическим интерфейсом, и его конфигурация не соответствует конфигурации ConEmu + PuTTY не позволяет использовать некоторые горячие клавиши, которые я ожидал использовать в ConEmu.

Причина, по которой PuTTY является приложением с графическим интерфейсом, довольно очевидна: будучи реализованной как приложение с графическим интерфейсом, она может преодолеть ограничения консольной подсистемы Windows. Но ConEmu преодолевает и эти ограничения, поэтому я начал искать SSH-клиента, который мог бы работать в консольной подсистеме Windows, чтобы ConEmu мог перехватывать и улучшать его. Такие решения, как Win32-OpenSSH, на самом деле не работают, потому что они уже обрабатывают escape-коды ANSI и пытаются согласовать коды с ограничениями консоли Windows (если я не ошибаюсь AnsiColors256.ans, из дистрибутива ConEmu просто ничего не рендерится при использовании Win32-OpenSSH ).

Я также пытался использовать plink.exe, и он не обрабатывает escape-коды ANSI, так что ConEmu может обрабатывать escape-коды ANSI сама. Похоже, это то, что я ищу ... Но есть и много ограничений: курсор и функциональные клавиши просто игнорируются, mcотрисовываются очень грязно (без символов кадра, он не может определить размер окна и т. Д.). В любом случае, мои пользовательские горячие клавиши больше не блокируются, и конфигурация ConEmu теперь отлично работает на вкладках на основе реальной консоли!

Можно ли как-то использовать ConEmu plink.exe(или, возможно, что-то еще), чтобы я мог прекратить использовать PuTTY? Или я просто смешиваю концепции и пытаюсь объединить эти приложения неправильно?

2

1 ответ на вопрос

1
Maximus
  1. Установите cygwin или msys2 или git-for-windows. В Windows 10 вы также можете использовать Bash в Ubuntu в Windows.
  2. Установите последнюю альфа-версию ConEmu.
  3. ConEmu создаст новые задачи по умолчанию для новых оболочек bash, используя соединитель.

Просто запустите их и запустите ssh.


Раньше я делал вилку, где некоторые проблемы были исправлены (клавиши со стрелками и т. Д.), Но она все еще не идеальна для ежедневного использования.

У Win32-OpenSSH тоже много проблем.

Вот почему предпочтительным решением является реализация ssh-клиента в виде соединителя и cygwin или msys2 . Git-for-Windows на базе msys2 тоже в порядке.

Спасибо, что сделали потрясающую работу с ConEmu! Я пытался следовать вашим инструкциям, но ни один из них мне не помог. Зачем? Понятия не имею, что я делаю не так. Честно говоря, я нахожу это слишком тяжелым: я хотел бы отказаться от PuTTY и определенно не хотел бы получать более тяжелые решения, такие как медленный Cygwin или его альтернативы. В любом случае, у вас отличная вилка. и я действительно думаю, что это то, что пропускают все пользователи Windows SSH. Было бы также неплохо, если бы PuTTY мог работать с консолями Windows и не обрабатывать специальный вывод ANSI (возможно в принципе?). Windows до сих пор вечно страдает. Lyubomyr Shaydariv 6 лет назад 0

Похожие вопросы