Android 使用模拟器模拟Linux操作系统

1. 简介

在Android手机上使用模拟器模拟ubuntu等操作系统,便于测试

2. 软件准备

  1. Termux:是一款 Android 终端模拟器和 Linux 环境应用程序,无需 root 或设置即可直接运行。虽然酷安和谷歌菜市场都能下载,但这些渠道都很久没更新了,建议到 F - Droid 下载。
    下载链接:
    https://f-droid.org/packages/com.termux/

  2. VNC Viewer:是一款远程控制软件,用来连接 Linux 系统的图形化界面。谷歌 Play Store 搜索「VNC」即可直接下载。

3. 安装步骤

3.1 更改软件源

# 安装Termux后进入命令行
sed -i 's@^(deb.*stable main)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list

sed -i 's@^(deb.*games stable)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list

sed -i 's@^(deb.*science stable)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list

pkg update

3.2 安装常用软件包

# 先给软件的文件访问权限,选择允许全部文件:
termux-setup-storage
# 安装常用软件包:
pkg update
pkg install vim curl wget git tree -y

3.3 使用 tmoe 安装 proot 容器环境

使用 tmoe 是因为这个真的挺方便的,所有的操作界面都是图形化的,对新手来说可能会比较友好。

3.3.1 安装tmoe

复制下面这条命令到 Termux 端:

. <(curl -L git.io/linux.sh)

之后按回车键继续,之后会弹出语言选择界面,选择好之后一直回车直到跳转到该页面:
在这里插入图片描述

选择第一项【 proot 容器】,第一次打开它会有几个确认的步骤,一路回车直到再次进入该页面。
再次选择第一项【 proot 容器】,之后一路回车键,直到跳转到如下界面:
在这里插入图片描述

选择【arm64 发行版列表】进入容器选择界面:
在这里插入图片描述

可以通过上下方向键键或者直接触屏选择自己想要安装的容器(此处以Debian为例)。
选择不同容器之后的页面也不一样,请大家以自己实际选择为准。此处的Debain版本选择的第一个:
在这里插入图片描述

之后选择第一项【启动proot debian-sid_aem64】:
在这里插入图片描述

选择好之后就是安装过程了,遇到选择一路按回车键即可。由于数据量比较大,故下载过程会持续挺久的,请耐心等待。 期间会跳转到如下界面:
在这里插入图片描述

是否创建sudo用户 ——> 是
之后输入你想要的用户名、密码,再将刚才的账户设置为默认用户:
在这里插入图片描述

之后继续一路回车,直到跳转到以下界面:

在这里插入图片描述

该界面主要是用来安装图形界面以及安装软件的,具体请看下一部分。

3.3.2 安装图形化界面 / 安装软件

先选择第一项,安装 GUI(图形用户界面)
之后选择第一项,安装 proot_DE
在这里插入图片描述

之后选择桌面环境,个人比较喜欢第二个[ kde plasma5 ]:
在这里插入图片描述

选完之后依旧是一路回车,直到跳转到如下界面:
在这里插入图片描述

这一步设置了VNC的访问密码,待会用VNC Viewer软件连接系统就要用到这个密码。

之后继续一路回车,当 Termux 终端显示以下内容则说明VNC服务开启成功

3.4 VNC连接

打开VNC,新建一个连接。
在这里插入图片描述

地址栏输入上图红色圈圈的局域网地址,认证密码则为上面设置的VNC访问密码,键入之后点击连接,即可连接上安装好的图形化Linux系统。

在这里插入图片描述

4. 杂项

  1. 如何关闭系统?在Termux终端输入[ stopvnc ]即可关闭vnc服务,之后可以用 exit 指令退出。

  2. 如何再次打开?打开 Termux 终端,输入 [ debian ] 即可快速进入到上次启动的容器,并顺手把你的VNC打开。

  3. 手机的文件能在 Linux 系统下使用么?简单来说, Termux 已经建立了系统文件的软链接,在 root/termux/home/storage下有六个默认的文件夹分别对应安卓手机相关文件夹,想偷懒的话可以用文件管理器把文件移入这几个文件夹。当然,你也可以手动创建一个软链接来方便自己使用。

  4. 解除安卓13内存限制,否则vncserver启动后Termux会被kill signal:9

    
    adb device
    # Android 12L和Android 13
    adb shell "settings put global settings_enable_monitor_phantom_procs false"
    # Android 12,无GMS
    adb shell "/system/bin/device_config put activity_manager max_phantom_processes 2147483647"
    # Android 12,有GMS
    adb shell "/system/bin/device_config set_sync_disabled_for_tests persistent; /system/bin/device_config put activity_manager max_phantom_processes 2147483647"
    
    

