X 终端模拟器

终端模拟器总是比不可少的工具,有许许多多的终端模拟器可以供选用,但是我 喜欢的并不多,我不需要终端模拟器来支持特殊字符输入之类的,那样往往会占 用大量快捷键,当我在终端模拟器里面使用 Emacs 的时候就会非常不舒服。下 面介绍一些我比较喜欢的终端模拟器。

yakuake

这个是我在使用 KDE 的时候必不可少的工具,它基于 KDE 的 Konsole ,因此 也就有了 Konsole 的所有优点,当然也就支持多标签了。他最大的特点是呼之 即来,不用的时候又能自动隐藏,当然很多可定制性非常强的窗口管理器也可以 制造这种效果,例如 fvwm-crystal 就有了这个功能,不过我觉得始终不如 yakuake 用着舒服。

通常我做一个链接到 ~/.kde/Autostart/ ,让他随 KDE 而启动,需要用终端的 时候只需要按一下 F12 他就会从屏幕上方滑下来。通常我把他设定成失去焦点 就自动隐藏,但是我也可以很方便地让他临时定在那里不要隐藏起来。

不过这样的终端有一个缺点就是,有时候终端正隐藏着做一些工作,例如编译一 个大软件,我却忘记了他的存在,直接关掉了系统。 :p

rxvt-unicode(urxvt)

rxvt-unicode 是我在非 KDE 环境中非常喜欢的一个终端模拟器,它是一个轻量 级终端模拟器,支持 UTF-8 编码,而且配置字体简单,和 Emacs 很类似,显示 也很漂亮,可惜还不支持标签功能1,但是配合 screen 使用还是很不错的。有个 基于 rxvt 和 aterm 的 mrxvt 支持标签功能,但是它不支持 UTF-8 的,要是 mrxvt 变成了 murxvt 或者mrxvt-unicode ,也许我会积极尝试一下。

urxvt 如何设置字体

字体的设置可以放入 ~/.Xresources ,例如:

Rxvt.font:-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1, \
-misc-simsun-medium-r-normal--12-*-*-*-p-*-iso10646-1

urxvt 为何启动速度奇慢

这个问题我也没有搞清楚,论坛上讨论也是众说纷纭,有说是因为输入法问题, 有说是因为字符编码问题,不过目前有个解决办法,只需要用参数 -pt Root 启 动 urxvt 或者把这句加入 ~/.Xresources 就可以让启动速度变得飞快:

Rxvt.preeditType:Root

urxvt 与 Screen 配合使用

urxvt 有一个选项:

URxvt.secondaryScroll: true

这样 Screen 里面的内容也会进入 urxvt 的会滚缓冲里面,于是就可以使用 urxvt 的滚动条来查看 Screen 的历时内容了。

另外,还有几个有趣的选项:

URxvt.scrollTtyOutput: False
URxvt.scrollTtyKeypress: True
URxvt.scrollWithBuffer: True

这样,在你把滚动条回滚之后,即使有输出也不会自动跳到底部了,有时候想把 滚动条拉回去看看前面的输出,结果老是自动跳回去,非常不方便。

不错的 urxvt 主题方案

把这段放入 ~/.Xresources 里面:

Rxvt.background:grey30
Rxvt.foreground:white
Rxvt.colorBD:yellow
Rxvt.colorUL:green
Rxvt.scrollBar:True
Rxvt.scrollBar_right:True
Rxvt.scrollBar_floating: False
Rxvt.scrollstyle:next
Rxvt.saveLines:3000
Rxvt.color12:DodgerBlue
Rxvt.color10:SteelBlue4

快捷键的问题

urxvt 因为支持 ISO 14755 一类的东西,有些快捷键被占用了(如 C-@),不过 可以在编译的时候加入选项去掉这个功能,我以前是直接用这两个选项就可以了:

--disable-iso14755 \
--disable-frills

可是现在编译却不行,我看了所有的选项,也没有找出个所以然来,也不知道是 为什么,所以干脆 --disable-everything 再打开自己需要的选项就可以了:

--disable-everything \
--enable-xim \
--enable-fallback \
--enable-selectionscrollin \
--enable-mousewheel \
--enable-slipwheeling \
--enable-smart-resize

Footnote

1. 其实从版本 7.3 开始就有一个默认安装的 perl 脚本可以实现标签功能,可 以通过 "urxvt -pe tabbed" 启动,或者在 "~/.Xresources" 里面加入 "URxvt.perl-ext-common: default,tabbed" 来获得标签功能。