这 Palm Pre 其实已经没有所谓的客户端了,因为很多功能都是腾云驾雾的。剩下就是一大堆视频、音乐、图片啥的不便于在云上飞的东西,可以在本地插 usb 线传,蛮方便。不过我特别不喜欢插 usb 线,原因就是 Pre 的 usb 口周围的塑料内应力太高太容易裂了,usb 口盖子的塑料交联程度太低太容易刮出手术刀都切不断的塑料丝,而且这盖子不推开滑盖也很难打开,很烦人。
不连 usb 那就只能通过无线方式了。别种手机可以用蓝牙来连电脑传文件,但是这 Pre 系列的蓝牙不知道为啥只能搞音频应用。所以只能 wifi。不过这也好,蓝牙数据传输又慢又不稳定,还真不如用 wifi 来的方便。
不过要真要实现通过 wifi 管理手机还要做不少准备工作。
首先手机上要安装上 ssh 服务。这通过 Preware 装个 OpenSSH 就搞定了。管理文件的话用 SFTP 的方式比较方便,后面会说,所以顺带也把 OpenSSH SFTP Server 装上。
其次,需要在手机上生成一个公钥密钥对。公钥留在手机上,密钥留在电脑上,用来给连接手机做认证和加密。要完成这一点需要在手机上运行一条命令。如果手机上开不了终端窗口,就需要连 usb 线用远程终端来搞定。1.4.5 的时候有个叫 Terminal 的 app 可以开终端窗口,2.1.0 的时候这 Terminal 的升级版暂时还没出来,所以耐不住寂寞刷成 2.1.0 过后只能连 usb 了。也没关系,反正刷完机的时候 usb 是连着的,不妨在用 WQI 装上 Preware 过后顺带把这一步做完,一次刷机只插拔一次 usb 线,可以接受。
这里要用到一个小工具:PuTTY,一个功能丰富的远程终端。但是光插 usb 线并不能让这个终端连到手机的系统上,毕竟 usb 线不是网线,所以还需要一个叫 novaproxy.py 的小脚本程序来给 usb 接口做个翻译。但是很不幸,这脚本需要 Python 解释器,所以完成这一步需要去下三个东西…东西准备好了过后照如下步骤来搞(参考):
- 安装 Python(版本必须是 2.6.x 或者 2.7.x,新的 3.2 不能解释 novaproxy.py)
- 运行 novaproxy.py,看到提示说开启了什么 8023 端口就表明运行无误,保持窗口开启
- 运行 putty.exe,地址:127.0.0.1,端口:8023,连接方式:raw,然后开启终端
- 输入命令:
ssh-keygen
- 输入命令:
mv /home/root/.ssh/id_rsa.pub /home/root/.ssh/authorized_keys
- 输入命令:
cp /home/root/.ssh/id_rsa /media/internal/id_rsa (注,这一步不是必需的,参见后文)
好了,这步就搞完了。这个终端是 root 权限的,输入要小心别搞错。输 ssh-keygen 过后会有提示要输入东西,三个提示都直接回车好了。从 U 盘根目录下把 id_rsa 文件拷到电脑随便什么地方,拷完就可以拔掉 usb 线了。关掉 PuTTY 和 novaproxy.py 的窗口。
这个步骤的核心是生成公钥密钥对,把公钥改名成 authorized_keys(这个名字以及文件的路径一定要对),然后把密钥拷到电脑上,至于具体怎么操作可以有很多办法,上面这个就是一种通用办法。
1.4.5 的系统可以在手机上用 Terminal 来运行后三条命令,再从 U 盘把 id_rsa 拷出来,如果不想连 usb 线拷密钥文件,可以通过邮件啥的把文件发出来。不过用邮件发的话要求执行完上面的第 6 步,因为手机里的程序看不到 U 盘目录以外的地方,所以 1.4.5 以后的系统就不用尝试了,因为没有 Terminal,必须要连 usb 线输命令,那自然直接拷文件是最方便的。另外还有一种方法,前面不是用 WQI 装 Preware 么,所以上面弄完第 5 步过后可以直接用 WQI 把 id_rsa 拷到电脑上,连 U盘 模式都不用切换了,最简单。
下面就来用 wifi 连手机。保证手机和电脑处与一个网段里,要么两个东西都连同一个无线路由器,要么电脑做热点让手机连,要么手机做热点让电脑连。连好后查出手机的 ip,后面要用。完事过后我们要去找个小工具,叫做 PuTTYgen,用来生成 PuTTY 在 ssh 连接认证里要用的密钥文件。这里讨个巧,找个 WinSCP 装上,里头就带了一个 PuTTYgen,而这 WinSCP 等会儿还有用处。装好 WinSCP 过后,照下面来搞:
- 运行 WinSCP 安装目录下的 PuTTY 目录下的 puttygen.exe。用菜单 Conversions 下的 Import Key 导入刚才的 id_rsa 文件,然后点下面的 “Save private key” 保存成一个后缀是 ppk 的文件。这个文件一定要存好,弄丢了就得连 usb 线照前面的再来一次了
- 运行 putty,在 Connection/SSH/Auth 里设置 Private key file 为这个 ppk 文件
- 地址:手机 WIFI 地址,端口:22,连接方式:SSH,然后开启终端
- 在终端里输入用户名:root
好了,现在就通过 wifi 登录到手机的命令行了。权限依然是 root,凡事要小心。
用命令行管理手机的操作系统还行,但在手机和电脑之间传文件并不方便,特别是从手机传出到电脑的时候。要管理文件的话就要用到前面提到的 SFTP 方式,而 WinSCP 就是个图形化的 SFTP 客户端,正好和前面装的 OpenSSH SFTP Server 配套使用。
前面弄过了 wifi 连终端,这里用 WinSCP 就十分简单了。运行 WinSCP,照刚才 PuTTY 的样子填好地址、端口以及密钥文件,然后就可以登录上手机了。左边是本地文件系统的列表,右边是手机上的,尽情的操作吧。这个 SFTP 客户端里实际上也是 root 权限的,还是要凡事小心。
照上面的弄过一次过后,以后再想用 PuTTY 和 WinSCP 都只需要用当前手机 wifi 的 ip 就能连上了。虽然前面那些麻烦了点,但是一劳永逸。
还有,手机 U 盘目录里头应该会有不少中文的文件或者目录,所以还需要让 WinSCP 用 UTF-8 编码来显示文件和目录列表,不然都是乱码,在 WinSCP 登录那个对话框里头找“环境”这个设置项,打开文件名 UTF-8 编码就行。PuTTY 也可以设置 UTF-8 编码显示,但是貌似字体渲染不支持中文,都是问号,所以管理文件还是用 WinSCP 吧,要输点小命令的时候才用 PuTTY。
用远程终端和个 FTP 软件软件来当手机的客户端看起来土土的,还有点 geek。-_____-!
ps. 以上方法在 1.4.5 和 2.1.0 下都能用。
ps. 手机上安装 OpenSSH 和 OpenSSH SFTP Server 还需要装点别的依赖包,列出来以防万一:OpenSSL、Optware Advanced Linux Command Line Installer、Optware Bootstrap、zlib。