[2020.03.06] 今日再观,真不愧乃2018年的古董文章。以前提供的链接现在已经通通失效,JuiceSSH终究不再更新,Termux拥有了更高的可玩度,也有了许多其他的替代方案。因此将此文稍作修缮,或不再有其他额外改动了。

之前试过许多方法(也就几种),像什么Complete Linux Installer,Debian noroot,利用已有的Linux构造Bootstrap之类,要么就是复杂得要命(调了两天没有调出来),要么就是鸡肋,直到发现了一款叫做Linux Deploy的软件。

这款软件是需要root才能运行的,没有root的童鞋可以转向那些Termux的教程了。只是Termux没有Linux Deploy性能好,可定制程度稍低罢了。

看来这款软件的先置需求还是不多的,随随便便就能处理好是不是?

好吧,现在步入正题,开始安装Linux Deploy(欢迎花样作死)。


1.安装Linux Deploy

虽然有些应用商店里有Linux Deploy,网上也可以下得到,但是版本估计都很旧,所以推荐到Google Play商店里下载(没有链接提供哈)。

就像安装微信一样安装好它就行了。

然后打开......是这个样子的:

你看,上面都教你怎么安装了!(笑)

2.配置Linux Deploy

如果你想要安装多个系统,建议更改一下配置文件的名称。(哎呀,强迫症又犯了,你们忽略我吧)

先点击左上的“恒等于号”

点击配置文件

点一下那支笔

既然这次我们要安装的是Ubuntu,那就写上Ubuntu好了......

更改好后点击确定

如果不想你的Linux运行时CPU休眠导致卡成龟,最好让其保持唤醒

返回,点击设置

勾选“保持CPU唤醒”,顺便把“锁定Wi-Fi"也勾上吧,嘿嘿!

3.设置安装选项

在设置安装选项之前,需要看看手机的CPU架构和/data分区剩余空间

回到主页面,点击右上方的三个点

点击状态

然后就会滚出来很多行字

比如,我的手机CPU是armv8l的,/data分区还剩15.9GB,这些信息都要记住,后面要用到(不记住好像也没什么事)

现在可以正式开始设置安装选项了,点击右下方的一个鬼畜的按钮

容器类型不用管,直接从发行版开始

由于这回我们要安装Ubuntu,那就选Ubuntu好了(废话)

接下来就是架构了,根据我们之前在状态里看到的CPU架构选择合适的架构

一般有armv8字样的CPU是64位的,选择arm64或aarch64(看哪个有选哪个,这里是arm64,那就选arm64),其他的选armhf即可(除非你的手机老到炸裂,就只能选armel了,不过太老的手机是装不上Linux Deploy的),如果有些神机是i386或者x86_64(amd64)的,直接照着选就可以了(表示膜拜)

比如我的手机是armv8l,就选arm64好了

