
Я столкнулся с очень странной проблемой при подключении к моему Raspberry Pi (на котором работает Raspbian) с помощью PuTTY для Windows — позиция «курсора» ANSI обновляется неправильно.
Это проявляется несколькими способами, которые я обнаружил до сих пор. Самая очевидная (и раздражающая) проблема заключается в том, что когда я нажимаю backspace, он перемещает курсорвпередвместо обратного. Например, здесь я попытался ввести bash --version
, но случайно пропустил s
и мне пришлось один раз нажать backspace, чтобы исправить это:
pi@raspberrypi:~$ bash --veri sion
GNU bash, version 5.0.3(1)-release (arm-unknown-linux-gnueabihf)
…
Вы можете видеть, что неверный код i
все еще присутствует, за ним следует пробел, где я нажал backspace, а затем остальная часть команды. Команда все ещевыполняетправильно, что означает, что нажатия клавиш интерпретируются правильно; они просто неотображаетсяправильно.
Другой случай, который я видел, заключается в том, что при изменении размера окна PuTTY приглашение снова отображается, начиная с одной строки ниже позиции курсора, а не поверх существующего. Например, если я дважды изменю размер окна, я увижу следующее, не нажимая никаких клавиш вообще:
pi@raspberrypi:~$
pi@raspberrypi:~$
pi@raspberrypi:~$
Кто-нибудь сталкивался с чем-то подобным или знает, что происходит? Мне не удалось найти решение в сети, и ничего в настройках PuTTY не бросается мне в глаза как возможное решение.
решение1
Я не нашел реального объяснения проблемы, но нашел обходной путь. Поведение возникает только когда TERM
установлено на xterm-color256
; изменение на xterm-color
устраняет проблему.
Чтобы изменить это навсегда, запустите PuTTY и загрузите сохраненный сеанс, который вы хотите изменить. В меню слева выберите Connection > Data. Там вы увидите "Terminal-type string". Измените это на просто xterm-color
, затем вернитесь в Session и повторно сохраните настройки.