一、概述
在可以下载developer package后(点此链接,请读完),国内的用户也终于可以使用小i的第三方软件了。在那之后,我用了一段时间在网上寻找好用的第三方软件,并在我的机器上安装使用。正如在“建议重新规划板块”(点此链接)中提到的问题,我想在本文中就个人经验,给大家分享一下使用第三方软件的经验,帮助初用者更快的上手和更好的使用小i。
本文首先介绍软硬件环境,然后分析第三方软件的种类,并针对不同层级用户的需求,推荐选用不同的软件,最后对一些软件做了注解说明。
二、软硬件环境
Host PC: Windows XP SP3 或者 Linux系统(Ubuntu/Debian)
Target Machine: iRex iLiad 2代 (firmware 2.12)
(根据嵌入式开发上的习惯,把小i看作target机器)
网络环境:家庭局域网,一台路由器连接ISP,给一台pc和小i分配地址,全部有线连接
小i配件:1G trancend SD卡,8G trancend CF卡, 1G 台电u盘
usb键盘:IBM ThinkPad UltraNav旅行键盘 31P9490 (是的,小i可以外接键盘 )
三、我对小i的第三方软件的认识
首先google出来一个小i的第三方软件列表(点此链接),这里列出来了不少的第三方软件,更可以进入MobileRead深入了解它们。
由于小i是基于Linux的,所以它的开放性很好,不仅可以在上面移植Linux下的软件,更可以更换小i的操作系统,我都看到在上面可以运行Windows XP;更有一些动手能力强的人,hack硬件,为小i增加高容量电池(仅说明,不推荐自己搞)。这很让人振奋,不过同时,我始终认为过犹不及,应该针对不同用户的需要来扩展小i的功能。
小i的第三方软件,可以分成三类:A,扩展已有软件的功能;B,增加新的功能;C,gadget小工具。在用户方面,也可以分成三类:A,纯粹的使用者;B,具有一定计算机软件编程基础和使用Linux系统的经验,但并不熟悉Linux开发,也不太熟悉嵌入式系统开发的爱好者;C,专业嵌入式开发者。
1,先说软件。小i本身的软件系统就已经提供的软件,主要是pdf阅读软件,图形阅读和手写识别软件,其中第一个是最主要的,它是ipdf,可是在功能上它有许多缺陷,比如不支持全屏,分栏,书签,只能旋转90度等等。而新的all-in-one ipdf就扩展了它,更很可能被集成到小i的下一个官方发布版本中。属于这一类的还有对应在Host PC上用的,比如伴侣软件,手写识别合并软件(仅提及,这里主要讨论运行在小i上面的软件)。
B类软件很多,像文档阅读类(fbreader, cbz viewer, djvu viewer, etc);文件管理器类(mc, emelFM2, etc);网络浏览器类(dillo, minimo, etc);多媒体类(jukebox, madplay, etc);游戏类(xboard, xskat, etc);个人商务助理类(gpe, etc);专业开发人员类(mrxvt, beaver, jvm, evkb, ssh connection, busybox, etc);实用工具类(fbshot, stardict, calcoo, etc)都很实用,然而第一,它们有的很大,安装起来也麻烦;第二,小i内置的文件系统的空间并不大,这就限制了那些需要往文件系统里面增加文件的软件的使用;第三,由于小i的e-lnk屏刷新较慢,以及考虑延长它的使用寿命(我想类似控制台的软件,大量的输出会影响屏的寿命),具有复杂界面的软件应该少用。
C类软件就是为了增加趣味性,比如那个在屏幕上提供一个时钟的软件。这类东西我是不会用的。幸好它也不多。不能把桌面软件系统的习惯带到嵌入式系统上来的,虽然这也挺有诱惑性。我知道有的人喜欢把自己的PC桌面搞得漂漂亮亮的。
2,再说用户。对于A类用户,重点推荐安装all-in-one ipdf for 2.12,如果懒得转换txt文档和chm文档,还可以用fbreader,其它的就不需要了(如何安装ipdf和fbreader的步骤,参见下一节)。
对于B类用户,我估计这类的朋友大多数都是和计算机软件开发沾边的,既向前兼容A类用户需求,又要在小i这个平台上想熟悉Linux嵌入式开发的各方面技术,这是很好的打算,不过,我多说一点本文之外的东西,就是最好还是要踏踏实实的从Linux桌面系统学起,如果是这样,那就需要安装下面C类用户所需要的基本工具了。还有一些朋友大概只是想多用用能在小i上运行的软件,是纯粹的实践者,那就不需要再安装专业开发人员类软件,除非是想体验一下。我对这类软件是选择性使用的,只用了fbreader, emelFM2, xboard, gpe, fbshot。
对于C类用户,比如iRex自己的开发团队。但更多的是像MobileReader上的软件开发者,大多数还是为兴趣。这类用户需要熟悉小i的整个系统,像上面提到的专业开发人员类软件是首先要安装的,然后使用SDK开发小i的软件,当然这是更高级的话题了。我个人的定位则是B和C类用户之间,更偏向于后者,但我不靠开发小i的软件来生存,还是业余兴趣为主。
补充一下,对于B类用户,也可以在安装了专业开发人员类软件后尝试一些稍高级的内容,比如为小i分配swap空间,使用SD/CF/u盘安装一个完整的debian寄生系统(要用chroot进入,从而获得完整的linux环境),移植apt-get到小i,让小i可以联网安装软件等等,这些对提高个人技术有帮助。
四、第三方软件包的格式简介以及针对A类用户的安装步骤
先说一下使用小i扩容配件SD/CF/u盘的事情。论容量,SD卡仅能支持到1G,u盘到4G,而CF卡可支持到32G(我用的是8G创见133x的CF卡,FAT32文件系统,NTFS不行);论使用,u盘最好,即插即用,翻一下翻页键就能刷新出来,对SD的支持最差,一定要重启,至于CF卡,待机拔插后,我个人经验,是要进入系统设置后再出来,时不时地能再识别,仅靠翻页刷新是不行的;论省电,SD优于其它;论美观,u盘最差,漏出来一截呢;论Host端的支持程度,u盘 > SD卡 > CF卡。如果是笔记本,那SD就好于CF卡了,因为笔记本上基本都内置SD读卡器。CF卡读卡器最大,不便携带。另外,对高于4G容量的CF卡,在小i上不能正确显示剩余容量,但可以正常使用,在MobileRead上有帖子讨论这一问题,建议不要在小i上利用控制台或者文件管理器,从SD/CF/u盘上互拷文件,尤其是CF卡临近4G的时候,否则会出现问题。
上一小节是为了讨论对SD/CF/u盘的使用规划问题。拿出我的做为参考:CF卡做为主要放电子书(即books)的地方,news也放在CF;docs和notes放在内部存储器;第三方软件放在SD卡中;基本不用u盘(因为我可以用scp远程拷贝电子书到小i上的文件系统中,当然也包括了SD/CF卡)。
多数的第三方软件打包成zip格式,也有的是tar.bz2的,在Windows XP上7zip都可以识别。按照是否需要安装可以分成两类,像fbshot就不需要安装;即使是需要安装的,也可以再根据在小i界面上运行的起始位置分成两类。需要安装的软件包,实际上是ipkg格式(至于ipkg的详细说明,这里不再赘述,google之),再加上一些脚本文件(使得在小i界面上可以访问)。有点绕啊,下面实例讲解。
以fbreader为例,在SD卡上新建一个子目录pkgs,其中放入解压缩过的软件包,这些都在Host PC上完成。然后放入小i,启动后,进入mmc/pkgs/下对应的子目录中,小i上显示出一些条目,其中有带安装说明的条目,点击安装后(等待一段时间),会在SD的根目录下新建一个Programs子目录,实际上还有一个隐藏目录(在小i界面上看不到):_local子目录,汉化以及配置fbreader的图标都要动这里面的东西。在Programs中有一个启动fbreader的启动项,用它启动fbreader,以及一个uninstall子目录,其中放置卸载对应软件的条目。可见,对于A类用户来说,安装一个第三方软件相当容易。
至于对fbreader软件包的详细分析,不再赘述,那是高级话题。
问题是,并不是所有的第三方软件遵守这样的规范,有的软件并不需要安装到Programs中,其卸载的部分也不在Programs/uninstall中,所以那需要就“软件”论“软件”。
五、第三方软件注解
下面,我会提供第三方软件在MobileRead上的链接,那是完整的信息;同时,我这里对它们做了注解,而且为了方便大家下载,也提供了附件,由于有几个比较大,上传的时候失败了,需要从MobileRead上下载。
1,第一个一定要说明的就是all-in-one ipdf for 2.12(点此链接)。这个软件不会安装到Programs下,它实际上是为系统内置的ipdf扩展功能,提供了许多个不同的版本,可以在它们和irex内置的ipdf之间进行切换,并提供一个查询当前使用的ipdf版本的功能。具体上,通过在Windows XP中查看ipdf安装包的内容,它有8个子目录,这8个子目录放在小i中就是8个不同的ipdf版本,每一个都可以重复安装,而且在小i中还会多出来一个条目用来查询当前使用的ipdf版本。这8个子目录中的iRex就对应小i内置的ipdf版本。我选择的是支持书签功能的那个版本。
当再打开一个pdf文档的时候,会发现全屏了。如何操作呢? 点此链接。
2,对于fbreader,就可以参考这个论坛的相关帖子(点此链接),不再赘述。我这里提供了两个软件包,一个用来卸载fbreader,它依赖第一个附件,要先安装它。另一个是一套图标,比原来的漂亮多了,更适合e-lnk屏。使用方法:点此链接。提示:只要把SD卡放到Host PC上操作,就很容易了。
3,文件管理器emelFM2,点此链接。这个有些大,放不上来,请在MobileReader那里下载,就在一楼上。
4,其它的软件都不再赘述。下面介绍C类用户需要安装的那些基本软件。
5,在安装好第一个附件后,安装好mrxvt,我建议安装到内置的flash memory中,并从那里启动,因为运行速度快些。
6,升级busybox,这个不能从小i的界面上安装,要在控制台下进入对应目录,使用“ipkg install busybox_1.7.2-iliad-0.2_ereader.ipk”命令安装。然后就有了比如less,swapon/swapoff命令了。用小i自带的屏幕软键盘,输入太慢,所以我先想到了外接键盘。
7,安装evkb,参考这里:点此链接。让小i可以使用外置usb键盘。安装是简单的,我重新打包成zip格式以便上传。它提供一个服务器软件和内核驱动模块,问题是,它并不能随系统启动而启动,在接上我的Thinkpad ultranav键盘前,必须要先启动一下。它的安装程序就是为内核加载驱动模块并启动键盘事件的服务器。现在,我可以很快地输入,但是小i的屏刷新很慢,所以,我就想到了ssh远程登录。
8,安装ssh服务器,参考这里:点此链接。不用管那里搂主一开始说的那么多的东西,它只要安装上就行了。这个ssh服务器可以随系统启动而启动(从技术上,它用了一个轻量级的ssh服务器dropbear,并且在小i的文件系统/etc/rc5.d/下放了一个启动脚本),即在启动前就连接好小i到局域网,启动后就可以用任何ssh客户端软件,如secureCRT, putty,远程登录到小i的文件系统中,否则,就需要在控制台下用dhclient重新获取ip地址了。说到这里,熟悉嵌入式开发的朋友就很清楚了,在交叉编译好软件后,可以用这种方式很方便的调试软件。BTW,这个软件不能在小i上建立ftp服务器,不然就可以更容易的往小i中传输电子书,比如用filezilla client。