在没有 Windows 的世界中使用 BlackBerry

作者:Carl Fink

什么是黑色、红色、金色或银色的?它是一个音乐和视频播放器、电子邮件客户端、个人管理器、Web 浏览器和高速调制解调器。哦,它还是一部电话。

是的,您猜对了,它是 RIM BlackBerry Curve。像许多 LJ 读者一样,我沉迷于小玩意。一度,我随身携带一部手机、一个 MP3 播放器和一个 PDA。但这要在你的口袋里塞进很多设备,大约在一年前,我决定是时候整合了。经过大量研究,我选择了 BlackBerry Curve。它在一个非常小巧、 привлекательном 封装中几乎包含了我需要的一切。手机中不包含的少数东西,例如 SSH 客户端,可以从第三方获得。作为一名长期的 Linux 用户,我本来希望有一个基于 Linux 的替代方案(我曾经拥有一台 Sharp Zaurus),但我找不到任何当前的 Linux 手机具有我想要的所有功能,并且在美国很容易获得。

尽管我愿意使用非 Linux 手机,但我不愿意放弃我基于 Linux 的计算机。Research In Motion 仅支持 Windows,因此将手机与我的计算机一起使用需要一些研究和调整。

本文涵盖以下内容

  • 通过 USB 为手机充电。

  • 将手机的应用程序和数据备份到 Linux 计算机,并在必要时恢复。

  • 转码视频和音频文件以在 Curve 上使用。

  • 将 BlackBerry 与 Evolution 同步。

本文的测试系统是我的 HP Pavilion DV6458 笔记本电脑,运行 Debian GNU/Linux 的 Lenny 发行版。在本文发布时,Lenny 要么将成为 Debian 的稳定版本,要么将很快达到该状态。我的手机是 BlackBerry Curve 8320,在 T-Mobile 网络上运行。

为了使其有用作除纯粹的电话以外的任何用途,您必须在 Curve 中安装 microSD 闪存卡。我使用 6GB 卡,它可以同时容纳 20 张音乐专辑和 20 个播客,并且仍然留出几个 G 用于照片和视频。安装 microSD 卡将使您接触到 RIM 令人费解的决定之一:SD 卡在电池下方。是的,没错。您必须重新启动手机才能更换卡。由于在断电后启动对于 BlackBerry 来说非常慢,这是一个主要的烦恼。因此,我强烈建议购买您可以负担得起的最高容量的卡,以最大程度地减少更换的需要。

将手机连接到 PC

另一件让 Research In Motion 的客户感到困惑和恼火的事情:RIM 在其手机中包含了蓝牙,但它是残废的。如果您想在 BlackBerry Curve 上传输数据,则必须使用 USB 电缆。好处是,它非常简单。只需将标准 USB 电缆插入手机和计算机,您的系统应自动检测到手机。如果您正在使用磁盘管理器,例如 gnome-volume-manager,则 BlackBerry 中的 microSD 卡应自动显示为可移动磁盘驱动器。将任何东西传输到卡或从卡传输任何东西都像 cp 命令或在任何文件管理器中拖放一样简单。

备份和恢复

首先,您显然可以像备份任何其他已挂载的驱动器一样备份和恢复 microSD 卡的内容。但是,手机自己的数据库不是文件系统的一部分,因此需要特殊的软件。对我来说幸运的是,已经有一个为此目的设计的软件包,Barry,一个由加拿大计算机咨询公司 NetDirect 主持和支持的项目,该公司专门从事开源解决方案 (www.netdirect.ca/software/packages/barry)。Barry 目前是 alpha 软件,但它非常可用。不幸的是,它没有为 Debian 正式打包。该站点上有针对 Debian Stable (Etch) 的非官方软件包,但它们仅适用于 i386 架构,并且在我的 AMD64 系统上安装时存在问题,因此我不得不编译自己的软件包。(在我的塔式系统上进行测试时,该系统运行 Debian Lenny 的 i386 发行版,预先创建的软件包运行良好。)在 Barry 站点上有一组特殊的下载和有关如何创建 Debian 软件包的说明,但不幸的是,它们在我的系统上不起作用。(当您阅读本文时,可能已修复。)但是,传统的make ; sudo make install组合完美地工作。您可以使用 stow 来管理未打包的应用程序。

执行make install将 libbarry* 库放入 /usr/local/bin,但实际的可执行文件希望它们位于 /lib/tls 中。我没有尝试重新配置程序,而是简单地将库复制到该位置。

为使用该打包系统的发行版提供了 RPM 和创建 RPM 的说明。

