urxvt 的性能

转了KDE4之后,觉得 urxvt 的性能有严重下降,甚至都及不上 Konsole 了。今天在网上搜,看见有说用 Xft,AA 越多,越慢……想起我的 urxvt 用的Xft ,而且没有必要。改了之后,明显快多了么!结论:新东西常常想着CPU强悍了,就不管性能了…… 或者 urxvt 因为是从旧时代过来的,还是怀旧啊。看看这个数据吧。我在我的Home目录,进行 find .操作。共71120行。wc数据:   71120   72439 4312676用Xft: urxvt*font: -*-terminus-medium-r-*-*-14-140-*-*-*-*-*-*,-*-wenquanyi bitmap song-*-*-*-*-13-*-*-*-*-*-*-*比较好的一次:0.128u 0.391s 0:10.98 4.6%      50+2947k 0+0io 0pf+0w一般在12s左右徘徊用x字体: urxvt*font: xft:Terminus:pixelsize=14,xft:WenQuanYi Bitmap Song:pixelsize=14比较烂的一次:0.177u 0.531s 0:02.66 26.3%     36+2121k 0+0io 0pf+0w一般在2s左右徘徊不输出(输出到 /dev/null):0.067u 0.405s 0:00.47 97.8%     43+2541k 0+0io 0pf+0w5~6倍的差距啊! Xft在干嘛…… Old Blog Link: http://computer.mblogger.cn/henryhu/posts/85620.aspx

关于网络故障的Tip

诸位用着Windows的同志,如果发现* 网卡工作不正常,显示"无法启动","找不到文件"等等错误* 网络连接属性页(就是显示协议/客户端的页面,能看见TCP/IP协议的)显示不正常/工作不正常/其他问题请打开注册表编辑器(开始->运行->regedit->回车)浏览到 HKEY_LOCAL_MACHINESystemCurrentControlSetControlNetwork,删除右面的Config键然后再试试看……上两天Windows网络出问题,先是属性页全白,然后是网卡工作异常。搞了半天,这样修好了……后来想起来从前写过一篇关于VMWare的网卡的问题,也是这样修好的……总之,反正删了Windows会重建,虽然有的设置需要重新设置,但是总比有问题强~

linux QQ 试用

腾讯出了个 linux QQ,不管是出于支持国产,还是出于争取用户,反正终于有官方版的了。为了这个能够在BSD上跑,我还更新了一堆包。BSD 上 port 里有的 linux 包都太老了,gtk还是2.6的,QQ没办法用,说有没定义的东西。我说你QQ怎么就不搞一个静态编译的……然后更新了 gtk 和 glib,为此更新了 pango,然后是 cairo,然后装了 pcre, xcb, pixman… 搞了半天终于跑起来了。 总的来说,功能很弱,腾讯那个网页宣扬的功能,也就是全部功能了。图片能收不能发,文件不能传,群只能聊天无法管理,没有声音提示(这个最BT! 别人发给我消息我不知道……)然后不支持只显示在线用户,连把好友换个分组都不行……说起来还是 preview 版,所以不能期望太高。毕竟到目前为止还没有 crash 过,这个就比我 wine 出来的 QQ2008 就好多了……官方出了QQ,总也不是什么坏事。反正不管谁出的,谁的稳定,谁的好用,就用么…… 毕竟服务是腾讯提供的啊…… 哪天谁像ubuntu老总那样NB了,钱多了开个公司,运行一个聊天服务器,发布开源的聊天软件,倒是很不错~  现在比较有希望的大概也就是 google 了。

小试Gtk/Glade:gtunet

从前看见有的程序用到glade,看了一下,发现是靠xml文件来描述程序界面的方法,当时就觉得不错。这两天看着学校的tunet越来越不爽,linux/BSD下只有命令行版本。虽然有个叫qtunet的,但是貌似从来没人更新,界面巨烂,功能也很有问题。于是想到在tunet的基础上,做个GUI。结果就动手写起gtunet。正好试试gtk编程,和glade这个工具。试下来glade真的非常方便,弄完界面,和函数挂钩,相当于原来的一个一个控件建出来再signal connect,省力许多。所谓"界面和程序逻辑分离",这个是第一步吧。 其实写了一半的时候,觉得用PyGTK或者其他脚本语言来写,或许更方便。毕竟要和一个命令行的程序对话,用C来写并不是很方便。而且,有什么问题,改一下就可以看见结果。但是,我一直对PyGTK之类的东西没有好感,本来Gtk并不大,却要装一大堆的binding。后来写到一半,发现大概还非得用C不可。tunet其实有个地方比较ws,它为了不让密码显示在控制台,是直接打开/dev/tty,然后可能靠ioctl来禁止回显。既然没有用stdin,我本来用popen打开的方法也不能输入密码。然后我也只好打开/dev/tty,然后用TIOCSTI这个ioctl来模拟键盘输入了。如果用脚本的话,这个估计就麻烦了…… 今天添加了一个线程,把获取程序输出并显示的部分扔到了一个线程里。然后麻烦的事情就出现了…… 我还想让记录自动滚动,然后写了一些东西,结果运行的时候,冒出来各种各样的错误…… 简直就是每次的错误都不一样…… 我的线程是用pthread建的,后来觉得问题就出在这个上面,改成了gtk自己的thread库。现在好像稳定了不少,但有时候还是会有问题……tunet很NB,我killall掉tunet的话,连我gtunet这个父进程也会收到一个SIGTERM…… 太NB了…… 现在,大致这个东西勉强能够用了,不过还有很多能够改进的地方~其实,貌似Gtk用类绑定之后,用起来会方便不少。但是,貌似用gtkmm这个库(C++绑定的Gtk)的程序很少,如果用了,还要额外装…… 算了吧。