在安卓手机上运行 Perl 6

准备工作

  • 一只 Root 过的安卓智能手机(例如 Smartisan T1), 非 root 的可以使用 Termux

  • 下载并安装 busybox.apk 、 Linux Deploy.apk 和 JuiceSSH.apk

安装 Linux

下面以在我的锤子手机上安装 Debian 为例, 说明如何在手机上运行 Linux:

设置 Linux Deploy

打开手机上的 Linux Deploy.apk:

Linux Deploy

在下面工具栏「启动」->「停止」-> 「下载」 tab 中找到那个类似下载图标的按钮点击, 进入属性设置, 其中属性设置如下所示:

发行版至安装类型
安装路径至选择组件
Chroot目录至挂载点

其中,

选项 说 明
发行版 Debian 根据自己需要的系统选择
发行版本 jsssie 选择稳定版
架构 armhf 软件会自省判断 CPU 架构类型
镜像地址 http://debian.bjtu.edu.cn/debian/ http://ftp.cn.debian.org/debian/
镜像大小 不用填写 默认就行
选择组件 只保留 SSH 服务器 手机上用什么桌面环境
图形界面 取消勾选 手机上不需要 GUI
自定义挂载 勾选 在挂载点那里选择 sdcard0

设置完成后回到最上面的 Intall(安装 GNU/Linux), 就会开始下载镜像文件了:

开始下载

注意, 如果中间出现 E, 表示有错误发生, 某些文件下载失败, 需要停掉(Stop)重新开始:

Error

成功安装不会耗费太多时间, 如果网速够好的情况下, 我是连续下载了好几次都失败, 曾一度放弃不搞了, 可能是因为网络不稳定的原因, 这次选择在夜深人静的12点之后进行, 经过若干次(n>=2, n<=4)后最终下载成功:

Success

这个时候, 说明手机中的 Debian 系统已经成功启动了。但是我们怎么进去呢?还记得我们之前安装的 JuiceSSH 吗? 用这个软件进行连接。首先打开这个软件, 点击「连接」一栏, 进行 SSH 配置:

连接

然后点击右下角的加号按钮, 新建一个连接:

点击右下角的加号

在弹出的「新建连接」窗口中, 在地址栏中填入 127.0.0.1

新建连接

然后选中「认证」一栏, 在下拉列表中选择「新建」:

新建认证

填入用户名 android, 密码 changeme, 然后点击对号按钮完成设置:

JuiceSSH设置完成

这样设置就完成了, 如要进入 Linux 命令行界面, 就点击 JuiceSSH 中的连接 「127.0.0.1」或者你自己设置的昵称, 进入 Debian 8:

进入 Debian

这样还没完, 你会发现输入不了中文, 没有 vim 编辑器, git。。。

中文环境的配置

进入终端后用 ls查看含有中文名的文件时显示 ?????.txt 的乱码。然后终端里面也输入不了中文。解决方法的步骤如下:

重新配置 locales

在终端中输入:

dpkg-reconfigure locales

使用空格键选中需要安装的本地化的语言, zh_CN.UTF-8en_US.UTF-8

在终端里设置本地化为 zh_CN.UTF-8

服务器端命令

安装中文字体

首先安装 vim 编辑器:

sudo apt-get install vim

/etc/default/locale 文件里写入:

LANG=en_US.utf8
LC_CTYPE=en_US.utf8
LC_NUMERIC=en_US.utf8
LC_TIME=en_US.utf8
LC_COLLATE=en_US.utf8
LC_MONETARY=en_US.utf8
LC_MESSAGES=en_US.utf8
LC_PAPER=en_US.utf8
LC_NAME=en_US.utf8
LC_ADDRESS=en_US.utf8
LC_TELEPHONE=en_US.utf8
LC_MEASUREMENT=en_US.utf8
LC_IDENTIFICATION=en_US.utf8
LC_ALL=

/etc/environment 里面写入:

LANGUAGE="en_US:en"
LANG=en_US.utf8
LC_CTYPE="zh_CN.utf8"   
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"

然后在 deploy linux 这个软件中重启 Debian 系统, 就是先 Stop,再 Start,重新使用 JuiceSSH 进入 Debian 命令行界面, 再次输入中文就可以了:

哈哈哈

安装 Rakudo Perl 6

在手机上输入一系列命令不太方便, 所以在 Windows/Linux/Mac 下使用 ssh 工具可以连接到手机上, 直接在电脑上操作手机中的终端, 下面以 Windows 为例, 使用 ssh 工具(注意你必须已经安装了它)连接 Debian, 打开 Windows 上的命令行提示符, 输入:

ssh android@192.168.1.101

或者使用一个批处理文件:

@echo off
echo -^> Start login
cmd /k ssh android@192.168.1.101

然后会提示你输入密码 changeme, 之后就连接成功了:

succ.png

然后安装 Rakudo:

准备

apt-get install build-essential git

从源代码安装

git clone git://github.com/rakudo/rakudo.git
cd rakudo
perl Configure.pl --gen-moar --gen-nqp --backends=moar
make
make install

安装完成后要注意环境变量的设置, 否则会提示 command not found:

echo "export PATH=\$PATH:$HOME/rakudo/install/bin" >> ~/.bashrc
source ~/.bashrc

然后退出终端, 再次打开终端输入 perl6 --version 就可以使用 perl6了。

perl6

安装 panda

git clone --recursive git://github.com/tadzik/panda.git
cd panda
perl6 bootstrap.pl

然后根据提示:

==> Please make sure that /home/android/.perl6/bin is in your PATH

把 panda 也加到 PATH 变量中:

echo "export PATH=\$PATH:$HOME/.perl6/bin" >> ~/.bashrc
source ~/.bashrc

或者编辑 vim ~/.bash_profile 文件:

PATH=$PATH:/home/android/rakudo/install/bin:/home/android/.perl6/bin/
export PATH

安装 Linenoise 模块

panda install Linenoise

总结

比较容易失败的地方的是系统镜像的下载和中文环境的配置。注意这两点, 就抓住重点确保安装顺利进行了。安装完你可以干什么? 我先运行个 Python, 微信机器人,Mojo-Webqq, Mojo-Weixin, 写写 jekyll 博客,使用 Perl 6, 都能如你所愿, 因为它既使用 Wifi 也可以使用 3g/4g 蜂窝网络, 随时随地写东西。Once Build, Write Anywhere。

最后, Just For fun!

更新:你可以把下载后的 linux.img 拷贝下来, 下次更新系统/刷机 后再拷贝到根目录重新下载 Linux Deploy 和 Busy Box 重新配置就能重新使用了,里面的数据也不会丢失。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容