至于发行版版本嘛,你自己选好了。由于我是更新狂,所以我选了最新的bionic(Ubuntu 18.04)(唉,强迫症又犯了,你们无视我吧 _

这四个版本代号分别对应着Ubuntu12.04,Ubuntu14.04,Ubuntu16.04和Ubuntu18.04(应该没人会去用Ubuntu12.04了吧)

现在到了设置源地址的时候了。由于官方的源在国外,所以你若不想调两天还调不好的话,还是不要用官方源吧。这里使用中科大镜像站:http://mirrors.ustc.edu.cn/ubuntu-ports(貌似中科大和清华的镜像站越来越不稳定了)

嗯,现在可以选择安装类型了。如果你之前看到的/data分区大于等于4G,建议选择目录,这样大概是选择镜像文件的运行速度的两至六倍。假如你的手机/data分区真的没空间了,但是你有一张存储卡,可以选择镜像文件,或者分区。

不过需要注意的是,由于你的存储卡一般是fat32格式的,所以无法存储大于4G的文件,所以镜像文件的大小不能超过4G。若选择分区的话,就不会出现这种问题,但是选择分区的最大问题就是你的卡里的文件会被清空,且无法在Windows上访问你的存储卡,因为它需要被格式化成ext3或ext4格式(具体选ext3还是ext4,取决于你的手机是否支持ext4,可以通过状态查看,看那个Supported FS有没有ext4即可,若连ext3都没有,那就只能选ext2了,不过这种手机实在太古老了,我保证连Linux Deploy都装不上......)。

还有,如果你选择了分区,一定要弄清你要安装到哪个分区,在状态最底部有一个Available partitions,会显示你的存储卡的位置,一般是/dev/block/mmcblkXpY(X和Y根据情况填写),注意核对分区大小和你的存储卡大小是否匹配,若你选错了分区,你就杯具了......

至于RAM选项,这是安装到内存里,虽然速度快,但是没有3到6个G内存不要选,而且一重启就没了(所以别选RAM了吧),还有,请忽视Custom那个选项,因为那个一点用都没有๑乛◡乛๑

由于我们选的发行版是Ubuntu,所以强迫症再次发作,手动分类改名设置安装路径QwQ

为了不出现因忘记其默认生成的超难记密码而连不上ssh的尴尬局面,强烈建议修改用户密码(用户名改不改随意)

你看,这个密码多好记?!

特权用户和DNS一般不用改,不过本地化是要改的(除非你喜欢全英文)

改成zh_CN.UTF-8即可

初始化和挂载都跳过,把SSH启用打上勾,否则连不上这个Ubuntu就尬了!

下面那个VNC先不要管(虽然我知道你很可能需要它),直接点左上角那个小箭头回到主页面

这个设置安装选项貌似很复杂,但是实际上还是很简单的,大约半分钟就可以配置好

4.开始安装系统

回到主页,点击安装

肯定选择确定啦

然后就开始安装了......

根据手机性能的高低和网速的大小,安装时间4至30分钟不等

嘿嘿,我六分半就装完了(˘▾˘)

哦,对了,出现下面这种情况(就是那个W:Couldn‘t什么的)赶紧按停止键重新安装,以免浪费时间(反正过了一段时间后快要安装完时它会报错让你重装)

建议安装完后重启一波再食用

请忽视时间的问题(逃)

5.使用SSH连接容器

在Android上使用人数最多的SSH软件恐怕就是JuiceSSH了......

我在想这个软件的图标为什么那么像Lemon

这个软件打开之后是这个样子的:(请忽视一切诡异的东西吧)

先点击“连接”

点击那个有趣的加号(因为你点开JuiceSSH时是什么连接记录都没有滴,需要手动添加)

昵称随便填,比如我填了个Linux(为什么不填个NOILinux呢)

地址填127.0.0.1或localhost(反正都是代表本机)

然后点击认证那个倒三角——新建认证

昵称随便填,比如我填了个Linux......

用户名是之前配置时那个用户名,我没有改,所以是android

密码就是那个好记的xxxxxx

填好之后是这个样子

私钥不用管,千万别点左上那个返回键,而是应该点右上的那个勾(否则就重来一遍吧)

然后就会返回到填写“新建连接”的页面,再点一下右上那个勾,回到主页面,在连接那儿点击刚刚保存的连接

然后是类似这个样子



不要管,点确定,然后是这个样子

点接受即可

接着就连接上啦,可以愉快地打命令啦啦啦

按音量-可以缩小字体

按音量+可以放大字体

皮皮真开心!

来,打个gcc

什么?居然没有gcc?

那就安装一个吧!

先sudo su一波

然后apt install gcc g++

点个y然后回车

然后就刷刷刷得跑起来了!

安装好了......

输入一个gcc -v,哈,gcc已经有了!

输入一个g++ -v,哈,g++也已经有了!

这下就可以编译了!

不过只能编译,不能编辑文件是什么鬼?那就安装一个vim吧!

哈,现在vim也可以用了!

6.为容器启用图形化界面

有的童鞋并不满足于终端,还希望像普通的Ubuntu一样有图形化界面。这很简单,只需要将我们之前忽略的VNC打开就可以了!

桌面选择轻量的LXDE,一是安装快,二是运行快,三是丑陋

现在返回到主页面,点击右上方的三个小点点,然后点击“配置”......

仍然建议重启一波哦QvQ

7.配置并使用图形化界面

要用VNC连接这个毒瘤Ubuntu,需要一款名曰VNCViewer的软件,作者已经贴心地帮忙准备好了QvQ:https://wendster.win/pan/index.php?share/file&user=1&sid=5BzEJ8FY

打开之后是这个燕子的......

然后点击右下角那个加号

地址填127.0.0.1或localhost,Name就随便啦

然后点击CREATE,然后在主页面点击你创建的连接

会出现下面这个东西

记得把它的勾去掉,否则每次都会弹出这个拥有着令人做噩梦的颜色的邪恶的提示

然后就要输密码,可以把Remember passwd勾上,下次就不用输入密码了

emmmm,密码就是那个好记的xxxxxx

然后,就进去了,这个软件会弹出一个使用教程,可以看也可以跳过,反正是全英文的教程

真正连上后的样子:

哎呀,下面的任务栏太小了!原来是VNC的分辨率调的太高了,调低一点就好了

先返回到配置系统界面,然后点击图形化界面设置

哎呀,颜色深度怎么只有16位呢?还是换成24位全彩色以获得更好的视觉体验吧

好啦,回到正题。可以看到,分辨率调的非常高,高达1920x1080,要那么高分辨率干嘛?调低一点多好?就像这个样子,对于我的手机来说调到960x540比较好,那就调这么多呗

现在再次重启容器,连上VNC。嗯,现在好多了!

点一下启动器

谒!怎么中文都乱码了?原来是忘记安装中文字体了......

赶紧用SSH连上终端,敲上这么一打命令

apt update
apt install font-wqy-microhei -y

这样中文乱码这种奇异的事件就不会再有了

为了让界面稍微好看一点,并且修复一下图标的问题,再打一波命令

apt install lubuntu-default-session lubuntu-default-settings lubuntu-extra-sessions lubuntu-icon-theme -y

然后再次重启容器......

然后再次连上VNC......

好了,现在没有乱码了(咦,我的图怎么找不着了)

滑动屏幕操控鼠标点击左下角的飞鸟图案,然后点击首选项——自定义外观和体验

然后就会出现下面的界面

左边菜单选择Lubuntu-default,然后点击Apply

点击上方的图标主题,选择Lubuntu,然后点击Apply

点击上方的窗口边框,选择Lubuntu-default,然后点击Apply



现在回到窗体,点击右下方的字体,左边往下翻,翻到文泉驿微米黑,点击OK

关掉自定义外观和体验,打开终端,顺便把字体也配置一下



先sudo su一下来安装一个小软件......

安装一个Vim用于编辑文件......

哦,忘了已经安装过Vim了!

现在就可以愉快地编程啦!如果有蓝牙键盘,码起代码来会更爽呢!


教程到这里就结束啦!更多高级玩法还期待你们去挖掘(坑)呢!(欢迎花样作死)

在你的Android手机上运行Linux的更多相关文章

  1. android 手机上运行图像算法

    在pc上调试好的图像处理算法想要在android手机上跑一下看看速度需要一下几个步骤 1.建立一个android application,通过ndk调用你写好的图像算法的c/c++ code 2. 然 ...

  2. 在Android手机上安装linux系统

    在anroid手机中安装fedora系统.记住不只是教你安装fedora系统. 需要的备注与软件 1.一个已经root的Android手机,记住是root后的,root后的,root后的.(重要的事情 ...

  3. 利用Termux在Android手机上运行PHP

    从 阮一峰 博客看到 [Termux 入门教程:架设手机 Server 下载文件] 想测试下,在可以跑PHP吗?经测试PHP完美运行,并且可用使用PHP内置WEB服务器,搭建网站访问:因为对linux ...

  4. 在 Android 手机上运行 Python 程序

  5. Android 手机上安装并运行 Ubuntu 12.04

    ubuntu.sh脚本的原地址变动了,导致下载不了,现在更新了网盘地址.小技巧:遇到一些下载失效的时候可以试一试p2p下载工具(如 easyMule.迅雷等)试一试,说不定有人分享过~* —————— ...

  6. 在安卓(手机)上运行 Ubuntu (Linux)

    在安卓(手机)上运行 Ubuntu (Linux) 由于x86 和 arm 是跨平台的,所使用的编译器自然也不同.如果要在电脑上编译安卓手机上的程序,则需在电脑端建立ARM交叉编译环境,这个过程是在耗 ...

  7. 安卓手机上运行 PC-E500 程序

    目录 第1章安卓手机上运行 PC-E500 程序    1 1 PockEmul    1 2 下载    1 3 打包BASIC程序    2 4 配置PC-E500模拟器    5 5 载入e50 ...

  8. 如何在 Android 手机上实现抓包?

    如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么.网上的教程太复杂,不想麻烦.有 ...

  9. delphi xe5 android 手机上使用sqlite

    本篇我们介绍一下在android手机上怎样使用sqlite数据库,这里用Navigator实现 增删改查. 1.新建firemonkey mobile application 2.选择blank ap ...

随机推荐

  1. 初学Linux应该注意的事项

    相比于windows linux严格区分大小写 linux所有内容都是以文件形式保存 linux不靠扩展名区分文件类型(靠权限),linux下文件扩展名主要是方便管理员分类 linux所有的存储设备都 ...

  2. 实现strcat功能

    实现两个字符串相连 1 #include<stdio.h> #include<string.h> //把源字符串连接到目的字符串中 char *strcat1(char *de ...

  3. yml文件教程

    地址:http://www.ruanyifeng.com/blog/2016/07/yaml.html 原来三个横线(---)是用来区分多个文件的,像下面就是指定了两个配置. spring: appl ...

  4. Lightoj 1071 - Baker Vai (双线程DP)

    题目连接: http://lightoj.com/volume_showproblem.php?problem=1071 题目大意: 一个n*m的格子,Baker Vai要从(1,1)到(n,m)再回 ...

  5. SolrCloud索引富文本数据

    solrconfig配置文件: schema配置文件: 执行目录: /opt/solr-5.5.4/server/scripts/cloud-scripts -- 下载配置文件 ./zkcli.sh ...

  6. 【先定一个小目标】dotnet core 命令详解

    本篇博客来了解一下dotnet这个神奇的命令.我会依次对dotnet,dotnet new,dotnet restore,dotnet build,dotnet test,dotnet run,dot ...

  7. windows 迁移数据库

    1) Prerequisites    ---------------- - The copy of the datafiles must be done with the database clos ...

  8. java单元测试注释执行顺序

    JUnit4通过注解的方式来识别测试方法.目前支持的主要注解有: @BeforeClass 全局只会执行一次,而且是第一个运行 @Before 在测试方法运行之前运行 @Test 测试方法 @Afte ...

  9. VGG16 pre-trained model 实现 image classification

    站在巨人的肩膀上!使用VGG预先训练好的weight来,进行自己的分类. 下一阶段是在这上面进行自己的修改,完成自己想要的功能. Github源码 Github上有我全部的工程代码. 环境配置 Pyt ...

  10. D. Mahmoud and a Dictionary 种类并查集

    http://codeforces.com/contest/766/problem/D 所谓种类并查集,题型一般如下:给定一些基本信息给你,然后又给出一些信息,要求你判断是真是假.例如给出a和b支持不 ...