之前一直用的是gnome-terminal,为什么呢?因为rxvt的中文设置一直都没有配好,当设置字体为正黑等中文字体的时候,英文的宽度和中文是一样的。当然网上也找到了用font-face的解决办法,但是还是无法生效,很是郁闷。于是,只好用起gnome-terminal,虽然满点(其实差不了多少@@),但是至少这字体看着爽哪……
话说突然有一天,天上掉下一个林妹妹,哦不对,是我突然发神经又看了一下之前配置的.Xdefaults,突然觉着这字体配置有点怪,定睛一看,居然在字体前面多了一个冒号…… 我大汉,忙删之,然后xrdb ~/.Xdefaults,接着起rxvt,嘿,没事了就,我崩溃哪~ 囧rz
用上rxvt以后,腰也不疼了,脖子也不酸了,可是有一个问题,在ssh到FreeBSD的时候,一上来就给我报了错:
csh: Cannot open /etc/termcap.
csh: using dumb terminal settings.
啥玩儿这是?之前用gnome-terminal的时候没这问题啊 @@ 本想忽略的,结果麻烦的是连用less都要问我这个term可能不支持某些功能,是否要继续的傻问题,真是崩溃。
还好有万能的骨骼,ong了一把发现其实是环境变量TERM的问题。在gnome-terminal里面这个值是xterm,而在rxvt中是rxvt-256color(我装的是ArchLinux的的256色rxvt,一般应该是rxvt吧)。作为一个通用term,FreeBSD中的termcap是有xterm的支持的,但是很不幸的是rxvt是没有的。
知道了原因,解决就简单了。方法很多:
- 改名换姓法一:把需要ssh的rxvt的环境变量
TERM改成xterm。什么?怎么改?export TERM=xterm喽~ - 改名换姓法二:在
.Xdefaults中把rxvt的termName设置成xterm,或者在启动rxvt时加上-tn的参数。 - 强行插入法:把本机的xterm的termcap文件复制到target机器上的
~/.termcap去,然后修改该文件,把有xterm的地方加上rxvt的term名称,比如我的就是rxvt-256color,一般应该是rxvt。
不管使用S还是M的办法,都能解决问题,碰到同样问题的童鞋们各取所需吧。

