Blog

From Rxvt-unicode to lxterminal

前天,我看查到了过去看别人的截图里,很好看的状态条,是一个名叫 Powerline 的软件。去了它的官网上看看,它可以给 zsh、tmux、vim 等软件加上很漂亮的状态条,所以我就想装上它。

Funtoo 的 Portage 里只有一个 PowerlineSymbols 的包,是 Powerline 的左右三角箭头的字体。我于是就按照 Powerline 的文档,通过 pip 安装。装好之后,把相关的配置添加进 .zshrc 中,倒是可以用,但左右三角的字体无法正常显示,显示的是小竖方框,看来是相关的字体没有配置正确啊。这一步一直困扰了我两天,从前天晚上到了昨天晚上,我试了很多办法,调了好几次的字体配置,还有按照网上其它文档,下载了 Powerline-fonts 后安装,也是没有想效果。最后,我想也许是用 pip 安装的问题,就学习了 layman 的使用方法,添加了 raiagent 这个 overlay,通过 emerge 安装了 Powerline-status 和 Powerline-fonts,最终还是无效。

后来我实在是没有办法了,就去 #archlinux-cn 上去问,Farseefc 回应了我。他问我用什么终端,我说是 urxvt,他说 urxvt 不支持 Fontconfig fallback,算是指出了问题的关键。我于是试着在命令行指定 urxvt 用的字体,手动指定使用 PowerlineSymbols 字体,结果得到

urxvt: unable to calculate font width for ‘PowerlineSymbols:minspace=True’, ignoring.

的提示。我去 Google 了一下,找到了这个网页,里面也提到了 rxvt-unicode。据回答说,rxvt-unicode 不支持 fontconfig,所以 PowerlineSymbols 根本无法生效。他建议换一个终端仿真器,在字体支持方面,rxvt-unicode 几乎是最差的了。我于是试着安装了 lxterminal,进去之后不需要任何修改,直接就很正常的工作了。

这两年用 Linux,我改变了很多过去心里形成的观点。比如我从 FVWM 换到了 i3 又换到 Awesome,比如我从 ROX-Filer 换到了 PCManFM 等。每次遇到这样的转换,我总会觉得有点难过,就像是抛弃了过去的战友,另结新欢一样。这次转换,也同样有这样的感受。开始时我觉得 lxterminal 不好看,不符合我一贯的用法。后来我添加了 gtk3 重新 emerge 后,界面就漂亮了很多。然后我看到首选项里有禁用粗体,选中了它后,终端里的文字也更好看了,因为文件夹用粗体显示,实在是显得太过笨重。我还看到了隐藏菜单栏选项,选中它后,从外观上来看,它和 rxvt-unicode 几乎一模一样了。这样,我还有什么不换的理由吗?

至于 rxvt-unicode,我几乎是刚接触 Linux 就听说过它了。那时候,我就知道了有两大终端仿真器,一是 xterm,一是 rxvt。它们各自有支持多语言的分支,比如 cxterm 和 rxvt-unicode,多数是早期一些台湾用户的作品,用来上 BBS。我选择了 rxvt-unicode,因为觉得它既好看,又够用,所以一直用到现在。结果到了今天凌晨的时候,算是彻底的放弃了它。ACGTyrant 可以把 rxvt-unicode 配置成支持 Powerline 字符,但是我还是做不到呀。而且他也对 rxvt-unicode 的字体渲染不满。

既然要换终端,那我想干脆不要局限于 lxterminal,多试试几种好了。我上了 ArchWiki 的推荐应用页面,里面介绍了几种不同的终端,我选了名字比较合胃口的装上了试一试。gnome-terminal 和 terminology 都有比较重的依赖,需要在 /usr/portage/package.use 里添加不少东西,太过麻烦就算了。过去听过 Terminator 的大名,不过安装上后感觉也挺一般的。我看依云用了 xfce4-terminal,也装上了试一试,和 lxterminal 大同小异,还多了一个 xfce4-about,让我有点不爽。我还试了一下 lilyterm,很轻便,在我这里不用多安装任何依赖的包,安装上功能也不少,不需要什么配置就能实现透明效果。唯一的不足是我先安装了 lxterminal,有了点先入为主的印象。不过其它的我都 unmerge 了,唯独留下了 lxterminal 和 lilyterm,等过段日子后在决定吧。之前我觉得它们的名字都变了,大概会让我不习惯吧。不过转念想,在 Awesome 的配置里坐下修改,之后谁还在意终端的命令名称啊。

没有评论

Leave a Reply