Я часто сталкиваюсь с проблемой, когда текст на моем экране не синхронизируется с курсором.
Как вы видете Вот, и Вот, когда я нажимаю 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