Monthly Archives: October 2010

Monthly pic 2010 09

9月,花了很多钱,买了不少东西(书,自行车,衣服等),工作很忙(errata经历了4次respin),玩的也很爽(跟肖导和孙同学的羽毛球活动,公司的team building)。很充实。

肖导打羽毛球之前在大食堂又感受了一次,相对公司那边的食堂/饭店便宜了不少,味道就不说了。

公司出去玩,同事捡来一只小花猫,一个手掌就能托起来。我的衣服给它当斗篷了

中秋节的午餐。有一个会做饭的室友还是很有优势的。

其他买的书啊自行车啊,都在之前的日志中晒过了,这里就到这吧。还有一些同事照的玩的照片,懒得传了。

通过bitlbee在irssi中使用msn和gtalk

在上一篇日志中,开始折腾irssi作为irc client了,于是最近很有把常用的工具都放到终端下的冲动。在折腾一阵mutt之后,实在觉得不适应,现在开始折腾msn和gtalk。

说到终端下的IM客户端,第一个想到的应该是finch,也就是pidgin的终端版。但是finch的设计理念好像是图形版pidgin的同等替换,pidgin下有什么样的窗口,finch下就画相应的窗口,完全模拟gui界面,总有点不伦不类的感觉,用着不爽。于是搜索了下其他msn和gtalk的终端客户端,发现了竟然能够在irssi中使用msn和gtalk(其实其他任意一款irc client都可以)。

bitlbee,用它的帮助中的话来说就是“IRC gateway to ICQ, MSN, AOL, Jabber, Yahoo! and Twitter.“。其实就是在本机启动一个irc server,把msn等协议请求进行转发。至于使用方法,在google里搜索”bitlbee msn gtalk”就会出来很多教程。这里简单说下我自己的配置。我参考了tuxtrainingDebian user forum的文章。

首先要启动bitlbee。如果看/etc/bitlbee/bitlbee.conf,可以发现它支持三种模式,xinetd、Deamon和ForkDaemon,具体区别看配置文件中的说明吧。我这里用的是ForkDaemon模式。网上有的教程会说,通过/etc/init.d/bitlbee来启动,但是F13中没有这个启动脚本,我只好直接命令行启动了

bitlbee -F -d ~/.bitlbee

-F表示用ForkDaemon模式,-d表示使用~/.bitlbee作为配置文件目录,保存的msn或者gtalk帐号信息都在这个目录下,默认是在/var/lib/bitlbee,因为我这个用户没有写权限,所以要自己指定配置文件目录。(因为bitlbee是一个irc server,默认任何人都可以来连接,所以默认的保存配置路径就在/var里了。也可以配置成只有使用密码才能连接的模式,具体看配置文件说明吧。)

启动好服务之后就可以用irssi连接了。

/connect localhost

这样会加入一个&bitlbee频道,这个是bitlbee的控制台。然后给自己进行注册,只有注册用户才能保存其他IM的帐号信息,不用每次都设置帐号信息了。

register anypassword

注册很简单,就是register命令后跟一个你想用的密码。这样当你下次启动的时候用identify anypassword来表明自己身份bitlbee就知道你是谁并用哪个帐号的配置了。

这个时候可以添加msn和gtalk帐号信息了。

account add msn username@hotmail.com password
account add jabber username@gmail.com passwd talk.google.com:5223:ssl
save
account list  # 查看帐号列表
account on    # 启用所有帐号
account on <num>  # 启用<num>号帐号 

这样帐号信息就保存下来了,可以看一下~/.bitlbee/中的文件,密码不是明文存储,还不错。

接下来设置irssi,让irssi开始自动连接bitlbee

/network add bitlbee
/server add -auto -network bitlbee localhost

到此基本设置就结束了,登录的msn好友和gtalk好友都在&bitlbee这个channel中显示出来了,只不过是用户id,不是昵称。可以使用rename命令来重命名,但是否能够保存设置我还没测试。如果要发起聊天,就可以用irc的方式

username, your message   # or
/msg username your message  # will open a new window in irssi

之前设置的irssi声音提示在这依然有效,很爽。

到此我把聊天完全放在了终端下,配合guake的快捷键和screen多窗口,用起来很舒服,上个图吧(有机会再介绍我screen的配置)

现在唯一遗憾的是还没办法用bitlbee上twitter,因为我没找到如何让irssi通过SOCKS5代理连接twitter。传说中irssi是支持socks代理的,但是irssi的官方文档中都说不知道“how it works”,我就寒了,等有闲了看看它的代码吧。虽然可以用vpn解决这个问题,但我还不想折腾vpn呢,先这样吧。

用bitlbee还可以上twitter,具体操作参考bitlbee的wiki。设置代理的方法就在/etc/bitlbee/bitlbee.conf中,也可以很方便的设置SOCKS代理。只是这样的话所有的连接都走代理了,如何只让twitter走代理呢?想到一个方法,就是在VPS上单独起一个bitlbee服务,要上twitter就连接这个IRC Server,专门用来上代理,当然首先要设置成用密码连接,否则任何人都可以连接我这个代理了。