yanxiaoyong的个人博客分享 http://blog.sciencenet.cn/u/yanxiaoyong 在路上……

博文

在安卓平板上运行LaTex、gcc和Python等等等等:)

已有 25672 次阅读 2013-2-6 21:08 |个人分类:资源共享|系统分类:科研笔记| Python, ubuntu, LaTex, Android, gcc


过年买了个7寸安卓平板,这玩意有1.6G的CPU,1G的内存,配置比我家那台06年的老笔记本高多了(CPU 1.2G,内存512M),但价格只有当时买这台笔记本的1/10左右,由衷赞叹计算机技术的进步和3c产品的贬值速度:)

这么强的配置,只用来上网打游戏看电影,实在是太浪费了。于是我花了一天时间,把它打造成了一个便携工作站。我平常主要的工作不外乎是看看文献,编编代码,写写论文,这些要是都能在平板上干,很多无聊的时间,比如等车坐车开会听听不懂的报告什么的,就有的打发了。

看文献好办,安卓上的pdf阅读器太多了。我常用的是智器阅读,在手机上就一直用这个,比较方便。美中不足是批注有点小问题,不如ezpdf的批注功能好,但比ezpdf流畅一些,特别是切边和调整亮度功能很实用。我两个都装了,再装个WPS,一般的文档阅读就都没什么问题了。

难点是写代码和latex。一开始装了个c4droid,但gcc怎么鼓捣都装不上,只能写c(c对我来说太繁琐了),被我扔一边去了。python倒是能用(可以装SL4A,支持多种脚本语言),但是只能调用一些android的包,我常用的numpy、matplotlib、networkx等没法安装,不怎么实用。至于latex,android上有个TeXPortal能编译tex文档,但只能在Google Play上下载,我进不去Google Play,只能作罢。

android用了linux的核,但linux下积累的那么多优秀应用在android上都用不了,这让人有点郁闷。好在有牛人们开发了linuxonandroid这个项目(见linuxonandroid.org),能在平板上运行ubuntu!这个有点厉害,赶紧下载一个,照着http://android.d.cn/news/4018.html里的方法装上,再在ubuntu里apt-get上texlive、gcc、mono-gmcs以及各种python的包。呵呵,现在这个平板不仅能编程,还能写论文呢,正儿八经的…………



后面是一些技术细节,供感兴趣的朋友参考。

1、系统必须得获取root权限,这个不同机器的root方法不同,网上一般都有教程,照猫画虎,几分钟就能搞定。(当然也可能几分钟就变砖,看rp了)

2、ubuntu的安装步骤参考http://android.d.cn/news/4018.html,很详细。但有一些需要注意的地方,linuxonandroid上的ubuntu有三个版本:core,small和full,分别是无X桌面,LXDE桌面和Gnome桌面的。其实干上面的这些事情并不需要启动X,命令行下就足够了。但是core版本的映像文件里剩余空间只有400m,根本不够装texlive的(texlive实在太庞大了!就没人出个精简版的?),所以要编译latex至少得下载small版本的,这个剩余空间有1G。但full版本实在没必要装,我连VNC viewer都没装,就没想着在平板上运行ubuntu的图形界面。因为上网、娱乐方面的应用,android已经做得足够好了,这方面ubuntu并没有任何优势。

3、http://sourceforge.net/projects/ubsh上的ubuntu.sh脚本有点小问题,第17行then前边多个空格,运行的时候会报错synatx error: 'If' unmatched ,删掉这个空格就行了。bootscript.sh里也有点小问题,在我机器上退出ubuntu时显示不能卸载某些设备,原因是我的busybox里没有lsof这个命令,但ubuntu里有,所以只要把228行的注释换到229行就行了。


4、进入ubuntu时,先在终端模拟器里su,再sh /sdcard/ubuntu/bootscript.sh。而退出ubuntu时一定要用exit,不要直接关闭终端模拟器,那样做会导致sdcard无法卸载,往PC上连平板时会无法挂载SD卡,必须得重启android才行。所以,正确的做法是敲exit,然后耐心等5秒(可以修改bootscript.sh的第230行,sleep 5是等5秒,少一点似乎也没事,我改成2秒了)。

5、ubuntu根目录下有一个sdcard目录,这个目录和android是共享的,代码文件可以存放在里边。然后,在android里编辑代码,保存后在ubuntu里编译,挺方便的。

6、代码编辑器我用的是droidedit,支持C、C++、C#、Python和latex代码的语法高亮显示(还支持很多其他的语言,不过我只用这几种),比较好用。当然,也可以用ubuntu里vi之类的编辑器,但我不会,就不说了。

7、编代码,找一个好的输入法太重要了!太重要了!因为,输入的符号实在是太多了!太多了!我机器里预装的google输入法,输入符号实在是痛苦,特别是每次输入{ }都是一个巨大的挑战,需要按三次切换键才能找到它们!我试用了好几个输入法,最后发现还是百度输入法for pad版最好用!这个输入法有两个非常nb的地方:第一、他的符号不是固定在键盘上的,而是根据使用频率动态排序的,这样常用的符号一般切换一次就能找到;第二,这个输入法带方向键,用linux的人都知道上下方向键的重要性,省太多事了!不过百度输入法的缺点是,竖屏时拼音是9键的,让我有点不习惯,好在编代码时也不怎么输入汉字。

8、我的ubuntu里,xetex编译有点问题,总是不成功,但pdflatex是好用的,latex+dvipdf也没问题。另外,由于只有1G的自由空间,我只装了texlive基本包,publisher之类的扩展包都没装,投哪个期刊就去下载它们的模板文件吧。

9、编译matplotlib时一定要记着加dAgg选项,类似这样:python plot_demo.py -dAgg,不然不能成功出图。出图建议用pdf格式,因为我不知道在android上怎么打开eps格式的图:)


其他的,想起来再说吧。安装或运行有问题的,别来问我,内事不决问百度,外事不决问周瑜吧 %¥@#*…






http://blog.sciencenet.cn/blog-404069-660103.html

上一篇:祝贺墨西哥获得男足金牌!
下一篇:一篇论文被BBC Future报道

4 刘淼 吴春国 徐硕 陈童节

该博文允许注册用户评论 请点击登录 评论 (10 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2020-8-15 06:00

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部