提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
本文主要分享在iPad上从0开始安装Ubuntu20.04的步骤和经验。
在安装期间用到的参考文档如下:
iOS设备安装虚拟机的主要思路https://www.youtube.com/watch?v=x0sGWL8zQpg
UTM中文文档https://utmapp.wiki/#/
UTM虚拟机安装使用教程https://zhuanlan.zhihu.com/p/437319496
在安装过程中用到的软件及硬件:
iPhone:A11 Version ios14.7
iPad: A13 Version ios15.2
UTM: Version 3.1.5
Altstore: Version 1.4.7.0
Altstore是苹果的一款自签软件,可以给一些软件(例如UTM)进行签名。
具体安装教程如下:
Altstore安装教程:https://zhuanlan.zhihu.com/p/355571144
注意:在用数据线给iPhone或iPad传Altstore时,可能会出现失败的情况,多试几次就好了。
Windows正在向iPad安装Altstore
安装成功
UTM 虚拟机基于 QEMU 项目开发而来,完全免费开源。它能让你在 iPhone、iPad 等 iOS 设备上安装其他操作系统,包括 Windows、Linux,甚至是 Android 安卓系统!而且 UTM 还不需要 iOS 越狱就能安装 (但要想办法给 .ipa 签名)
安装步骤:
下载链接:https://github.com/utmapp/UTM/releases
找到此位置:
可以选择UTM.ipa或者UTM.SE.ipa(SE版本运行效率较低)。下载完成之后,保存到“文件”->“我的
iPad”里面(不要保存在iCloud里),如图所示
下载完成之后,进入Altstore进行安装( 我这里之前已经安装完了)
先点击左上方加号
打开之后选择UTM.ipa
安装完成之后,进入UTM
进入UTM之后,会出现各种错误(不止上图中出现的错误)。因为UTM需要AltJIT或者Jitterbug来调试,否则就算能成功开启虚拟机,也会出现闪退的情况。
Jitterbug 是 UTM 的作者 osy86 发布的一个 iOS App。它的功能是让 iOS 在没有 Xcode 附加调试器的情况下,也可以运行需要 JIT 的 App,例如:UTM 虚拟机,海豚模拟器,PS2模拟器等。读者可参考视频:https://www.bilibili.com/video/BV1FU4y177sE/?spm_id_from=333.788.recommend_more_video.-1
安装步骤如下
1.Jitterbug下载地址:https://github.com/osy/Jitterbug/releases
在ipad和电脑上分别下载Jitterbug.ipa、Jitterbugpair(Jitterbugpair是用来生成配对文件的)。
我这里下载的是JitterbugLite.ipa。
注意:Jitterbug.ipa要和UTM.ipa一样都保存在我的ipad里,不要保存在iCloud上。
2.安装Jitterbug.ipa
与安装UTM类似,进入Altstore后,点上方的加号,然后等待安装(这里不再赘述)
安装完成后,打开Jitterbug,按上面视频的方法配置好配对文件和支持文件。配置文件需要自己用Jitterbugpair生成,支持文件可以在网上找,也可以添加QQ群:1051884885,在群文件里找到支持文件。
注意:1.支持文件一定要和你的iPad或者iPhone的系统版本一致。
2.支持文件和配置文件要保存在我的iPad里,不要保存在iCloud里。
两个文件都配置好后,回到首页,会发现依然无法调试UTM。
屏幕中显示“请使用开发者签名及或被及调试功能”,也就是需要购买签名。签名网站如下:www.isign.ren。(需要花钱)
这是你会产生疑问,Altstore不就是用来解决签名的吗,为什么还要购买签名。当时我也不知道原因,经过不断摸索,我发现了一个可以不用花钱就能够解决问题的办法,那就是在你的另一台ios设备上(比如你的iPhone)用同样的方法安装Altstore和Jitterbug。然后在iPhone上配置好支持文件和配置文件
注意:这里的配置文件依旧是iPad的配置文件,而不是iPhone的。
注意:这时要保证两台ios设备在同一局域网下。
打开iPhone的Jitterbug,选择iPad后会进入如下界面。
点击上图中的UTM图标,iPad上的UTM会自动打开。下面开始正式安装Ubuntu。
可以先参考在Mac上安装Ubuntu的安装视频。
https://www.bilibili.com/video/BV17r4y1A7wD/
有了大题安装思路后,来进行详细操作。
1.先在UTM镜像库下载对应的镜像资源https://mac.getutm.app/gallery/
我下载的是Ubuntu20.04,当然也可以下载其他的镜像。然后选择 Ubuntu Server for ARM
注意:下载完成后,把镜像文件保存在我的iPad中
随后返回UTM,创建虚拟机
2.选择虚拟
3.选择Linux
4.点击浏览文件并选择刚才下载的.iso文件,如下
5.配置内存、架构
我选择的是ARM架构,因为之前选择的X86架构,开启虚拟机之后会因为UEFI启动而产生一系列问题。
6.选择存储器大小
建议选择20GB,太小了会大致无法完成安装Ubuntu。
7.文件共享可以保持默认
8.开启虚拟机(可参照上面的安装视频完成安装)https://www.bilibili.com/video/BV17r4y1A7wD/
9.到这个地方时,安装工作已经快完成了,此时选择Reboot Now,然后关闭虚拟机。
9.弹出镜像资源
这一步是必须要做的,否则当你重新打开虚拟机时,还会重复上一步的安装。
打开设置里的驱动盘,删除第一个可移动驱动器
10.再次开启虚拟机,执行如下命令
sudo apt install tasksel
sudo tasksel install ubuntu-desktop # 这个加载会很慢
sudo reboot
11.等待安装完成(因为ios不支持虚拟化,这个过程可能会非常的慢)
12.安装完成后,输入用户名密码,进入Ubuntu
由于我当时驱动器只选择了8G,所以上面会有提示硬盘空间不足,建议大家分配20G。
至此,Ubuntu的安装算是完成了。下面开始远程连接Ubuntu。
1.在Windows或者手机上安装TeamViewer,然后在Ubuntu里安TeamViewer。
2.分别注册登陆账号,在Windows端输入Ubuntu端的ID进行远程连接。
windows界面:
Ubuntu界面:
可以看到,两者很好的进行了互联。
以上安装过程可能不是最简便的,仅供参考。
在此次安装过程中,我遇到了不少bug,例如软件掉签、硬件资源不够等等问题。回想整个安装过程,我以前在安装别的东西的时候似乎都没遇到过这么多连续的小问题,而且网上也没有一套完整详细的安装教程,大多都是离散分布或没有给出解决各种bug的详细办法。ios系统并不支持虚拟化,同时如果设备没有越狱,能利用的系统硬件资源也受到限制,所以在我看来,苹果好像不太想让用户在ios设备上安装其他操作系统。
Android UI控件四一、SeekBar拖动条控件SeekBar控件可以通过拖动滑竿改变当前的值,可以利用SeekBar来设置具有一定范围的变量的值。1.SeekBar的使用public class MainActivity extends Activity implements OnSeekBarChangeListener { private TextView tv1,
1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>/*1、结构体类型定义2、结构体变量定义3、结构体变量的初始化4、typedef改类型名5、点运算符和指针法操作结构体6、结构体也是一种数据类型,复合类型,自定义类型*///1、结构体类型定义//struct关键字//struct Teacher合一起才是类型//{}
没啥说的#include#define pi 3.14159int main(){ long n,i,t; float x,y; scanf("%ld", &n); for (i=1;i<=n;i++) { scanf("%f%f",&x,&y); for (t=1; t < pi * (x *
题目连接:题目题目大意:就是你又两把火,去烧草场的草,火只能上下左右烧,问烧完的时间,如果不能烧完,则输出-1;解题思路:这个题算是第一次接触到双向广搜把,我觉得是双向广搜,,,,,,,,,,说题把,找出两个点就去烧,然后不管是一个草堆还是多个草堆,记录每次烧的个数如果tot等于草堆总数,则是成功,否则不能烧完,并且在烧完的时候记录时间,然后维持这个时间的最小值#i
转载自 本想试试看,结果却拿到了京东的Offer 最近,春招已经基本接近尾声了,我找了几位拿到名企Offer的粉丝,请他们总结了面试经验,近期会分批的推送给大家。希望给那些正在准备秋招的同学提供些帮助。今天给大家分享的面经作者通过了2018年的春招,通过了京东的几轮技术面试。以下是他总结的面试经验及准备思路。Hollis只做了简单的格式修改。希望对你有帮助。从年后开始正式准备,在春招抱着试一试的念...
<br />对一个三维模型进行旋转和平移后保存为.ply格式的文件,里面的数据为什么和没有旋转平移过的三维数据一样,应该有变化才对。<br /> <br /> 请高手指点?谢谢
1:第一次尝试设置 IDC_BUTTON3按钮风格的bitmap为true在OnInitialDilog中:CButton* cbpTest = NULL; HINSTANCE hInstance=AfxGetResourceHandle();HBITMAP m_hBmp4=(HBITMAP)LoadImage(hInstance, MAKEINTRE
钉钉小程序 开发 PHP + 钉钉小程序 (企业内部应用)应公司需求 需要结合钉钉开发小程序 由于公司自用 所以选择了 企业内部应用 我在做之前和做的过程中 查不到几乎可用的资料 我就把我遇到的 能想起来的,给要接触的童鞋们 参考一下吧钉钉文档: https://ding-doc.dingtalk.com/目前钉钉的文档还没有完善的类似微信 有很多微信有的 钉钉还没有 希望将...
Spring中@Autowired注解和静态方法关联应用一、业务场景首先我们的类对象在创建方法的时候如果使用static进行修饰,那么就可以实现可以在外部进行调用。如下所示如果没有static修饰,外部将不能使用该方法:public class GetToken { public static String Signature(String access_token, String timestamp) { //下面的"& timestamp"之间没有空格
1.引用网页链接\usepackage{url}%\hypersetup{urlcolor = red}调用:\url{www.baidu.com}2.注释脚标:\footnotetext{\small $*$ Supported by the National Natural Science Foundation of China.}文中注释:XXXXXX\footnote{XXXXXX}%会在文中上标1、2等,并在该页脚写出注释内容。...
spring启动时报错:java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.getEnvironment()Lorg/springframework/core/env/ConfigurableEnvironment;原...