Linux 和 PalmPilot

作者:Michael J. Hammel
Linux and the PalmPilot

我和我的兄弟有很多共同之处,其中最重要的是对电子产品的兴趣。我倾向于大手笔——新电脑、新显示器、新开销。我的兄弟则考虑小物件——个人数字助理,也称为 PDA。在过去的几年里,他收集了几种不同的型号。现在我认为他正在研究 PSION,或者可能是那些被称为 Win/CE PDA 的雷德蒙德恐怖产品。我的兄弟评价这些东西时说,“wince(畏缩)”这个词就很贴切。

我曾提到过我想买一台 PDA,并认为 U.S. Robotics PalmPilot(现在的 3Com)是最佳选择。我曾在某处读到过有 Linux 软件可以与 Pilot 一起使用,这意味着我可以将数据直接下载和上传到我的 Linux 系统。幸运的是,那天我的小弟弟在听。今年圣诞节,他送给了我他旧的 PalmPilot。好吧,它是二手的——但仍然是一份很酷的礼物。

PalmPilot 实际上有四种不同的配置。早期的版本是 Pilot 1000(我现在拥有的版本)和 Pilot 5000。较新的版本是 Pilot Personal 和 Pilot Professional。旧版本没有背光显示屏,内存也少得多。但是,它们可以升级。我的兄弟在送给我之前已将 1000 升级到 1MB 内存。除了更多内存外,新型号还具有 2.0 版本的操作系统,而 Professional 型号具有 TCP/IP 协议栈和电子邮件工具。

入门——Linux 端的软件

如果您要将 PalmPilot 与 Linux 一起使用,则需要从其 HOWTO 文档开始。PalmPilot HOWTO 可以从 Linux 文档项目 (LDP) 以及其官方网站获得。HOWTO 由 David H. Silber 编写,非常容易理解,并提供了您入门所需的所有信息。我应该注意到,我仅使用 HOWTO 就成功地使软件运行起来——我不需要订阅任何邮件列表或扫描数周的新闻组存档。这既归功于 HOWTO 作者,也归功于 PalmPilot 的简洁性。

HOWTO 指引读者访问主要的软件存档,您可以从中下载各种软件包。新用户感兴趣的软件包是

  • pilot-link:主要感兴趣的软件包,它包括 pilot-xfer 程序,用于在 Pilot 和 Linux 之间传输程序和数据,以及许多其他工具。该软件的当前版本为 0.8.9。请注意,HOWTO 直接链接到 0.8.2 版本。软件存档将此软件包列为 pilot-link.x.y.z.tar.gz,其中 x.y.z 是版本号。

  • PilotManager:用于 UNIX/X 系统的 Pilot 图形界面。处理 pilot-xfer 软件从命令行执行的大多数任务,但使用基于 X 的界面。这是一个 Perl/Tk 应用程序。

  • MakeDoc:将文本文件转换为更适合 Pilot 的文档格式。

  • prc-tools:开发 Pilot 软件所需的软件包。

要检索的第一个软件包是 pilot-link 软件,其中包含大约 30 个程序的集合。它们中的大多数都有非常具体的任务,例如上传或检索“备忘录”或“待办事项”列表。在这些程序中,最有用的是 pilot-xfer。此程序用于备份和恢复完整的程序和数据库,甚至整个 Pilot 系统。它甚至可以自动执行增量备份。pilot-link 软件包中的所有程序都是命令行程序。

PilotManager 是 Pilot 的 Perl/Tk 图形界面。它显然可以与 CDE 的日历应用程序一起使用,但由于我没有运行 CDE,因此我没有尝试此功能。功能列表指出 PilotManager 具有四个主要功能:上传新的应用程序和数据库,将 Pilot 与 CDE 日历应用程序同步,将文本文件作为 Pilot 备忘录上传,以及将 Pilot 备份到您的 UNIX 系统。

MakeDoc 是一种将普通文本文件转换为压缩格式的工具。此格式可以被 Rick Bram 的 PilotDOC 阅读器读取,该阅读器现在是一款名为 AportisDoc Trialware 2.0 的共享软件产品。Rick 开发此阅读器是因为 Pilot 的文档处理仅限于相对较小的文档。

