在你的Android手机上运行Linux
[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的更多相关文章
- android 手机上运行图像算法
在pc上调试好的图像处理算法想要在android手机上跑一下看看速度需要一下几个步骤 1.建立一个android application,通过ndk调用你写好的图像算法的c/c++ code 2. 然 ...
- 在Android手机上安装linux系统
在anroid手机中安装fedora系统.记住不只是教你安装fedora系统. 需要的备注与软件 1.一个已经root的Android手机,记住是root后的,root后的,root后的.(重要的事情 ...
- 利用Termux在Android手机上运行PHP
从 阮一峰 博客看到 [Termux 入门教程:架设手机 Server 下载文件] 想测试下,在可以跑PHP吗?经测试PHP完美运行,并且可用使用PHP内置WEB服务器,搭建网站访问:因为对linux ...
- 在 Android 手机上运行 Python 程序
- Android 手机上安装并运行 Ubuntu 12.04
ubuntu.sh脚本的原地址变动了,导致下载不了,现在更新了网盘地址.小技巧:遇到一些下载失效的时候可以试一试p2p下载工具(如 easyMule.迅雷等)试一试,说不定有人分享过~* —————— ...
- 在安卓(手机)上运行 Ubuntu (Linux)
在安卓(手机)上运行 Ubuntu (Linux) 由于x86 和 arm 是跨平台的,所使用的编译器自然也不同.如果要在电脑上编译安卓手机上的程序,则需在电脑端建立ARM交叉编译环境,这个过程是在耗 ...
- 安卓手机上运行 PC-E500 程序
目录 第1章安卓手机上运行 PC-E500 程序 1 1 PockEmul 1 2 下载 1 3 打包BASIC程序 2 4 配置PC-E500模拟器 5 5 载入e50 ...
- 如何在 Android 手机上实现抓包?
如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么.网上的教程太复杂,不想麻烦.有 ...
- delphi xe5 android 手机上使用sqlite
本篇我们介绍一下在android手机上怎样使用sqlite数据库,这里用Navigator实现 增删改查. 1.新建firemonkey mobile application 2.选择blank ap ...
随机推荐
- 初学Linux应该注意的事项
相比于windows linux严格区分大小写 linux所有内容都是以文件形式保存 linux不靠扩展名区分文件类型(靠权限),linux下文件扩展名主要是方便管理员分类 linux所有的存储设备都 ...
- 实现strcat功能
实现两个字符串相连 1 #include<stdio.h> #include<string.h> //把源字符串连接到目的字符串中 char *strcat1(char *de ...
- yml文件教程
地址:http://www.ruanyifeng.com/blog/2016/07/yaml.html 原来三个横线(---)是用来区分多个文件的,像下面就是指定了两个配置. spring: appl ...
- Lightoj 1071 - Baker Vai (双线程DP)
题目连接: http://lightoj.com/volume_showproblem.php?problem=1071 题目大意: 一个n*m的格子,Baker Vai要从(1,1)到(n,m)再回 ...
- SolrCloud索引富文本数据
solrconfig配置文件: schema配置文件: 执行目录: /opt/solr-5.5.4/server/scripts/cloud-scripts -- 下载配置文件 ./zkcli.sh ...
- 【先定一个小目标】dotnet core 命令详解
本篇博客来了解一下dotnet这个神奇的命令.我会依次对dotnet,dotnet new,dotnet restore,dotnet build,dotnet test,dotnet run,dot ...
- windows 迁移数据库
1) Prerequisites ---------------- - The copy of the datafiles must be done with the database clos ...
- java单元测试注释执行顺序
JUnit4通过注解的方式来识别测试方法.目前支持的主要注解有: @BeforeClass 全局只会执行一次,而且是第一个运行 @Before 在测试方法运行之前运行 @Test 测试方法 @Afte ...
- VGG16 pre-trained model 实现 image classification
站在巨人的肩膀上!使用VGG预先训练好的weight来,进行自己的分类. 下一阶段是在这上面进行自己的修改,完成自己想要的功能. Github源码 Github上有我全部的工程代码. 环境配置 Pyt ...
- D. Mahmoud and a Dictionary 种类并查集
http://codeforces.com/contest/766/problem/D 所谓种类并查集,题型一般如下:给定一些基本信息给你,然后又给出一些信息,要求你判断是真是假.例如给出a和b支持不 ...