如何阻止ohmyzsh在退出SSH连接时清除终端屏幕?
解决SSH退出时终端清屏的问题
问题根源在远程机器的ohmyzsh/zsh配置里——因为之前用bash时无此问题,安装ohmyzsh后才出现,所以从远程端配置入手处理:
修改远程用户的
~/.zlogout文件:
这个文件是zsh退出时会执行的脚本,如果里面存在clear或tput clear这类清屏命令,直接删掉或者用#注释掉。如果没有该文件,无需创建,保持空状态即可。检查ohmyzsh主题配置:
部分ohmyzsh主题会在退出时加入清屏逻辑,打开当前主题的配置文件(路径一般是~/.oh-my-zsh/themes/你的主题名.zsh-theme),查找是否有clear相关语句,注释掉即可。排查插件影响:
若上述方法无效,可临时禁用所有ohmyzsh插件(把~/.zshrc里的plugins=(...)改成plugins=()),重启zsh后测试退出SSH是否还会清屏,逐步排查是哪个插件导致的问题。临时应急技巧:
不想修改配置的话,退出SSH时可以连续按两次Ctrl+D,部分场景下能跳过zlogout的清屏指令;或者先执行unset ZDOTDIR再输入exit退出。
内容的提问来源于stack exchange,提问作者Coding Monkey
相关产品推荐
相关产品推荐

