0%

使用Termux给旧手机安装Ubuntu

说明

今年武汉的疫情非常严重,已经好多天没有出门了,东西也有好多都在学校,有点想搞事情,本身想买一个树莓派跑跑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,将刚刚的指令复制过去并执行就可以了,它会下载相应的文件(如果可以,最好使用科学上网),具体内容如图所示。AnLinux

在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】指令可以看到如下,下右图。Termux

打开Ubuntu

1
./start-ubuntu.sh

在下面看到 root@localhost 就知道进入Ubuntu了,这样就可以愉快的玩耍啦~

使用SSH连接Termux

安装openssh

1
2
apt update
apt install openssh

启动sshd服务

1
sshd

添加公钥信息

此操作在PC端,将生成的id_rsa.pub复制到存在于/sdcard/目录下

1
ssh-keygen

添加公钥信息到手机

1
2
3
cd ~/.ssh
cp /sdcard/id_rsa.pub ./
cat id_rsa.pub >> authorized_keys

此时已经完成SSH的配置了,下面还需要获取相关信息。

获取相关信息

  • 获取登录的用户名
    会返回当前的用户名,最好不要是运行ubuntu时的root,一般是【u0_axxx】这样的格式,后面的示例为:u0_a118

    1
    whoami
  • 获取当前的ip
    PC端要跟手机端在同一网段,选取wlan0中的inet addr的地址即可。一般路由器分配的地址都是192.168.0.xxx这样的,后面的示例为:192.168.1.101

    1
    ifconfig -a
  • 设置连接的密码
    就是当前账户的密码,用于登录SSH的确认,需要输入两次

    1
    passwd
  • 连接SSH
    默认端口不是22二十8022,这个一定要注意

    1
    ssh u0_a118@192.168.1.101 -p 8022

    连接成功的界面如下所示:SSH

结语

前文的文件分享的百度云密码都是:2333。最后感谢网上看到的相关教程,分别有DarkSun的个人博客,520的罗的博客慢慢的燃烧我是MONEY呀老板_来三斤荔枝的博客,中间还有一些早期看到的教程,真的非常感谢!

-------------本文结束感谢您的阅读-------------