Xterm:不曾接触的风景
Xterm是X系统标配的终端模拟器,原先对这个丑陋的家伙并没有入眼。用它打开后,显示中文一堆乱码,“不堪入目”。前几天便有好奇心,如何解决它的中文显示乱码问题呢?于是,开始了对Xterm的探索之旅。
背景:Xresources文件
Xterm的配置文件就是Xresources,一般为~/.Xresources。Xresources支持:
- 定义终端颜色
- 配置终端首选项
- 字体设置
- Xcursor游标主题设置
- xscreensaver屏保主题
- 其他X应用首选项设置,如xclok……
在使用~/.Xresouces之前,常用~/.Xdefaults这个文件来做设置,不过现在后者已经基本被废弃,大家更常用~/.Xresources。所以,Xterm的配置也要写在~/.Xresources里面。显示管理器登录系统时,会自动读取该文件,以加载配置。当然,我们还需要熟悉下面的两个命令:
xrdb ~/.Xresources #重新加载.Xresouces文件,不保留原先配置 xrdb -merge ~/.Xresources #重新加载.Xresouces文件,保留原先配置
Xterm配置
- UTF-8
让Xterm将输入的数据解释为UTF-8编码:
xterm*locale:true
- 修复“Alt”按键
如果你使用“Alt”作为Meta键,需要设置:
xterm*metaSendsEscape:true
- 滚屏
可通过鼠标滚轮,或者触摸板边缘上下滚动,或者使用
Shift+PageUp/PageDown
来滚动。 - 字体
我们一开始面对的就是中文乱码,这个特别恼人,所以要在这里解决:
xterm*faceName: DejaVu Sans Mono:style=Book:antialias=false xterm*faceNameDoublesize: WenQuanYi Micro Hei xterm*faceSize: 8
上面的“DejaVu Sans Mono”和“WenQuanYi Micro Hei”都可以换成自己喜欢的字体,当然,还可以设置它们是否为粗体(Bold),或者斜体(Italic)等。
- 色彩
Xterm 默认是“白底黑字”,我们可以如下简单的设置:
xterm*foreground: rgb:b2/b2/b2 xterm*background: rgb:08/08/08
- 复制与粘贴
默认情况,Xterm的选中与粘贴:鼠标高亮选中的文本,就是要复制的文本,在Xterm按下“Shift+Insert”或者按鼠标中键就可以直接粘贴。在X下,高亮选中的文本被复制到了一个叫做“PRIMARY”的缓冲区,如果继续高亮选中其他文本,则用新高亮选中的文本来代替之前保存的文本。当然,与上面的“PRIMARY”相比,还有一种“CLIPBOARD”:使用“Ctrl+c”或“Ctrl+x”来进行文本复制和剪切,然后“Ctrl+v”进行复制,这就用到了“CLIPBOARD”。
可以使用下面设置共用这两种方式:
XTerm*VT100.translations: #override <Btn1Up>: select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0)
如果我们要启用“Ctrl+v”来复制,可以结合上面设置:
xterm*VT100.Translations: #override \ <Btn1Up>: select-end(CLIPBOARD,PRIMARY,CUT_BUFFER0) \n\ Ctrl <KeyPress> V: insert-selection(CLIPBOARD,PRIMARY,CUT_BUFFER0)