最后,prc-tools 是一组用于构建 PalmPilot 应用程序的工具。仅当您打算进行开发工作时才需要此软件包。如果您走这条路线,您还需要获取 GNU gccgdbbinutils 软件包。所有这些都在 HOWTO 中进行了解释。

构建和安装软件

构建 pilot-link 软件非常简单。解压缩软件包 (tar xvzf pilot-link.tar.gz) 后,决定要将其安装在哪里。我将其安装在 /usr/local/pilot/ 下。您必须告诉 configure 脚本安装目录在哪里;它假定为 /usr/local。如果您还决定将 man 页面安装在不寻常的位置,则也应告诉 configure 脚本。

要构建软件包,请运行 configure 脚本,然后运行 makemake install。这是我使用的 configure 命令

 configure --prefix=/usr/local/pilot\
     --mandir=/usr/local/man\
     --with-java=/usr/lib/java

Java 选项对于在 configure 步骤中获得干净的运行是必要的。它实际上不会导致构建 Java 扩展——这必须手动完成,尽管这些扩展不是必需的。您可以使用 pilot-xfer 和其他工具,而无需 Java 扩展。

在 make install 完成后,我将 /usr/local/pilot/bin 添加到我的路径,如下所示

PATH=$PATH:/usr/lib/pilot/bin
export PATH

此时,pilot-link 工具已准备好与您的 Pilot 一起使用。pilot-link 中只有少数程序的 man 页面,但大多数程序在不带选项或命令行参数调用的情况下都提供帮助。

Makedoc 实用程序是一个单独的 C++ 文件。您可以使用以下命令行对其进行编译

g++ -DUNIX makedoc7.cpp -o makedoc

Linux and the PalmPilot

测试设置

HOWTO 没有明确说明这一点,但在简短的代码检查后,很容易弄清楚。构建 MakeDoc 后,您应该将其复制到安装 pilot-link 工具的同一目录中。

构建完成后,您需要测试工具是否正常工作。首先要做的是将 PalmPilot HotSync 底座连接到您的 Linux 计算机。为此,请将底座上的串行电缆连接到计算机上的串行端口之一。底座上的电缆有一个母连接器,因此您可能需要一个变性器来进行连接。我使用 A/B 开关盒将我的外部调制解调器和 Pilot 都连接到同一个串行端口 (/dev/cua1),同时将另一个串行端口用于我的鼠标。这似乎工作正常,但请小心。如果您在其中一个设备运行时在两个设备之间切换,则可能会导致您必须手动重置调制解调器(关闭然后再打开)或重新加载 Pilot。因此,请注意在使用调制解调器或 Pilot 时不要更改开关盒设置。

在尝试软件之前,您可能还想做另一件事,就是从连接 Pilot 的串行端口创建一个符号链接到 /dev/pilot。pilot-link 软件中的大多数(如果不是全部)工具都使用 /dev/pilot 作为默认设备,尽管它们都将端口设备作为命令行参数。拥有 /dev/pilot 符号链接使生活更轻松一些。

您还应确保串行设备具有正确的读/写权限,以便您在读取和写入 Pilot 时使用的任何用户 ID 都可以访问它。在我的系统上,/dev/cua1 具有 666 权限,因此普通用户可以访问它。我不知道这是否是安全漏洞,但这是我的机器——我是唯一的用户,而且我不太担心它的安全性。

现在硬件已连接,您应该测试软件是否可以与您的 Pilot 通信。将 Pilot 放入底座,确保其已正确就位。(请参阅 Pilot 随附的说明。)您应该运行的第一个测试是

% pilot-xfer /dev/cua1 -l

其中 /dev/cua1 是 Pilot 连接到的端口。如果您不熟悉串行端口设备,/dev/cua0 通常是第一个串行端口,/dev/cua1 是第二个。您的系统可能配置了其他端口。键入此命令后,系统将提示您按下 Pilot 底座上的 HotSync 按钮以开始数据传输过程。