安装 Barry 后,您可以立即备份 BlackBerry 数据库,包括联系人、约会、设置、备忘录等。首先,运行 bcharge 程序。bcharge 做两件事

  1. 您可能已经注意到,当您将 BlackBerry 插入运行 Linux 的 PC 时,您会收到警告,提示“充电电流不足”。bcharge 将充电电流增加到 500mA 并消除了此消息,此外,它还允许您的手机充电更快。

  2. 它从 usb_storage 内核模块中获取设备的控制权,以便可以访问数据库和其他功能。尽管如此,microSD 卡仍然可以挂载,并且可以来回复制文件。

注意:bcharge 与内核模块 berry_charge 不兼容。如果 lsmod 显示 berry_charge 存在,请使用sudo modprobe -r berry_charge在运行 bcharge 之前将其删除。如果您计划经常使用 bcharge,请将 berry_charge 列入黑名单(sudo echo "blacklist berry_charge" >> /etc/modprobe.d/blacklist).

显然,bcharge 在不同的计算机上以不同的方式工作,具体取决于确切的设备配置和系统。尝试运行sudo bcharge -o首先。如果失败,请尝试sudo bcharge(无标志)。如果即使那样也失败,请尝试sudo bcharge ; sudo bcharge -o。您可以使用以下命令检查是否已检测到设备sudo btool -l。在我的计算机上,当检测到设备时,我会看到以下输出

Blackberry devices found:
Device ID: 0xFFFFFF. PIN: FFFFFFF, Description: RIM 8300 
 Series Colour GPRS Handheld

(我在上面的输出中模糊了我的设备和 PIN 码。)

Barry 的 btool 提供了很多功能,我鼓励您执行man btool以了解更多信息。

为了备份手机的数据库,我使用了 barrybackup 应用程序。安装程序未将程序设置为 setuid root,这是必需的。我不得不sudo chmod +s /usr/local/bin/barrybackup程序才能正常工作。

The BlackBerry in a World without Windows

图 1. BarryBackup

只需单击“备份”按钮,所有数据库都将被备份。您可以通过单击“编辑”→“配置”来配置要备份的数据库,并选择仅恢复某些数据库。备份以 tar.gz 文件的形式存储在 ~/.barry/backup/FFFFFFFF 中,其中最后一个十六进制数字是您的设备 PIN 码。

Curve 上的音频和视频

我专门购买这款手机是为了取代我的 MP3 播放器。它具有出色的声音和视频质量(考虑到小屏幕的限制),并且高容量的 microSD 卡可以容纳大量音乐。当然,考虑到该卡必须容纳音乐、视频、内置摄像头拍摄的照片、电子书和所有其他内容,您将希望使用最有效的文件格式。

首先,让我们讨论音乐。Curve 支持 MP3、AAC、MIDI 和 WMA 音频文件。因为我正在尝试尽可能多地使用免费工具,所以 WMA 和 AAC 格式存在问题,只剩下 MP3。(MIDI 是一种专门的格式,不能用于录制的音乐。)fapg 也支持 MP3 文件(见下文)。

对于 CD 音频,我使用 A Better CD Encoder (abcde) 来抓取 CD,命令为

abcde -o mp3

这会将 CD 抓取到当前目录中的 MP3 文件中。由于 abcde 使用 lame 进行 MP3 编码,因此您可以最精细地控制创建的文件的详细信息,但默认设置实际上对我来说已经足够好了。

Curve 上的视频屏幕分辨率为 320x240。它接受 MP4、3GP 和 WMV 格式的视频。显然,我们自由软件类型的人更喜欢使用 MP4(即使它是专利格式)而不是 WMV。我不知道有什么好的免费工具可以创建 3GP(第三代手机)文件。

自由软件视频编码器的瑞士军刀是 FFmpeg。对于 Debian 发行版,您可以通过将 debian-multimedia.org 上的存储库添加到您的 /etc/apt/sources.list,然后运行sudo apt-get update && sudo apt-get install ffmpeg来获取它。从任何受支持的视频开始,转换就像这个命令一样简单

ffmpeg -i myvideo.avi -s 320x240 -b 64k --ab 64k myvideo.mp4

这将尺寸设置为 320x240,并将音频和视频比特率设置为 64kbps。您可以根据自己的喜好调整这些设置。请注意,Curve 只能播放使用 MPEG 4 Part Two Advanced Simple Protocol (ASP) 压缩的视频。H.264 或 MPEG 4 Advanced Video Codec 受支持。

可以使用 cp 或像 Krusader 这样的文件管理器将音频和视频文件传输到手机。音频文件应存储在 /Blackberry/music 中,视频应存储在 /Blackberry/videos 中。您可以在其中创建子文件夹以方便自己,但手机将忽略它们,并且仅根据嵌入在文件中的元数据(也称为 ID3 标签)对媒体进行编目。音乐可以通过艺术家、专辑、流派或播放列表查看。媒体应用程序与 M3U 播放列表配合使用,可以使用 fapg(FAst Playlist Generator,请参阅资源)创建 M3U 播放列表。M3U 播放列表是简单的文本文件,可以使用任何编辑器修改。