参考

https://www.bilibili.com/read/cv20060713/
https://www.bilibili.com/video/BV1LP4y1a7pC
https://www.coolapk.com/feed/30495979?shareKey=NGZmY2RjMzhiZjUxNjJiNmIzMzI~&shareUid=3835310&shareFrom=com.coolapk.app_4.9.5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/97612.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

gitlab提交项目Log in with Access Token错误

目录 报错信息 问题描述 解决方案 报错信息 问题描述 在提交项目到gitlab时&#xff0c;需要添加账户信息 &#xff0c;但是报了这样一个错&#xff0c;原因应该就是路径问题&#xff0c;我在填写server地址的时候&#xff0c;就出现了路径问题&#xff0c;我把多余的几个/…

.NetCore之log4net的使用

1.首先下载log4ne的包&#xff1a; 2.添加配置文件log4net.config <?xml version"1.0" encoding"utf-8" ?> <configuration><!-- This section contains the log4net configuration settings --><log4net><appender name&q…

qt设计界面

widget.h #ifndef WIDGET_H #define WIDGET_H //防止文件重复包含#include <QWidget> //QWidget类所在的头文件&#xff0c;父类头文件 #include<QIcon> #include<QPushButton> …

ClickHouse 使用

CREATE DATABASE test on cluster ck_00_1repl; DROP TABLE local_t_ordt_order on cluster ck_00_1repl; 创建本地 local 表 CREATE TABLE test.local_order_db_t_order on cluster ck_00_1repl ( forder_id_hash String, forder_id String, fuid Int32, forder_type Int32…

Android 蓝牙开发( 二 )

前言 上一篇文章给大家分享了Android蓝牙的基础知识和基础用法&#xff0c;不过上一篇都是一些零散碎片化的程序&#xff0c;这一篇给大家分享Android蓝牙开发实战项目的初步使用 效果演示 : Android蓝牙搜索&#xff0c;配对&#xff0c;连接&#xff0c;通信 Android蓝牙实…

git-tf clone 路径有空格处理方案

git-tf clone 路径存在空格情况下&#xff0c;运行命令报错&#xff1b; 需要对路径进行双引号处理

几个nlp的小任务(机器翻译)

几个nlp的小任务(机器翻译) 安装依赖库数据集介绍与模型介绍加载数据集看一看数据集的样子评测测试数据预处理测试tokenizer处理目标特殊的token预处理函数对数据集的所有数据进行预处理微调预训练模型设置训练参数需要一个数据收集器,把处理好数据喂给模型设置评估方法参数…

Redis——》Redis的部署方式对分布式锁的影响

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

Java“魂牵”京东商品详情描述数据,京东商品详情API接口,京东API接口申请指南

要通过京东的API获取商品详情描述数据&#xff0c;您可以使用京东开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例&#xff0c;展示如何通过京东开放平台API获取商品详情&#xff1a; 首先&#xff0c;确保您已注册成为京东开放平台的开发者&#xff0c;并创…

xxl-job的简单使用

模块介绍 一、以做过的项目一为例&#xff0c;模块分配如下&#xff1a; xxl-job-admin&#xff1a;任务管理后台模块 xxl-job-executor-paofu&#xff1a;任务代码执行模块 二、以做过的项目二为例&#xff0c;模块分配如下&#xff1a; 为什么要介绍一下模块的分配&#x…

【kubernetes】使用kubepshere部署中间件服务

KubeSphere部署中间件服务 入门使用KubeSphere部署单机版MySQL、Redis、RabbitMQ 记录一下搭建过程 (内容学习于尚硅谷云原生课程) 环境准备 VMware虚拟机k8s集群&#xff0c;一主两从&#xff0c;master也作为工作节点&#xff1b;KubeSphere k8skubesphere devops比较占用磁…

【Unity开发必备】100多个 Unity 学习网址 资源 收藏整理大全【持续更新】

Unity 相关网站整理大全 众所周知&#xff0c;工欲善其事必先利其器&#xff0c;有一个好的工具可以让我们事半功倍&#xff0c;有一个好用的网站更是如此&#xff01; 但是好用的网站真的太多了&#xff0c;收藏夹都满满的(但是几乎没打开用过&#x1f601;)。 所以本文是对…

NodeJs-Buffer(缓冲器)

目录 一、概念二、特点三、使用3.1 创建Buffer3.2 Buffer 与字符串的转化3.3 Buffer 的读写 一、概念 Buffer 是一个类似于数组的 对象 &#xff0c;用于表示固定长度的字节序列 Buffer 本质是一段内存空间&#xff0c;专门用来处理 二进制数据 。 二、特点 Buffer 大小固定且…

【Docker】01-Centos安装、简单使用

参考教程&#xff1a; https://www.bilibili.com/video/BV1Qa4y1t7YH/?p5&spm_id_frompageDriver&vd_source4964ba5015a16eb57d0ac13401b0fe77 什么是Docker&#xff1f; Docker是一种开源的容器化平台&#xff0c;用于构建、打包、部署和运行应用程序。它通过使用容…

flutter和原生利用pigeon建立通道

首先导入依赖&#xff1a; dependencies: pigeon: ^10.0.0定义一个文件&#xff1a; /// 用于定于flutter和平台的桥接方法 /// HostApi() 标记的&#xff0c;是用于 Flutter 调用原生的方法&#xff1b; /// FlutterApi() 标记的&#xff0c;是用于原生调用 Flutter 的方法&…

iPhone 15 Pro与iPhone 13 Pro:最大的预期升级

如果你在2021年首次发布iPhone 13 Pro时就抢到了它,那么你的合同很可能即将到期。虽然距离iPhone 15系列还有几周的时间,但你可能已经在想:是时候把你的旧iPhone升级为iPhone 15 Pro了吗? 我们认为iPhone 13 Pro是你现在能买到的最好的手机之一。但如果你想在2023年晚些时…

数据结构】二叉树篇|超清晰图解和详解:后序篇

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生一枚&#x1f338;博主主页&#xff1a; 是瑶瑶子啦每日一言&#x1f33c;: 你不能要求一片海洋&#xff0c;没有风暴&#xff0c;那不是海洋&#xff0c;是泥塘——毕淑敏 目录 一、核心二、题目 一、核心 我们清楚…

STM32--RTC实时时钟

文章目录 Unix时间戳时间戳转换BKPRTC简介RTC框图硬件电路RTC的注意事项RTC时钟实验工程 Unix时间戳 Unix 时间戳是从1970年1月1日&#xff08;UTC/GMT的午夜&#xff09;开始所经过的秒数&#xff0c;不考虑闰秒。 时间戳存储在一个秒计数器中&#xff0c;秒计数器为32位/64…

部署问题集合(二十二)Linux设置定时任务,并设置系统时间

前言 因为项目中经常用到定时任务&#xff0c;特此总结记录一下 步骤 大部分虚拟机创建后就自带定时服务&#xff0c;直接用命令就好编辑定时任务&#xff1a;crontab -e&#xff0c;在该文件下添加如下内容开机自启&#xff1a;reboot /home/autoRun.sh定时执行&#xff1a…

走进低代码平台| iVX-困境之中如何突破传统

前言&#xff1a; “工欲善其事,必先利其器”&#xff0c;找到和使用一个优质的工具平台&#xff0c;往往会事半功倍。 文章目录 1️⃣认识走近低代码2️⃣传统的低代码开发3️⃣无代码编辑平台一个代码生成式低代码产品iVX受面性广支持代码复用如何使用&#xff1f; 4️⃣总结…