pilot-xfer 的 -l 选项将仅列出当前安装在 Pilot 上的应用程序。如果这有效,那么您就成功了。如果无效,请检查电缆连接器是否正确紧固在一起。不要忘记在启动 pilot-xfer 命令后按下底座上的 HotSync 按钮。

如果 pilot-xfer 和 Pilot 之间的通信正常工作,您将获得安装在 Pilot 上的应用程序和数据库列表。此命令的结果因您在 Pilot 上安装的其他内容而异,但我的默认配置如下所示

% pilot-xfer /dev/cua1 -l
 Waiting for connection on /dev/pilot (press
     the HotSync button now)...
 Connected
 Reading list of databases...
 'System Preferences'
 'Graffiti ShortCuts'
 'AddressDB'
 'MemoDB'
 'ToDoDB'
 'DatebookDB'
 List done.

在您使此命令正常工作后,通过键入以下内容备份您的 Pilot 数据

pilot-xfer /dev/pilot -b `date +%Y%m%d`
我在我的 ~/lib/pilot 目录中执行此操作。“date”实际上是我希望放置备份的目录的名称。我使用 YYYYMMDD 格式,以便在使用 ls 命令列出目录时,目录可以正确排序。

现在验证您刚刚备份的程序和数据库

pilot-xfer /dev/pilot -u `date +%Y%m%d`

pilot-xfer 程序应识别到数据未更改,并指示未进行任何更改。这就是您想要的。

Pilot 程序和数据库

Pilot 程序的扩展名为 .prc。Pilot 数据库的扩展名为 .pdb。许多 HOWTO 文档将所有文件(程序和数据)称为“数据库”。除非您要进行开发工作,否则这种差异并不重要。当您将 .prc 文件上传到 Pilot 时,您已加载了一个它将运行的程序。.pdb 文件是程序将使用的数据。

pilot-link 软件包中没有包含您可以上传到 Pilot 的用户程序或数据库。您可以在 Internet 上的许多共享软件站点之一中找到这些程序或数据库。开始搜索 Pilot 应用程序的地方是 3Com 的官方 PalmPilot 站点:http://palmpilot.3com.com/,其中包括指向许多共享软件和免费软件站点的链接。c|net 还收集了您可以从其 DOWNLOAD.COM 站点检索的 Pilot 应用程序。此站点还提供了软件包的描述,我发现这非常有帮助。

在 3Com 站点,您还将找到四个游戏的集合:Hardball、Minehunt、Subhunt 和 Puzzle。这些游戏被存档到一个 zip 文件中。3Com 将其称为 Windows 文件,但它可以在 Linux 上使用。下载它,如果您使用 FTP,请注意指定二进制文件传输。(Netscape 和其他浏览器应使用二进制传输自动下载它。)检索后,使用 unzip 解压缩它。您应该有四个 .prc 文件(文件名为大写)和一个 README.TXT。请务必阅读文本文件。现在,让我们看一下如何使用 pilot-xfer 程序将这些游戏上传到您的 Pilot。

加载新软件和数据库

您已经进行了备份,因此现在可以尝试更改您的 Pilot 了。将目录更改为您解压缩 games.zip 文件的位置,然后运行

pilot-xfer /dev/pilot -i *.PRC

-i 选项用于将新文件安装到 Pilot 中。此命令启动将软件包中的所有四个游戏传输到 Pilot。pilot-xfer 程序会提示您按下 Pilot 底座上的 HotSync 按钮。按下此按钮后,上传将开始。每个上传的应用程序都将由 pilot-xfer 列出。如果您观看 Pilot 的屏幕,您将看到软件包的真实名称,因为它正在上传。这是 Pilot 用来引用上传程序的名称。

上传完成后,您应该听到一声提示音,之后 pilot-xfer 退出。这些程序现在可以使用了。您可以将 Pilot 从底座中取出,以检查新游戏是否在那里。尝试运行它们以确保它们正常工作。

