几个有用的 maemo 程序

左上角是任务切换,然后有一个时钟,我设置了一个闹铃(铃铛),然后是 2G 的网络,电池,wifi 和 status,然后是 CPU 和内存使用指示。最后有一个联通的标识。下面设置了几个 widget,左上角是“会话”,短消息和 IM 信息会显示在这里,右下角是 omweather,显示天气。另外右上有一个 IP 地址,方便我连接到 N900。

frozen bubble 2

就是手机版的泡泡龙,使用键盘(方向键)操作即可。麻烦的事情是退出,经过搜索,发现退出按逗号。

pcmanx

就是 gtk 的 terminal 客户端,默认是 Big5 的站点,配置界面比较乱,还好可以保存到 favorate 里面,然后编辑 ~/.pcmanx/favorite 文件即可(把 Big5 换成 GBK)。之后可以在 N900 上挂 bbs 了。

wordpress 的客户端

可以看评论,发帖,虽然不常用,但是没有笔记本的时候凑合下还不错的。

mBarcode

以后到商店里面可以用这个程序扫描记录商品信息,然后到网上看价格决定购买位置。通过插件支持各种条形码,包括上面那个 Qr code

comic widget

闲暇时间看看 comic 多好,这个 widget 支持非常多的 comic 下载,连 phd comic 都有

不过 widget 的大小只能用下面的方式控制:

echo "600,320" > .comic-widget/size.cfg

maesynth

用 N900 弹琴?

tuxrace

利用企鹅肚皮滑雪,使用加速度感应和触摸控制。

写在 Nokia 和 WM7 合作后

我不相信 meego 会因为 Nokia 的退出(或者更准确点说 marginalization)而被冷漠,我想应该存在一种硬件能够被 open source 社区好好的商业化,成为 geek 追求的目标!

——————
And I will put enmity between you and the woman, and between your seed and her seed; it shall bruise your head, and you shall bruise his heel.

几个有用的 maemo 程序

Easy debian 和 maemo

maemo 里面可以通过 easy debian 使用 debian 的绝大部分程序。还会有人说 maemo 上面的程序少么?

但是 maemo 和 debian 还是不一样的。下面简单的介绍一下几个为什么。

maemo 是 ARM A8 的芯片,因此如果二进制文件是兼容的 ARM 格式就可以直接运行。debian 提供了好几种 arch 下面的编译版本,其中 ARM 包括 arm 和 armel,现在主要用的就是 armel 那个 arch。

问题是 armel 的 deb 是不是能够直接在 maemo 下面安装?答案是 no。我们知道 maemo 和 debian 使用的 compilation toolchain 未必相同,这意味着 maemo 使用的基础设施(主要是库)和 debian 可能是完全不同的,两者有完全不同的依赖关系 DAG,因此 debian 的 deb 可能不能直接拿到 maemo 上用。

另外一个严重的 constraint 是 maemo 的文件系统划分方式,/ 仅仅 200Mb+,大一点的程序必须得放在 /opt 里面(这个是 2G 的空间),所有大一点的 maemo 程序都需要 optify,以便为 / 保留足够的磁盘空间。而更大的空间 /home/user/MyDocs 是 FAT 分区的不知道能不能用于安装。

那么一个简单的解决方案就是 chroot。easy debian 提供的解决方案就是下载一个 1.5G 的磁盘镜像,通过 mount 将该镜像关联到某个目录下,之后 chroot。这个镜像是一个完整的 debian 发行版,应该可以用 qemu 这类支持 ARM 的虚拟机进行安装,装好后就能拿过来用了嗯…

问题是如果觉得 chroot 不爽,因为其程序需要的 so 都是从 chroot 里面重新加载的,不能充分的利用原有系统(即 maemo)的库,所以最好的解决方案还是将 source code 拿过来,在 maemo 提供的开发环境下重新编译和连接,这样得到的是最合适的。

根据 maemo 的 developer guide,似乎从源文件 port 一个程序相对容易。下面的问题是如何利用 debian 的系统进行 repacking。比较简单的做法可能就是用 apt-get 获得对应的 src,然后需要根据 maemo 的特点进行修改(至少要 optify),然后重新 build 即可。一般好像都会去掉不需要的文档什么东西。

嗯,后面先 port 个简单的东西试试看,比如 sshfs 什么的…

——————
And the woman said to the serpent, We may eat of the fruit of the trees of the garden:

Easy debian 和 maemo

maemo 资源

终于下决心入手了 Nokia N900,开始尝试。

装电池和 SIM 卡

后盖是卡住的而不像某些手机是划开的,所以打开就是找到留下来用来撬的缝暴力的撬。

电池很大,但是不是很经用,理论上 WIFI 打开只能用 8 小时。但是我很暴力的装机,发现 4 小时之后差不多就能耗掉得差不多。看来 CPU、WIFI、GPS 全开了,满负荷,这个也不能撑多久的。

SIM 卡的那个小盒子是可以滑动的,滑动一点后可以锁定或者可以打开。N900 支持 2G 和 3G 的手机网络,连接后会显式对应的字样和信号强度。原来的 Nokia 手机真的老了,天线不是很好,到了楼里面几乎没有信号,N900 显示了 4-5 格,看起来这边的信号还是不错的。

电池盒里面有所谓的 IMEI,可以与机内 settings 中 about product 对比。这个网站提供了基本的查询结果。

Apple 和现在不少 android 的手机都做的无比清薄,而 Nokia N900 硕大的身躯的确会让不少人失望。有的人却觉得拿在手上更有质感。who knows… 我的感觉的确比较大,跟一般的小数码相机一样。

开机

