背景
- 很多人使用secureCRT作为客户端通过ssh协议远程连接服务器,大家经常会遇到乱码的问题,这个问题原因大多是因为客户端编码格式与服务器不一致的原因所导致。但是今天我所分享的另外一个显示上的问题,之前没有遇到过,或者说遇到了因为不影响使用而忽略了。
现象
- 问题的现象是这样的,secureCRT链接到了服务器之后,正常命令的输入都没什么问题,但是当我用vim打开一个文件的时候,这个文件内容一个屏幕显示不了,需要翻页查看。当我翻页的时候发现屏幕内容开混乱。比如:vim 界面的右下角,一般来说是页面内容的百分比,当我往下翻页的时候这个百分比会出现在我屏幕的每一行。当我对页面中某一行进行改动的时候我所改变的内容也不能正常给我反馈,看到的结果往往不是我改动的结果。
原因分析
- 在我做了多次配置修改之后,对这个问题的原因终于有了大概的结论。secureCRT设置中存在Terminal(终端)->Emulation(模拟)在模拟终端有一个类型设置,这个选项是什么意思呢?由于secureCRT我这边不方便截屏,我改成我mac终端的配置,其实所有的ssh客户端配置都是类似的

- linux或者mac系统这些类*unx系统的控制台大家都经常使用,这些控制台都会运行在一种终端中,或者也可以称为模拟终端。系统所支持的终端可以通过/usr/share/terminfo查看到,terminfo中还有很多以数字命名的子目录,真正的终端类型是在这些子目录中。如:
* 如果想查看我们现在控制台使用的终端类型,使用echo $TERM 来查看采用的终端类型。 - 那么说了这么多,回到我们的主题,我们使用secureCRT或者其他客户端也好,链接服务器的时候终端类型要保持和服务端的终端类型保持一致。如果不一致就会产生刚才我遇到的问题。回想之前我在链接服务器之后由于默认是白色的主题,当时我为了修改成我喜欢的黑屏彩色的终端显示。我在secureCRT设置终端类型是linux ANSI从而导致内容不同步的问题。
- 接下来我查看了服务器默认的终端类型是VT100,于是我修改了secureCRT对应的配置,或者直接选择默认。于是问题解决vim编辑文件效果完美
- 另外如果想改变系统的终端类型也可以是用export TERM=${终端类型} ,终端类型就是/usr/share/terminfo中支持的就可以了。
834

被折叠的 条评论
为什么被折叠?