这就是全部!看看使用 pilot-link 软件是多么容易?正如 Linux 的许多软件一样编写良好且易于使用,我仍然对 Pilot 软件的真正简洁性感到惊讶和印象深刻。

应用程序

现在是时候寻找一些不错的应用程序了。以下是您可能希望研究的一些程序的列表

  • HackMaster(共享软件)

  • AppHack(共享软件)

  • DinkyPad(共享软件)

  • ClockHack(免费软件)

  • LaunchPad(共享软件)

  • SelectHack(共享软件)

  • utilBas(免费软件)

  • Pilot Stopwatch(共享软件)

  • SketchPad(免费软件)

所有这些程序都可以通过 DOWNLOAD.COM 网站以及许多其他 Pilot 共享软件网站的链接获得。

我强烈推荐 HackMaster 工具。使用 AppHack、MenuHack 和其他一些工具都需要它。AppHack 允许您使用 Pilot 上的四个真实按钮(而不是“丝网”按钮)来启动应用程序。MenuHack 允许您通过单击窗口的顶行来调出应用程序的菜单栏。通常,您需要单击菜单丝网按钮。LaunchPad 也是一个很棒的应用程序。它提供了一组用户可定义的笔记本标签,您可以在其中放置应用程序图标。可以将其视为文件管理器——对于像 Pilot 这样的小型设备来说还不错。

MakeDoc

MakeDoc 是一个 Linux 端工具,用于将文本文件转换为 AportisDoc 阅读器可以使用的格式。要使用 MakeDoc,请使用类似于以下内容的命令运行它

makedoc data.txt data.prc "Data to display"

其中 data.txt 是您要转换的文本文件的名称,data.prc 是您将创建的文件的名称。用双引号括起来的文本将用作 AportisDoc 文档列表中的文档标题。同样,一旦您将文本文件转换为正确的 Doc 格式,您可以使用 pilot-xfer 将其上传,如下所示

pilot-xfer /dev/pilot -i data.txt
管理您的数据

一旦您开始定期使用 Pilot,您将希望将备份到您的 Linux 计算机。参考我们之前运行的备份命令,

pilot-xfer /dev/pilot -b directory-name

将对您的 Pilot 进行完整备份。要进行增量备份,请给出命令

pilot-xfer /dev/pilot -u directory-name
增量备份应在现有目录上完成,但完整备份应在新目录中完成。就像管理您的 Linux 计算机一样,建议定期进行完整备份和增量备份。目前,我每周进行完整备份,并在添加不想丢失的重要数据时进行增量备份。

恢复丢失的数据也非常简单。命令

pilot-xfer /dev/pilot -r directory-name

会将 directory-name 中的备份数据上传到您的 Pilot。非常简单,不是吗?pilot-xfer 程序还可以删除和合并数据库,以及从 Pilot 中清除不需要的数据和程序。

PalmPilot 软件和 Linux

资源

总结

U.S. Robotics 的 PalmPilot 比其他 PDA 具有优势,因为它采用了开放式架构,这意味着公众可以比其他一些流行的 PDA 更容易地为此 PDA 创建应用程序。由于这种开放性,Pilot 有相当多的免费软件、共享软件和商业应用程序可用。

Linux and the PalmPilot

Pilot Manager 屏幕截图

适用于 Linux 的 PalmPilot 软件可能具有任何 Linux 软件中最佳的配置与实用性比率。它很容易运行,并且可以非常简单地从您的 Linux 计算机或其他 UNIX 系统管理 Pilot。由于这些工具本质上很简单,因此可以轻松地将其合并到其他工具中。这使得 PalmPilot 成为不断增加的工具范围的绝佳补充,可供您个人和商业用途的 Linux 使用。

Linux and the PalmPilot
Michael J. Hammel 是一位软件工程师,目前在德克萨斯州理查森的三星电信美国公司从事网络管理工具方面的工作。Mike 的兴趣范围从技术到体育,并且偶尔会喝一两杯啤酒作为社交消遣。请访问他的主页 http://www.graphics-muse.org/ 并通过电子邮件 mjhammel@fastlane.net 与他联系。
加载 Disqus 评论