说明
今年武汉的疫情非常严重,已经好多天没有出门了,东西也有好多都在学校,有点想搞事情,本身想买一个树莓派跑跑Ubuntu玩玩的,快递实在是太慢了,而且回家的大东西就带了电脑,其他的硬件基本都没有,没有办法只能从身边的旧手机入手了。我手上有两个旧的,一个是小米Note,说实话我非常喜欢的,外形和手感都非常好,但是换屏之后屏幕跳屏(后来在我调试的过程中忍不了给摔了2333);另一台是荣耀8,华为的BL锁现在不能解开了,因此没有Root权限(感觉华为这件事儿很恶心)。我花了好长时间去解锁(其实就是不想去淘宝花30块钱),但是都没有成功,因此一直都搁置在,今天还是给拿出来了试试,终于成功在没有root权限的情况下安装了ubuntu,并且通过SSH连接上去了,可以跑一些Python程序,感觉还是很开心的,下面说说具体的过程。
准备
- Android手机
这个应该是不用说明的,Android系统本身也是基于Linux的,不用多言。其实Iphone也是可以使用SSH连接并使用一部分Linux指令的,但是需要越狱环境,而且指令能用的也非常少,就不多介绍了。相较于树莓派和其他的单板机,旧Android手机的优势还是非常大的。首先是Wi-Fi和蓝牙肯定是都带的,而且基本都不差;其次是内存和运存,现在而言一般都有16G的吧,比树莓派,香橙派等用的内存卡肯定是好很多的吧,最后是运存,2G至少也有吧;特别是CPU,这几年手机CPU的快速发展,可以说三年前的千元机CPU绝大部分都比树莓派3B强,因此性能也是不用担心的。
- 软件:Termux
关于软件的使用,我最终选择的是Termux。我前期三种方案,分别是:Androidterm + Busubox,Linux deploy + Busubox和Termux + AnLinux。但是前两个都是需要Root权限的,前期我的小米Note刷了开发板成功获取了Root,成功使用Androidterm + Busubox安装好了,非常感觉各位大神提供的镜像,资源我打包好了,如下,感觉这个应该是最好的方案,毕竟是有权限的,想干嘛就干嘛(结局挺惨,跳屏有一点受不了,装SSH一直乱动我生气直接给摔了扔了)。其次是Linux deploy,这个也是十分有名的,我没有测试过,但是应该也是很不错的。最后是Termux + AnLinux的方案,这个对于没有Root权限的用户而言是最好的选择,安装Ubuntu Core,跑一下Python还是美滋滋的,下面我都是以Termux + AnLinux进行具体的说明。
具体过程
说明
这个本身需要复制指令,因此先写了安装Ubuntu的过程,其实我个人更推荐的是使用SSH先连接到Termux,然后再执行指令安装ubunutu,这样的话可以完全不用AnLinux,因为指令在教程中已经给出了。
首先安装软件
Termux和AnLinux安装包已经打包好,地址如下。下载完成之后直接安装即可,软件比较小,应该能够很快的安装上,安装完成的两个图标如下所示。然后依次打开和运行即可(Anlinux在安装完成之后可以禁止联网,因为有广告)。
用Termux安装Ubuntu
首先打开AnLinux,首先看到的是仪表盘,下左图,然后点击“选择”,勾选Ubuntu,这里的系统看个人需求,我比较喜欢ubuntu,确定之后就可以复制指令了,最后点击“启动”便会启动Termux,将刚刚的指令复制过去并执行就可以了,它会下载相应的文件(如果可以,最好使用科学上网),具体内容如图所示。
在Termux安装Ubuntu并启动
在AnLinux转到Termux的时候会初始化,下左图。此时必须联网,因为要下载相应的文件。在安装Ubuntu之前需要执行两个操作:
申请读写权限,
1 | termux-setup-storage |
更新一下,
1 | apt update |
更新之后即可执行AnLinux复制过来的指令,如下
1 | pkg install wget openssl-tool proot -y && hash -r && wget https://raw.githubusercontent.com/EXALAB/AnLinux-Resources/master/Scripts/Installer/Ubuntu/ubuntu.sh && bash ubuntu.sh |
在Termux执行的结果如下,这个过程可能执行时间教程,如果有科学上网最好开启。完成之后会输入【ls】指令可以看到如下,下右图。。
打开Ubuntu
1 | ./start-ubuntu.sh |
在下面看到 root@localhost 就知道进入Ubuntu了,这样就可以愉快的玩耍啦~
使用SSH连接Termux
安装openssh
1 | apt update |
启动sshd服务
1 | sshd |
添加公钥信息
此操作在PC端,将生成的id_rsa.pub复制到存在于/sdcard/目录下
1 | ssh-keygen |
添加公钥信息到手机
1 | cd ~/.ssh |
此时已经完成SSH的配置了,下面还需要获取相关信息。
获取相关信息
获取登录的用户名
会返回当前的用户名,最好不要是运行ubuntu时的root,一般是【u0_axxx】这样的格式,后面的示例为:u0_a1181
whoami
获取当前的ip
PC端要跟手机端在同一网段,选取wlan0中的inet addr的地址即可。一般路由器分配的地址都是192.168.0.xxx这样的,后面的示例为:192.168.1.1011
ifconfig -a
设置连接的密码
就是当前账户的密码,用于登录SSH的确认,需要输入两次1
passwd
连接SSH
默认端口不是22二十8022,这个一定要注意1
ssh u0_a118@192.168.1.101 -p 8022
连接成功的界面如下所示:
结语
前文的文件分享的百度云密码都是:2333。最后感谢网上看到的相关教程,分别有DarkSun的个人博客,520的罗的博客,慢慢的燃烧、我是MONEY呀、老板_来三斤荔枝的博客,中间还有一些早期看到的教程,真的非常感谢!