URxvt节省资源大法

 因为经常在X下使用命令行,装了个很多人推荐的URxvt作为默认终端(其他终端例如xterm等都被我用它替换了),经常执行多个程序,所以需要开多个终端,这样比较占资源。偶然发现URxvt支持deamon和client模式,只要运行urxvtd然后运行用urxvtc来启动终端就可以了。这样只会有一个urxvtd守护进程。也许实际占用内存未必会减少,但是减少了任务调度的开销。

我的做法是在X启动时自动启动urxvtd,用urxvtc替换urxvt。 

sudo mv /usr/bin/urxvt{,.bak}
sudo ln -s /usr/bin/urxvt{,c}
### 以下写在~/.xinitrc里 #######
urxvtd -q -f -o&
#### 重启一下X即可生效 ####

解决URxvt启动缓慢

 安装fcitx并开启后发现启动URxvt启动缓慢,原因就是输入法在URxvt下出现字体错误。搜索了一下,网上给出的答案是:

  • 带参数运行: urxvt -pt Root 
  • 或者
  • 将"URxvt.preeditType: Root“写入~/.Xresources

我试的第一种方法可行,第二种方法没有效果,后来发现一个更好的解决方法,原理就是制定输入法的显示字体:

在~/.Xdefaults里加入一下几行 

URxvt.preeditType: OffTheSpot
URxvt.inputMethod:fcitx
URxvt.imFont: -microsoft-microsoft yahei-medium-r-normal–0-0-0-0-p-0-iso10646-1

这里OffTheSpot指光标更随,URxvt.imFont:后面是字体,如果你的系统里没有这个字体或者想换别的字体,则运行xlsfonts,输出一堆字体,选一个复制过来即可。

最后重启一下X即可。