Назад | Перейти на главную страницу

Текст ssh не синхронизирован, когда OS X> ubuntu> amazon linux через iterm2

Я часто сталкиваюсь с проблемой, когда текст на моем экране не синхронизируется с курсором.

Как вы видете Вот, и Вот, когда я нажимаю Backspace, он думает, что это (левый) конец строки, но если я Ctrl+C, он вернется к нормальному состоянию и будет рассматривать закрывающую скобку как конец строки. Это может произойти при вставке, при нажатии стрелки вверх для перехода к предыдущим командам, Ctrl+р, и т.д.

Вдобавок к этому иногда доходит до того, что команда, которую я набираю, похожа на целые 10 символов, скажем, если она нажимает стрелку вверх, чтобы просмотреть историю и попытаться отредактировать ее в строке. Текст, который он отображает на экране, отличается от того, где находится мой курсор или где я вставляю символы.

Я пробовал изменить некоторые кодировки символов, тип терминала отчетов и многое другое, но не смог это исправить.

Кто-нибудь знает, что я могу даже попытаться изменить?

Сначала я бы проверил настройки эмуляции вашего терминала. У меня под рукой нет Mac, но попробуй echo $TERM и посмотрите, что это такое. Обычно для ssh, Я использовал vt100 или xterm или иногда ansi. Возможно, вы захотите попробовать все вместе другое терминальное приложение, оно существует.

Вы можете установить это (для каждого сеанса bash / sh), используя export TERM=vt100 а затем попробуйте снова установить ssh-соединение.

Другая вещь, которая может вызвать проблему, - это просто очистить терминал. В Linux это можно сделать с помощью clear или CTRL + L (Mac, скорее всего, разные). Это очистит всю прокрутку, иногда исправляя проблему с курсором.

Другая команда (в Linux, опять же, может быть, эквивалент Mac), которая иногда исправляет это, - это reset команда. Это сбрасывает различные настройки на терминале, не знаю какие.

На старых устройствах Solaris 7 мне приходилось использовать управляющие символы для сброса терминала. Не уверен, что это работает на Mac, но вы можете попробовать: echo ^[c. Это достигается одновременным нажатием CTRL + V, затем отпусканием CTRL + V и однократным нажатием клавиши ESC (чтобы получить карат). а потом просто письмо C. Нажмите Enter, и терминал сбросится.

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

PS: "более легкий" CTRL + V ESC C здесь (echo -e '\033c'): https://unix.stackexchange.com/questions/79684/fix-terminal-after-displaying-a-binary-file