当 Curve 从计算机断开连接时,媒体应用程序会扫描音乐和视频目录,并生成可用音频和视频文件列表。这需要几分钟,具体取决于 microSD 卡上存储的内容量。您的歌曲可能要等到扫描完成才能可用。

与 Evolution 同步

NetDirect 有一份出色的文档,解释了如何使用 Barry 将您的 BlackBerry 联系人和约会与 Evolution 同步:www.netdirect.ca/software/packages/barry/sync.php。为此,您需要安装 Debian 软件包 multisync-tools 和 libopensync0。

在同步之前,您必须创建一个同步组,其中包含 Evolution 和 Barry opensync 插件(列表 1)。

列表 1. 设置 msynctool 以与 Evolution 和 BlackBerry 一起工作

msynctool --addgroup evo-barry             # Create the sync group
msynctool --addmember evo-barry evo2-sync  # dd Evolution's OpenSync 
                                           # plugin
msynctool --addmember evo-barry barry-sync # Add Barry's OpenSync 
                                           # plugin
msynctool --configure evo-barry 1          # Opens an editor for the
                                           # evo2-sync config file
msynctool --configure evo-barry 2          # Opens an editor for the
                                           # barry-sync config file

除非您更改了 Evolution 数据文件的默认位置,否则您无需更改 evo2-sync 的配置文件中的任何内容。barry-sync 默认配置文件如列表 2 所示。

列表 2. barry-sync 配置文件

# This is the default configuration file 
# for the barry-sync opensync plugin.
# Comments are preceded by a '#' mark at the 
# beginning of a line.
# The config format is a set of lines of .
#
# Keywords available:
#
# DebugMode - If present, verbose USB debug 
# output will be enabled
#
# Device - If present, it is followed by the following values:
# PIN number - PIN number of the device to sync with (in hex)
# sync calendar - 1 to sync calendar, 0 to skip
# sync contacts - 1 to sync contacts, 0 to skip
#
# Password secret - If present, specifies the device's 
# password in plain text
#

#DebugMode

Device 3009efe3 1 1

#Password secret

除非您为 Curve 分配了密码,否则此处唯一需要更改的是将 3009efe3 替换为正确的 PIN 码,您可以使用以下命令找到该 PIN 码btool -l。如果您在同步时遇到问题,可以取消注释 DebugMode。在同步之前,应关闭 Evolution 及其后端服务器

evolution --force-shutdown

然后,同步就像

msynctool --sync evo-barry

一样容易 注意:在我的 Debian 系统上,msynctool 无法连接到 BlackBerry,除非它能够以提升的权限运行

sudo chmod +s /usr/bin/msynctool

您还可以更改 USB 设备上的权限以纠正此问题。

同步仍然处于 alpha 阶段,它可能会破坏您的数据!在同步之前,请务必备份 Curve 和 Evolution 数据库。

总结:替代方案和未来

我的 BlackBerry 没有连接到 BES(BlackBerry 企业服务器),因此我没有测试 Barry 和企业系统之间的任何交互。

还有另一个免费软件项目,其目标是使 Linux 用户可以使用 BlackBerry 功能。XmBlackBerry 是一个单独的 GUI 程序,而不是 Barry 的一套主要由命令行工具组成的套件。我选择 Barry 是为了我自己和本文,因为 XmBlackBerry 一年多没有发布版本了,而且我在命令行上感到很自在。如果您有 BlackBerry,请关注 XmBlackBerry,它正在积极开发中,并且看起来很有希望。

Barry 和 XmBlackBerry 都支持使用手机作为网络共享调制解调器,将您的计算机连接到蜂窝数据网络。但是,目前,两者都无法与 8320 正确配合使用。我已经向 Barry 开发人员报告了此问题,并且在您阅读本文时,该问题可能已得到修复。我希望如此,因为使用 Curve 作为调制解调器几乎是我将笔记本电脑启动到 Windows 的唯一原因。

当我在 20 世纪 90 年代初开始使用 Linux 时,有一种真正的冒险感。每次安装程序时,您都可能需要解决某种问题或发明一种解决方法。我不后悔 Linux 和自由软件如此完善且通常易于使用。尽管如此,再次使用尖端软件仍然令人兴奋。Linux 中的 BlackBerry 支持仍然是一项正在进行中的工作,但这正是最初吸引我们许多人参与其中的那种有趣的挑战。我期待看到事情如何进展。

Carl Fink 在他的职业生涯中曾担任博物馆导游、教师、系统管理员、程序员和企业培训师。如今,他以作家为生,并将大部分业余时间用于举办 I-CON,这是一个在长岛举行的年度科幻小说大会。他的博客是 nitpicking.com

加载 Disqus 评论