按住开机键,屏幕下方的 LED 会缓缓变亮,到最亮时才正式开机(关机恰好是从亮到熄灭),开机画面是四盏灯,全部亮后就进入到图形界面里面了,等待一些默认的 widget 出现后就可以操作了。默认情况下有 4 个虚拟桌面,可以用手指甲或者自带触摸笔(stylus) flip 切换。照理说 N900 的 CPU 比较一般,但是带有 GPU,所以如果启动进程不多效果应该尚可。就我现在的经验,那种不是很 heavy 的程序开 3-4 没有问题,但是像 browser 这种,还是不要太勉强了。尽管 N900 的 browser 算是比较好的。

硬件简介

N900 有两个摄像头(后盖上那一个用于拍照,分辨率可能更好一点,是 Zeiss 贴牌的镜头,等效 135 相机的焦距是 30-35mm 之间的定焦,光圈到还不错有 2.8,Standord 在这上面弄了一个开源 computational platform;前面那个是视频聊天的时候用的,感觉不是太好);内置了加速度感应器(有人写了程序用这个来计步);GPS 感觉效果还行,但是没有内置 google map,带的那个 OviMap 打开非常慢。600MHz 的 CPU 相对于现在流行的高端都是 1GHz 的主频乃至双核的设计来说寒碜了不少(据说可以用某内核将其超频到 1.15GHz…)。不过我不准备把手机当游戏机来使。内存看介绍,好像是 256Mb,另有 756Mb 做 swap?这个配置不知道是不是也不算好。用做存储的,好像 2Gb 是存放程序,剩下 27Gb 是挂载在 /home/user/MyDocs 下面让用户存放自己的东西的。可通过 TF 卡(也就是 micro SD)扩展 16Gb。多数情况下存储不是一个大问题。相机自带的是标准的 3.5mm 耳机,这种耳机一般是 3 个触点(不带麦克风)或者 4 个触点(带麦克风),买的时候如果需要麦克风的不要买错了(学名叫 3.5mm 4-contact TRRS connector,具体解释见这里)。手机本身似乎没有 FM 调频的天线,必须接上耳机后才能收音。需要提一下的是 Apple 的耳机与 Nokia 的不是 compatible 的。

内置了蓝牙 2.1 和红外,前者可以用来扩展耳机、键盘等,也可用于与主机连接;后者可以用于控制支持红外的设备,如相机(经测试我的 D80 可以被遥控)、电视机等(需要专门的程序来发出需要的频段的信号)。另外,如果你有基于 Linux 的机顶盒的话,很可能 N900 可以通过 wifi 对它们进行遥控。

总体上来说,现在的配置只能算是够用,但是称不上“好用”。

程序的安装

Nokia 其实是基于 debian 系搞的,做了一个图形化的 App.Manager,但是感觉不好用,主要问题是一次只能装一个程序,然后装完之后就会刷一次数据库还是怎么,非常慢,不如 TUI 的 aptitude 或者 CLI 的 apt-get 爽快(不过毕竟 N900 的键盘不是正常电脑的键盘,连输入个管道符都会大费周折),可是 N900 上面的 aptitude 现在似乎不行,老是 seg-fault。主要的资源现在是 maemo.org 提供的 extra、extra-testing 和 extra-devel。这个网页提供了很多别的 repository。

另外,通过 easy debian 可以从 debian 的 repository 里面获得需要的 package,但是这似乎是通过 chroot 实现的,不知道能不能简单一点,debian 里面的 arm 和 armel 是对 ARM 体系结构的支持,现在似乎用的是后者。

由于默认的分区结构所给系统分区比较小(2G),因此像 easy debian 等程序必须将部分程序放在 27G 的分区上,这要求对 dpkg/apt-get 等有更深入的学习。

中文输入

中文的处理有 mobile 的 SCIM 解决方案(MSCIM),里面提供了 google pinyin 和 penpower 的解决方案;另外还可以安装 ibus。输入的感觉挺好,比手机上输入短消息要快捷许多。另外 penpower 的手写输入据说很不错,尚未尝试。

多数程序里面直接 ctrl-space 就能激活需要的输入法了。另外很多快捷键和计算机上的没有太大的差异。

通话、邮件和联系人

联系人不能使用用户指定的分组是最大的遗憾。具体讨论这里有。另外,import contacts from SIM 也不是很顺利,不知道是不是联通的 SIM 卡不被支持,我花了 1 天时间总算把 contacts 搞定,可以从 IM 和 social nets 里面 import,之后通过 merge 将信息进行合并即可。

现在的通话可以通过 2G/3G 以及 skype、google talk 进行,而且互相并没有差异,skype 和 gtalk 甚至可以用视频,不过似乎前置的摄像头效果不是很好,auto-gain 什么的不大对。通过很多 IM 的插件实现了绝大多数主流的 IM,和 SMS 整合在一起,也非常的方便。不知道能不能做进一步的管理、搜索内容,或者控制 message box 的大小。

邮件感觉还行,据说邮件多了会挂,现在就加了两个 gmail 的通过 IMAP 取信。也支持 exchange server,这样在公司里面干活也可以用它取信,快速的回复消息什么的。

另外由于还支持 cisco 的 vpn,估计可以配置好公司的 VPN 连接,之后就可以连回公司的内网取信了。当然 webmail 必然支持,那个浏览器简直跟桌面的没啥大的区别。

锁定

电源键 + secure device 用于锁定,默认的 lock code 是 12345,要是你不小心进去了的话,可以到 settings 里面的 device lock 更改。N900 侧面还有一个滑块,可以用来关闭屏幕。有人好像也弄了一个 apple 类型的 swipe to unlock,但是似乎觉得没啥必要。

后面将针对 N900 上的应用程序进行一些介绍。

——————
And Adam said, This is now bone of my bones, and flesh of my flesh: she shall be called Woman, because she was taken out of Man.

maemo 资源