黑客与 / - 真正困扰我的 IRC:即时消息

作者:Kyle Rankin

对我而言,IRC 是与朋友快速沟通的理想界面。我始终在我的服务器上通过 screen 运行一个控制台 IRC 会话 (irssi)。通过这种设置,我可以持续潜伏在所有我想关注的频道中,并重新连接到会话,无论我使用哪台机器。因为我的许多朋友都使用 IRC,所以保持联系非常容易。我可以每天与他们聊天,如果当我不在线时他们需要告诉我一些事情,他们可以给我留言,下次当我坐在电脑前时我会看到它。对我来说,IRC 界面最适合群聊和私聊——以至于我更喜欢它胜过即时消息。

当然,并非我所有的朋友都使用 IRC。即使是那些使用 IRC 的朋友,他们也并非都喜欢在那里进行所有的沟通。因此,除了 IRC 之外,我还维护着即时消息帐户。这意味着为了与所有人保持联系,我需要同时打开 IRC 和即时消息程序。此外,除非我在我的服务器上设置一个基于文本的 IM 客户端,否则我必须在我面前的任何计算机上启动一个本地客户端,当我在使用别人的计算机时,这是不可能的。最重要的是,我的一些朋友已经用 Twitter 取代了聊天和 IM,这意味着又一个帐户和又一个程序在我的桌面上打开——至少理论上是这样。相反,我发现了一些程序,它们让我可以将所有内容都整合到 IRC 会话中,因此给某人发送 IM 就像发送 IRC 私人消息一样简单,并且每个人的 Twitter feed 都变成了 IRC 频道中的另一个评论。在本专栏中,我将讨论如何从 IRC 内部访问您的 IM 帐户,在后续专栏中,我将讨论如何访问 Twitter,因为它们各自需要不同的程序。

通过 Bitlbee 进行 IRC 即时消息

使 IM 在 IRC 中成为可能的程序是一个名为 Bitlbee (www.bitlbee.org) 的 IM 到 IRC 网关。基本上,Bitlbee 在您的本地机器上设置一个 IRC 服务器,您可以像连接到您可能已经使用的任何其他 IRC 服务器一样连接到该服务器。连接到服务器后,您可以加入 #bitlbee 频道并使用其中的机器人进行身份验证。然后,您可以使用您的 Jabber、MSN、Yahoo 或 Oscar (AIM/ICQ) 帐户配置 Bitlbee。设置完成后,当您的朋友在线时,他们会加入频道,当您在 IRC 频道内与他们交谈或私聊时,它会将其转换为即时消息。

Bitlbee 应该已针对大多数主要发行版打包,因此您可以像安装任何其他程序一样安装它。否则,只需从主项目页面拉取并编译源代码。Bitlbee 使用 inetd,因此一旦您连接到 IRC 端口,inetd 会自动生成一个 Bitlbee 进程。根据您的发行版,安装后脚本可能会或可能不会自动在 inetd.conf 中设置行。如果它没有设置,请将以下行添加到 /etc/inetd.conf

6667  stream  tcp   nowait  bitlbee /usr/sbin/tcpd  /usr/sbin/bitlbee
设置 Bitlbee 帐户

安装 Bitlbee 后,转到您的 IRC 程序并连接到新服务器,但将 localhost 替换为典型的主机名。连接到服务器后,加入 #bitlbee 频道。Bitlbee 包含一个内置的帮助程序。只需输入帮助即可查看帮助主题列表,或输入帮助后跟特定的 Bitlbee 机器人命令,以查看该命令的帮助。除了这些帮助主题之外,Bitlbee 还包含一个快速入门主题(输入帮助 quickstart),它将引导您完成设置 Bitlbee 帐户和添加 IM 帐户的过程(我在下面介绍了相同的步骤)。

在您可以使用 Bitlbee 进行 IM 之前,您需要做的第一件事是在服务器上注册一个帐户,以便它可以保存您的所有 IM 帐户设置、联系人和其他信息,并使用密码保护它。输入

register password

并替换密码为您要使用的密码。下次您连接到 Bitlbee 时,您必须在 #bitlbee 频道中输入

identify password

,以便机器人可以授予您访问您的 IM 帐户的权限。

添加 IM 帐户

注册后,您可以开始添加 IM 帐户。account 命令允许您从 Bitlbee 添加或删除帐户,添加帐户的语法是

account add protocol username password server

这个协议上面应替换为 jabber、msn、yahoo 或 oscar,具体取决于您的 IM 帐户使用的聊天协议。然后,列出您的 IM 帐户的用户名和密码。最后一个服务器字段仅在 oscar 协议中需要,因此它知道是连接到 AOL Instant Messenger 服务器 (login.oscar.aol.com) 还是 ICQ 服务器 (login.icq.com)。其余协议不需要它。因此,例如,如果我有一个名为 test 的 AOL Instant Messenger 帐户,密码为 mypassword,我将使用以下命令添加它

account add oscar test mypassword login.oscar.aol.com

添加完所有 IM 帐户后,在 #bitlbee 频道中输入

account on 

,Bitlbee 将启用并登录到您的所有帐户。Bitlbee 应该会自动下载您的联系人列表,并且那些在线的联系人将显示为他们加入了频道。由于 Bitlbee 会重命名您的联系人列表中的人员,以便他们拥有更友好的 IRC 名称,因此您最终可能会遇到来自不同帐户的人员,他们的名称相似或至少令人困惑。要澄清问题,只需使用 rename 命令,后跟旧昵称,然后是您要使用的新昵称。

在 Bitlbee 中聊天

设置好您的帐户后,您可以与当前在 #bitlbee 频道中的任何人聊天。只需输入他们的昵称,后跟冒号 (:),然后说出您想说的话。或者,您可以像使用任何其他 IRC 频道一样使用 /msg 设置私人聊天。

联系人列表管理

一旦您开始使用 Bitlbee,您可能会达到需要从您的联系人列表中添加或删除联系人的程度。add 和 remove 命令负责处理此问题,但首先,输入

account list 

以获取您已注册的帐户列表及其 Bitlbee 编号。然后,要添加用户,请输入添加,通过您在与帐户关联的帐户列表中看到的编号,最后,添加用户的句柄。因此,如果我想将名为 mybuddy 的用户添加到我设置的第一个帐户(因此它将是帐户 0),我将输入

add 0 mybuddy

要从我的联系人列表中删除该用户,我将输入

remove mybuddy

因为 Bitlbee 在频道中为每个用户提供唯一的昵称,所以当您删除昵称时,您不必指定与昵称关联的 IM 帐户。

就是这样。现在您已准备好在您的 IRC 会话中进行所有 IM 聊天。当然,您可以在 Bitlbee 中调整许多其他命令和设置。首先,输入帮助并查看频道内所有可用的帮助主题和教程。我建议您首先通读所有快速入门主题,然后扩展到其余命令。至于我,我将像往常一样潜伏在 IRC 中(例如 irc.freenode.net 上的 #linuxjournal 频道)。

Kyle Rankin 是旧金山湾区的一名高级系统管理员,也是多本书籍的作者,包括 O'Reilly Media 出版的 Knoppix HacksUbuntu Hacks。他目前是 North Bay Linux Users' Group 的总裁。

加载 Disqus 评论