与厨师聊天

作者:Marcel Gagné

一切看起来都很棒,François。每张桌子上都有蜡烛、酒杯、工作站、DSL 连接——我们准备好了。如果可以的话,今晚的菜单是为了庆祝本期在线论坛的主题。每一项都旨在拉近人们之间的距离,即使是以虚拟的方式,不是吗?或许我们应该上一些有点浪漫的葡萄酒;1997 年的阿尔萨斯琼瑶浆听起来很适合今晚。您不同意,我的朋友?好吧,也许浪漫有点过分了,但请考虑一下,人与人之间的互动,即使是在网上,也完全是关于沟通,而沟通意味着一定的亲近感——即使你不喜欢这个人,不是吗

什么?嗯,这很简单,François。人们与其他人交流的整个想法是互联网存在的核心——无论是试图销售产品的网页还是同事发送的电子邮件。当我们使用 Linux 烹饪时,我们可以通过多种不同的方式利用这些沟通可能性。

啊,但是我们的客人到了!晚上好,我的朋友们。欢迎来到Chez Marcel,这里是精致 Linux 菜肴和最棒葡萄酒的故乡,不是吗?你们的桌子准备好了。请就座。我忠实的侍者会为您上酒。

在线论坛以多种形式存在,我的朋友们,从门户网站到内联网,再到聊天室,甚至是即时消息。我们可用的工具为我们提供了加入现有讨论或主持讨论的方式。您的 Linux 系统是托管服务器的完美平台,而且这样做不必复杂。看看这个名为 geektalkd 的简单小软件包,它由 Michael Plump 编写,他认为 David Elkins 功劳在于修复了许多错误。geektalkd 是一个完全用 Perl 编写的简单聊天服务器。其简单、开源的性质使其易于扩展、修改或仅仅欣赏。它支持频道、私人讨论等等。

要安装和运行 geektalkd,您需要安装 Net::Ident Perl 模块。最简单的方法是使用 Perl 的 CPAN 模式。您可以通过键入以下命令在命令行上完成整个安装

perl -MCPAN -e "install Net::Ident"

如果这是您第一次使用 Perl CPAN shell 安装某些东西,您将不得不经历一个简短的问答环节。在大多数情况下,您可以接受系统建议的所有内容,但有几个例外,特别是与选择镜像有关的那些。根据这是您第一次还是您以前接触过 CPAN,这可能需要一分钟到几分钟的时间。

完成后,解压并构建 geektalkd

tar -xzvf geektalkd-1.23.tar.gz
cd geektalkd-1.23
perl install

就是这样。运行服务器就像键入命令本身一样简单,然后它将 fork 到后台。您可能需要考虑添加 -l 选项并指定日志文件,或添加 -p 以指定另一个端口号。默认情况下,geektalkd 在端口 41000 上运行

/usr/local/sbin/geektalkd -l /var/log/gtd_log -p 41001
服务器运行后,客户端所要做的就是 telnet 到该端口。
telnet your_site.dom 41000
然后服务器会响应连接消息。键入 /help 获取命令列表。

另一个极其简单的聊天服务器候选者是 Shadowlands Forum。该软件由 Jeremy Monin、Dan Chin 和 Matt Lochansky 编写,是一个功能强大的聊天室,具有一些出色的(有时只是纯粹有趣的)功能。例如,用户可以设置诸如离开消息、空闲超时、创建宏、启用邮件检查(对于本地用户)等选项。管理员可以为整个房间设置默认值,决定谁参与和谁不参与,设置主题等等。要试用 Shadowlands Forum,请从 www.shadowlands.org/forum 获取副本,然后将该软件解压到本地目录

tar -xzvf slforum-1.9.6.1.tar.gz
cd slforum-1.9.6

接下来,您需要先编辑 slfprefs.h 才能继续。其中包含特定于站点的配置,例如 slforum 的主目录及其文件所在的位置。如果您的系统使用影子密码,您将需要取消注释 #define USE_SHADOW 行(默认使用 PAM)。您还可以在此处编辑系统消息,或者,当然,您可以接受默认值。当您满意时,像这样编译程序

make -f Makefile-linux
没有 make install。编译完成后,只需将 slforum 可执行文件复制到适当的目录即可。如果您使用的是 PAM,您还需要将 slforum.pam 复制到 PAM 目录 (cp slforum.pam /etc/pam.d/slforum)。现在是时候运行您的新聊天室了
./slforum -ag marcel +aa /path_to/chat.log
-ag 选项标识服务器管理员组的组 ID。同时,+aa 选项启用访客自动接受功能。至于命令末尾的日志文件,这可以是您喜欢的任何内容。使用 -h 查看所有选项。要使用论坛,请使用任何 telnet 客户端并在端口 7777 上连接
telnet your_site.dom 7777
从那里,您可以作为访客或作为管理员组成员登录。访客将被要求提供他们的句柄(或姓名),管理员将必须输入密码。登录后,您可以通过键入 !help 获取可用命令的列表。Shadowlands Forum 具有许多功能。它甚至配备了一个魔术 8 球,以帮助回答生活中所有复杂的问题。
marcel> !8 ball Should I serve Chenin Blanc with
    on-line fora?
FORUM: The 8 ball has advised marcel:
FORUM: To Answer Would Dishonor the 8 ball
好吧,我的朋友们,也许这个 8 球最终并不是很有用。

今晚菜单上的最后一项是即时消息客户端。您可能会问,已经介绍的聊天服务器和即时消息之间有什么区别?两者看起来确实很相似。区别在于我们使用过的其他聊天工具都需要您连接到中心位置。了解另一个人是否在线的唯一方法是连接。

