上月二手购入传说中的Moto Atrix4G(ME860)手机——就是那个一秒变笔记本电脑的神器手机。为了让这个笔记本电脑更好用一点,自己折腾了一番,记录一下。
折腾之前还有一些刷机、ROOT、精减、刷GMS等工作是玩Android手机的基本工作,从略。在入手LapDock设备之前还试过了免Dock的WebTop玩法,个人觉得不是很实用,也从略。这里主要说说刷Ubuntu的事情。
目录:
1、WebTop2SD(含config,Lxterminal,Synaptic安装)
2、WebTopScripts(含chromium安装)
3、常用软件安装(thunar, eog, abiword, gnumeric, chmsee...)
4、替换BusyBox(安装xz, coreutils, findutils, grep)
5、安装JAVA(OpenJDK, FreeMind)
6、安装Pidgin
7、总结
Webtop里带的这个ubuntu是被MOTO精减过的,只有两个应用程序:Firefox和文件管理器。
其它所有的应用要么是Android版的,在屏幕上显示一个小窗口模拟手机运行Android应用,不过跟手机不同的是这里是以标签式多任务方式。
要么是Web版的,比如图中的QQ就是WebQQ,在Firefox里跑。
所以入了LapDock以后刷全功能ubuntu是必须的。
本安装方法需要手机已ROOT,但不需要解锁。
1、WebTop2SD(含config,Lxterminal,Synaptic安装)
安装方法见XDA的这个:http://forum.xda-developers.com/showthread.php?t=1119555
下载webtop2sd-2.0.1.apk,安装方法见原帖截图。
有几个注意事项:
首先是要把手机选项中显示屏关闭设置为永不关闭,然后在选项里把SD卡卸载掉,为防止电话短信的干扰,最好设置为飞行模式(我是直接就没有插SIM卡)。
然后是必须要有TF卡,因为要单独分区,所以不能装在手机内存里。
还有就是分区大小选择建议在4-5G左右,太大可能导致分区或复制文件失败。
最后,如果安装失败,请重启手机后再试。如果重试时发生分区选项不可选,请拔出TF卡到电脑上用工具清空分区,再格式化为一个普通FAT分区后,再插回手机。如反复失败,请进入Recovery进行双wipe。
另外,有些文档说跑webtop2sd之前需要安装busybox或lxterminal之类的,那是对于老版本的webtop2sd,至少这个2.0.1版本是不需要的,这两个东西它会自己装上。
成功安装webtop2sd以后把手机插到Dock上启动webtop,在屏幕下方可以看到webtop2sd config的图标,启动之。
弹出提示更新APT什么的,选择“是”。应该会有两个弹窗,都选择“是”。点完后会很久没反应,请耐心等待。
弹 窗关闭后点左边的Administrator,右边会显示需要安装Lxterminal和Synaptic。先点Lxterminal的Install按 钮,然后程序会没有反应,请耐心等待,其间可以试着点击下面的Lxterminal图标,如果显示一个黑框一闪即消失,则说明还没有装好,继续等待。直到 点击Lxterminal图标可以显示出一个命令行窗口时才说明安装完成。
然后点击Synaptic的Install按钮,同样耐心等待,其间可以在Lxterminal中输入sudo synaptic,如果说命令找不到,说明还没安装好,直到新立得可以正常启动。这里会提示软件包损毁什么的,不用理睬,退出程序。
2、WebTopScripts(含chromium安装)
要修复全功能ubuntu的软件包依赖关系,需要跑一个脚本。见XDA的这个:http://forum.xda-developers.com/showthread.php?t=1192488
使用从google code下载的最新1.7版,比如放在手机内存的download文件夹中:
cd ~
sudo tar -Pxvf /sdcard/download/webtopscripts-1.7.tar
cd WebTopScripts/
sudo ./setup.sh
然后对弹出的所有窗口全都选是,其中有些时候会非常慢,因为要下载很多东西,请耐心等待。有条件的话建议连一个国外的VPN(VPN连接在手机的设置里),可以快很多。
另外,关于这个安装有一些个人建议,但不熟悉Linux系统的人不建议尝试:
首 先,这个脚本的原理是把所有的deb包从launchpad下载到WebTopScripts/packages目录下,但是如果中断后重新运行这个脚 本,它会把这个目录下文件全部删除,以确保其中不会有不完整的下载文件,但这样的话就会大大降低效率。所以,可以用 sudo vi setup.sh命令去编辑那个脚本,把其中rm什么packages的一句注释掉(在最前面加一个#),然后用迅雷去把所有deb包预先下载了放到 packages目录下再运行这个脚本,可以快很多。所有的deb包地址保存在WebTopScripts/scripts/config.txt文件 中。
正常情况下成功跑完这个脚本就能把apt完全修复了。然后就可以升级一下apt到最新版:
sudo apt-get update
sudo apt-get upgrade
完成以后就可以开始安装chromium浏览器。其实这个已经包含在webtopscripts1.7里了。
sudo WebTopScripts/install-chromium-browser.sh
同样的,如果没有用VPN或上述的预下载方法,这个过程会很慢很慢。
3、常用软件安装(thunar, eog, abiword, gnumeric, chmsee...)
这些都是apt里原本就有的,安装起来很方便,也可以用新立得装。不过这里还是以apt安装来介绍,因为命令行便于用文字说明,图形界面要截图太麻烦了。
sudo apt-get install awn-applets-c-extras thunar eog abiword gnumeric chmess openssh-client filezilla vinagre tsclient
对其中的软件作个简单的说明:
awn-applets-c-extras:一个系统主菜单程序,可以用AWN管理器把它添加到桌面栏上。
thunar:一个更快速的文件管理器。
eog:集成在文件管理器里的图片查看程序。
abiword:一个类似Word的文件编辑器。
gnumeric:一个类似Excel的电子表格程序。
chmsee:一个看CHM文件的程序。
openssh-client:SSH客户端。
filezilla:一个FTP客户端。
vinagre:支持VNC协议的远程桌面客户端。
tsclient:支持Windows远程桌面协议的客户端。
4、替换BusyBox(安装xz, coreutils, findutils, grep)
虽然webtop2sd已经把busybox装上了,但其中包含的工具程序功能相对弱一些,有一些功能选项不被支持,所以不是很够用。建议还是换掉一下比较好。
用预编译的二进制包安装可能也可以,不过覆盖掉busybox还是有一定风险的,所以我还是用源码编译另外安装了一份。因为新的程序在PATH里的位置在busybox前面,所以默认会用新的,只要把新的删除就恢复成busybox。这样安全一些。
在编译安装之前先把源码下载到内存的download文件夹中。其中XZ是一种新的压缩格式,在ubuntu 9.04的apt里还没有,所以也要下载源码安装一个。
XZ-utils最新版源码:http://tukaani.org/xz/xz-5.0.3.tar.gz
Coreutils最新版源码:http://ftp.gnu.org/gnu/coreutils/coreutils-8.15.tar.xz
Findutils最新版源码:http://ftp.gnu.org/pub/gnu/findutils/findutils-4.4.2.tar.gz
grep最新版源码:ftp://ftp.gnu.org/gnu/grep/grep-2.9.tar.xz
以下步骤依次是:编译前的准备工作,安装编译器和依赖库什么的,解压源码,分别编译安装——编译安装过程时间较长,可以开几 个lxtermnal窗口同时进行。
sudo apt-get install gcc libmpfr-dev
cd /osh/home/adas/
tar -xvf /sdcard/download/xz-5.0.3.tar.gz
cd xz-5.0.3/
./configure
make all
sudo make install
make clean
xz -d /sdcard/download/coreutils-8.15.tar.xz
tar -xvf /sdcard/download/coreutils-8.15.tar
tar -xvf /sdcarc/download/findutils-4.4.2.tar.gz
xz -d /sdcard/download/grep-2.9.tar.xz
tar -xvf /sdcard/download/grep-2.9.tar
cd coreutils-8.15/
./configure
make all
sudo make install
make clean
cd ..
cd findutils-4.4.2/
./configure
make all
sudo make install
make clean
cd ..
cd grep-2.9/
./configure
make all
sudo make install
make clean
注意:上面的操作是保存在 /osh/home/adas/ 目录下的。
因 为当前adas用户(webtop默认用户)的用户目录 ~/ (即 /home/adas ) 实际上是 /data/home/adas/ 而 /data 是Android系统的用户数据分区,总共只是1G左右的剩余空间,在这里放太多东西的话会导致Android系统崩溃然后循环重启。我第一次碰到这个问 题的时候重刷底包都救不回,还以为变砖了,后来才想到应该双WIPE解决。
而放到 /osh/home/adas/ 则不会有这样的问题,因为 /osh 是webtop2sd划出来的那个分区,至少有4-5G的空间,即使装完全功能ubuntu也还会有3个多G的剩余,通常够用了,而且就算是这个分区塞 满,最多webtop不能启动(可以通过重装webtop2sd解决),不致于搞坏Android系统。
5、安装JAVA(OpenJDK, FreeMind)
自从SUN被Oracle收购以后不久,Oracle就宣布不再向Linux提供官方JAVA。也就是说没法通过apt安装sun-java了。而gcj之类的JAVA方案兼容性实在太差,还好还有OpenJDK这个好东西。
不 过直接apt安装OpenJDK也是不行的,因为它依赖tzdata-java这个包,而这个包的版本必须与系统的tzdata版本一致。但是因为 MOTO升级了系统的tzdata包,所以导致与apt里这个tzdata-java包版本不一致,安装不能。只好手工安装了(以命令行下载为例):
cd /sdcard/download/
wget http://launchpadlibrarian.net/65851361/tzdata-java_2011c-1_all.deb
sudo dpkg --root=/osh -i tzdata-java_2011c-1_all.deb
sudo apt-get install openjdk-6-jre
cd /usr/lib/jvm/java-6-openjdk/jre/lib/
mkdir fonts
cd fonts/
mkdir fallback
cd fallback
sudo ln -s /usr/share/fonts/truetype/DroidSans/DroidSansFallback.ttf
注意:上面最后几句是为了解决在JAVA中的中文显示问题,不作如此处理,中文在JAVA中将显示为方块。
装好OpenJDK以后就可以装个Java应用程序来试试效果了。以绘制思维脑图(MindMap)的工具FreeMind为例:
sudo apt-get install libjgoodies-forms-java simplyhtml libbcel-java libregexp-java libxpp3-java
cd /sdcard/download/
wget http://launchpadlibrarian.net/57682334/libjibx1.1-java_1.1.6a-2_all.deb
sudo dpkg --root=/osh -i libjibx1.1-java_1.16a-2_all.deb
以上准备工作完成以后,下载FreeMind 0.9.0到手机内存的download文件夹中:http://prdownloads.sourceforge.net/freemind/freemind-bin-max-0.9.0.zip?download
cd /osh/home/adas/
mkdir bin
cd bin
mkdir freemind
cd freemind
unzip /sdcard/download/freemind-bin-max-0.9.0.zip
chmod a+x freemind.sh
现在就可以用 ./freemind.sh 启动freemind了。不过为了方便使用,还是建议在主菜单里创建一个项目:
cd /usr/share/applications/
sudo vi freemind.desktop
上面这个vi可以换成任意一个你习惯的文本编辑器,比如gedit。然后输入以下内容后保存即可:
[Desktop Entry]
Name=FreeMind
Comment=FreeMind 0.9.0
Exec=/osh/home/adas/bin/freemind/freemind.sh
Icon=/osh/home/adas/bin/freemind/freemind.exe
Type=Application
Categories=Office;Application;
6、安装Pidgin
这个是挑战性最高的任务。在实践之前,我完全没有想到装这个东西会碰到这么多的麻烦事。
其实apt里本来是带着pidgin的,但是是2.5.5版本,太老了,连MSN和Gtalk都连不上,别的聊天工具可能可以连得上,但我又不用。
本来想源码编译安装最新的2.6.6,但是它依赖的包实在太多了,有好几十个,要是把全部源码找齐了编译实在是一件太庞大的工程。试过一次,折腾了好几天也没成功,作罢。
后来想装个gentoo prefix来解决自动依赖的问题,但是gentoo prefix的ARM版实在太out了,本身还有一堆的依赖问题无法解决,折腾了好几天,也没有成功。
再后来决定还是像chromium那样自己找预编译包安装。但是2.6.6可耻滴依赖最新版本的 libc6 包,而这个是系统核心文件,在手工升级以后,系统崩溃了……
最后总算找到可以在当前MOTO提供的 libc6 版本下可以运行的 pidgin 最高版本 2.6.4 ,然后手工找出所有依赖包,一一下载安装手修复依赖关系后,总算装上了。幸运的是这个版本可以顺利连接MSN和Gtalk了。
安装方法(以下下载链接均可以使用工具下载,不过这些文件要注意放到一个单独的文件夹里,不要和其它.deb文件放在一起):
sudo apt-get install libgtkspell0 libgadu3 libgstfarsight0.10-0 libmeanwhile1 libsilc-1.1-2
cd /sdcard/download/
mkdir pidgin
cd pidgin/
wget http://launchpadlibrarian.net/36664335/pidgin_2.6.4-1ubuntu3_armel.deb
wget http://launchpadlibrarian.net/51251576/libatk1.0-0_1.30.0-0ubuntu2.1_armel.deb
wget http://launchpadlibrarian.net/36664334/libpurple0_2.6.4-1ubuntu3_armel.deb
wget http://launchpadlibrarian.net/40396436/libstartup-notification0_0.10-1build1_armel.deb
wget http://launchpadlibrarian.net/36663981/pidgin-data_2.6.4-1ubuntu3_all.deb
wget http://launchpadlibrarian.net/35147232/libidn11_1.15-2_armel.deb
wget http://launchpadlibrarian.net/32936026/libperl5.10_5.10.0-24ubuntu4_armel.deb
wget http://launchpadlibrarian.net/40396006/libsilcclient-1.1-3_1.1.10-2build1_armel.deb
wget http://launchpadlibrarian.net/37033473/libzephyr4_3.0-1_armel.deb
wget http://launchpadlibrarian.net/32936028/perl_5.10.0-24ubuntu4_armel.deb
wget http://launchpadlibrarian.net/32936023/perl-base_5.10.0-24ubuntu4_armel.deb
wget http://launchpadlibrarian.net/32838159/perl-modules_5.10.0-24ubuntu4_all.deb
wget http://launchpadlibrarian.net/32303399/libxcb-atom1_0.3.6-1_armel.deb
wget http://launchpadlibrarian.net/32303403/libxcb-event1_0.3.6-1_armel.deb
wget http://launchpadlibrarian.net/32303401/libxcb-aux0_0.3.6-1_armel.deb
sudo dpkg --root=/osh -i *.deb
顺利的话,这样应该就能装上。如果还有报什么依赖问题错误,请跑一下:
sudo apt-get -f install
注意!!!这个时候[不要]按“Y”。先仔细看一下靠近最后有一行说明:安装了多少程序,升级了多少程序,将要卸载多少程序,还有多少程序不变。其中将要卸载的程序那一项必须是0才可以按“Y”,否则按“N”。然后运行:
sudo dpkg --root=/osh --configure -a
看看具体还有什么依赖性问题,然后一一手工修复,直到正确安装成功为止。
7、总结
这样折腾完以后才真正像一个可以干活的机器了。现在在我手里,它已经基本上取代了我的上网本的绝大部分功能,出门时都是带它。
一则体积重量都小。LapDock比MacBook Air还要薄,只是深度略大一点而已,重量也更轻。加上手机也没多少负担。
二则电池续航不错。正常使用6个小时无压力。
三则屏幕分辨率是1366X768,比上网本的1024X600强多了。
四则我需要的功能全都有——这就是开源的好处啊,大部分软件即使没有提供ARM版,也可以拿源码过来编译一下用。
唯一的问题就是:的确还是有一些闭源软件(比如某些硬件的驱动,或特定的软件)提供的Linux版本只有X86的,没有ARM的。不过这个是小问题,实在不行我还有VNC和TSC可以远程连接到X86平台的桌面上去弄。
=============广告的分割线================
不知道大家对于著名的0bug老师是否还有印象?
回顾两年前…《从技术问题变成RPWT》和《不信的是鬼》…
前几天欣喜地看到肖老师的留言:
-
-
我是作者马甲!
借贵方宝地坐个广告哈。
《0bug-C/C++商用工程之道》作者已经公开,欢迎大家下载批判性阅读哈。
地址在这里。
http://tonyxiaohome.blog.51cto.com/925273/813229同时欢迎点评作者和LZ的RP。
此贴拍照,静待被删。
80楼
tony_xiao 6天前 13:43发表
居然能在两年后还能吸引到肖老师大驾光临来作广告,真是令我这小破地方蓬荜生辉啊,这个必须特别广告一番。
转载自原文链接, 如需删除请联系管理员。
原文链接:在Moto Atrix4G手机里安装全功能Ubuntu记录(特附友情广告一则),转载请注明来源!