Я использую iTerm с ohmyzsh. Когда я выхожу из ssh-соединения, экран моего терминала всегда очищается, и меня это очень раздражает. Я испытываю такое поведение только после того, как установил ohmyzsh на подключенную машину, прежде чем использовать на этой машине обычный bash. Я не уверен, исходит ли это от iTerm, zsh или ohmyzsh.
Кто-нибудь знает, как я могу запретить моему терминалу очищать экран при выходе из сеанса ssh?
Я пытался гуглить, но не знаю, в чем причина проблемы.
Если вы выполните tput rmcup
после выхода ssh
, вернётся ли вам предыдущее содержимое экрана?
@chepner: Нет, поведение все то же. Если я прокрутлю вверх, я увижу свои предыдущие команды другого сеанса. Но мне не нравится, что экран очищается и курсор подпрыгивает на первой строке моего терминала. Вместо этого я хотел бы выйти из сеанса и чтобы мой курсор просто перешел на следующую строку, отображая мои предыдущие команды и результаты, которые я сделал.
То же самое происходит и с терминалом macOS. Терминал использует bash, а iTerm использует zsh. Я думаю, что эту проблему вызывает сеанс, к которому я подключаюсь (также использую oh-my-zsh). Когда я подключаюсь к сеансу с оболочкой bash, он ведет себя нормально, как и раньше.
Решение, опубликованное здесь, помогло: https://unix.stackexchange.com/questions/70955/preventing-the-screen-from-being-cleared-when-exiting-an-ssh-session
/etc/zlogout
вызвал очистку экрана при выходе из сеанса ssh в оболочку zsh.
Я исправил это, создав файл ~/.zlogout
и добавив:
alias clear = ""
Или:
echo 'alias clear = ""' > ~/.zlogout
Похоже, что-то включает/отключает альтернативный экран до/после (соответственно) выполнения
ssh
, хотя я не понимаю, гдеohmyzsh
может это сделать.