像 Jabber (www.jabber.org) 这样的即时消息协议使您能够与朋友或亲戚(在 IM 术语中俗称好友)实时聊天,方式与我们之前的示例相同。不同之处在于 IM 客户端相互通信,让您知道您的好友何时上线。顺便说一句,Jabber 是一个开放、非专有的、基于 XML 的即时消息协议,您应该考虑将其用作其他服务的替代方案。事实上,Jabber 的开放性意味着您可以运行自己的服务器,这是私有内联网的理想情况。

您的系统上很可能已经加载了一个优秀的 Jabber IM 客户端。它被称为 Gaim。它最初由 Mark Spencer 编写,现在由 Rob Flynn 维护(在通常由敬业的程序员和补丁编写者组成的团队的帮助下)。我们将使用 Gaim 设置 Jabber 帐户,但 Gaim 也可以与 AOL 的即时消息客户端、Yahoo 的客户端、Microsoft 的 MSN 客户端以及其他客户端对话。这种多协议支持是通过使用插件实现的,这使得 Gaim 成为周围最灵活的即时消息客户端之一。

如果您的系统上还没有 Gaim,请从 gaim.sourceforge.net 获取最新的源代码。构建软件包只需执行旧的解压和构建五步

tar -xzvf gaim-0.59.6.tar.gz
cd gaim-0.59.6
./configure
make
su -c "make install"

从您的菜单或通过在命令行键入 gaim & 启动 Gaim,主 Gaim 窗口将出现(图 1)。

Chatting Up the Chef

图 1. 首次启动 Gaim

首次启动 Gaim 时,您将获得一个简单的窗口,其中包含屏幕名称和密码的文本字段。屏幕名称字段将输入 <新用户> 字样,让您知道您没有任何帐户设置。显然,我的朋友们,在我们开始通过 Gaim 使用即时消息之前,我们将至少需要一个帐户,不是吗

查看文本字段下方,您会看到六个标记为 Quit、Accounts、Signon、About、Options 和 Plugins 的按钮。默认情况下,Gaim 已准备好接受 ICQ 帐户(如果您已经有一个)。为了将 Jabber 用作您的协议之一,您可能需要加载其插件,该插件默认情况下未激活。这非常容易做到。单击 Plugins 按钮。

Gaim 插件窗口出现。单击 Load,然后从弹出列表中选择一个协议。对于 Jabber,您将单击 libjabber.so 并单击 OK。您将按照相同的步骤加载 Yahoo 协议 (libyahoo.so) 或 MSN 聊天协议 (libmsn.so)。加载 Jabber 插件(或任何其他您喜欢的插件)后,单击 Close。

当插件窗口消失时,单击 Accounts 按钮。Account Editor 窗口将出现,其中没有任何内容。

单击 Add,Modify Account 窗口将出现。在该窗口的中间,您应该看到一个标记为 Protocol 的下拉列表。默认情况下,它显示 AIM/ICQ。单击它,选择 Jabber,并观看窗口更改以反映设置 Jabber 帐户的要求。

Chatting Up the Chef

图 2. 创建或修改 Jabber 帐户

输入您的屏幕名称、密码和别名,然后单击 Register with server 单选按钮。如果您希望您的 Gaim 客户端在每次启动客户端时自动登录到 Jabber,也请单击 Auto-Login 单选按钮。当您对更改感到满意时,单击 OK。您的 Account Editor 窗口将显示您的新帐户(图 3)。

Chatting Up the Chef

图 3. 添加或编辑您的帐户很容易。

您可以在此处通过单击 Sign On/Off 按钮或通过单击 Close 并从主 Gaim 窗口登录来登录。首次进入时,您将收到来自 Jabber.org 服务器的欢迎消息。您可以关闭此窗口或访问该站点(如消息中所示)以获取更多信息。

现在您有了自己的 Jabber 即时消息帐户,您需要有人聊天。您可以通过单击菜单栏上的 File 并选择 Join A Chat 来加入在线聊天。您也可以使用键盘快捷键 Ctrl-C 代替。通过从菜单中选择 Add A Buddy 将朋友添加到您的好友列表中。

将好友添加到列表后,他们将收到消息,告知他们您想添加他们。当他们看到弹出窗口时,他们将单击 Accept,此时您可以开始对话。

这种接受好友的行为必须发生在连接的两端。他们接受您,然后您接受他们。可以将其视为说“我愿意”,但对于更随意、我敢说,虚拟的关系。François,所有这些亲近感都在呼唤香槟,您不同意吗?或许我们应该在客人离开前与他们分享一瓶,不是吗快点,François!去酒窖。请来 1988 年 Brut Champagne Rare。

当 François 去拿香槟时,我们将完成对 Gaim 的检查。一旦所有这些接受都发生,您的好友将出现在您的好友列表中。好友列表上姓名旁边的图标将指示您的好友是否在线。如果是,双击姓名并开始聊天。就这么简单。

Chatting Up the Chef

图 4. 尽情畅聊,即时沟通。

Gaim 也高度可配置。单击 Tools 和 Preferences 以获取选项列表。我特别喜欢的一个选项(在 Conversations 下)是将所有对话都选项卡式显示在一个聊天窗口中。如果您发现自己与多人交谈,这是您绝对想要设置的一个选项。

啊,François,欢迎回来,我的朋友。请为我们的朋友倒一杯。我担心打烊时间又到了。直到下个月,我的朋友们,让我们一起为彼此的健康干杯。祝您健康祝您好胃口

资源

Marcel Gagné 住在安大略省密西沙加市。他是 Addison-Wesley 出版的《Linux 系统管理:用户指南》(ISBN 0-201-71934-7)的作者(目前正在撰写他的下一本书)。您可以通过电子邮件 mggagne@salmar.com 与他联系。

加载 Disqus 评论