如何在安卓设备上运行Linux(使用termux+图形界面)加上换源等优化

我学生嘛,喜欢讲故事,你看看我大部分文章开头,都会有"事情的起因"一类话

当然这次也不例外哦

我最新获得了一个新平板,华为的matepad air,很喜欢。想捣鼓,不太懂,但好像鸿蒙不能直接用root,然后我又想在同学面前装一装。毕竟你看电影里是不是很多黑客在手机上操作一番后,就能远程破解密码之类的,很酷


让我说点正式点的介绍吧,内容倒确实是我写的,东拼西凑罢了

Termux 是一个开源的Android应用程序,它提供了一个完整的Linux环境,允许用户在Android设备上运行大多数Linux命令行工具和软件。它支持包管理器,用户可以通过它安装各种软件包,包括文本编辑器、编程语言环境、数据库服务器等。
以下是Termux的一些主要特点:

  • 命令行界面:Termux提供了一个标准的Unix命令行界面,用户可以使用熟悉的命令行工具。
  • 软件包管理:通过 pkg 命令,用户可以安装、更新和卸载软件包。
  • 存储管理:Termux有自己的文件系统,但它也可以访问Android设备的内部存储。
  • 网络访问:可以在Termux中运行网络服务,例如SSH和HTTP服务器。
  • 脚本支持:支持Shell脚本和Python脚本等多种脚本语言。
  • 开发环境:提供编译器和工具链,可以用于开发和编译软件。
  • 多语言支持:除了Shell,还支持多种编程语言,如Python、Node.js、Ruby等。
  • 可定制性:用户可以根据自己的需求定制Termux环境。

Termux非常适合开发者和那些希望在移动设备上使用Linux命令行工具的用户。通过Termux,用户可以在Android设备上体验类似于Linux的工作流程。
 


安装termux

​​​​​termux官网

首先咱先进入官网,大致如下

2aee277b84db4fd485826cd9882baef6.jpg

 我们这里选择github下载(F-droid好像被墙了)

链接直达(可能失效)

5b256bc1d0264a5995316e8076c772fa.jpg

你会看到很多下载链接,按理来说根据设备选择,但实测第一个解决大多数。

哦?你说github的链接打不开?那博主我也没办法啊,不同时间多试试就行了,实在不行私聊我给你发哦(不过我现在要初三了,时间不多欸)那么我们继续

下载好后打开软件,界面大致如下

fc8c09e8e0524d79a0e44f0fb46d61e6.jpg

朴实无华是吧 

换源

如何换源呢?是个好问题,我最开始直接pkg install tsinghua.sources然后貌似失败了,但是我又找到一个管用的方法如下

首先输入:pkg install vim

下载vim编辑器,大名鼎鼎

要注意哈,每次下载中间都会有提示要不要继续,给个y和n选项

然后输入export EDITOR=vim 这样把默认编辑器改成了vim

输入apt edit-sources

f6b24bf587e54f26a80b555b12d4b4b2.jpg

进入这样的页面,此时应该稍微了解下vim操作方式

先按i进入编辑

然后删除所有内容,正常按backspace就行

deb http://mirrors.tuna.tsinghua.edu.cn/termux stable main

然后复制这个进去,清华源

然后按esc按键,再输入:wq

注意哈,冒号也要输入

然后就能退出了

换源成功!!!完结撒花‘’

不过,我似乎没成功,于是翻找官方网站 

4da5a92649b6484e93c59f58f109a7c7.jpg

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

 复制这段上去即可

再次完结撒花!

如果不放心,可以再运行下

apt-get update和apt-get upgrade

嘿嘿


图形界面

还记不记得当我们最开始进入termux的时候

826a237f30d641aebbbbc744b4645487.jpg

这里有个x11,经过查询,这似乎是官方的图形界面

那么我们直接输入pkg install x11-repo

 (你也可以选用xfce,好像官方演示用的就是这个

pkg install xfce)

不过我还是拿x11来演示

接下来我也不懂,但是我实测管用,只要复制粘贴上去即可

pkg install xwayland
访问这个网站https://github.com/termux/termux-x11

343fabf3892c404a88107e03b02ab3cd.jpg

点击右下角的releases下方的链接

然后下载apk和deb安装包

apk当场安装即可,然后我们打开termux

输入ls,查看目录,应该有个downloads

cd downloads

然后进入

继续输入dpkg -i termux

然后按tab按键自动补全

之后就安装了

安装之后,难活,启动!

vim /data/data/com.termux/files/usr/bin/x11
复制粘贴这个,进入vim编辑器(按i)编辑

然后粘贴上去下面这段(使用xfce)

XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :1 &
env DISPLAY=:1 dbus-launch --exit-with-session xfce4-session
 然后按esc输入:wq来保存退出

7e04e8dd9dcb4a36af3d1176cf4b5512.jpg

然后粘贴上去 chmod +x /data/data/com.termux/files/usr/bin/x11

赋予权限

之后我们输入x11就能自动启动了

8b5f564899f64374a49f6df53f873517.jpg

完结撒花!!!!!!

给个关注呗 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

31 列表常用方法——pop()、remove()、clear()

pop()、remove()、clear() 这 3 个方法用于删除列表中的元素。 ① pop() 用于删除并返回指定位置(默认是最后一个)上的元素,如果指定的位置不是合法的索引则抛出异常,对空列表调用 pop() 方法也会抛出异常。 ② remove() 用于删除…

数学基础【俗说矩阵】:逆矩阵

逆矩阵知识 认识逆矩阵 当最矩阵A【左乘】【初等阵】多次(也就是进行多次【初等行】变化)后,得到了一个【单位阵E】。由于矩阵具有结合律,把矩阵A【左乘】的所有【初等阵】乘起来,就得到了一个新的矩阵。我们称这个能…

Date已不再推荐?为什么我们需要新的 Java 日期时间 API?(LocalDate、LocalDateTime、LocalTime 、Instant)

日期时间 API 是 Java 8 版本的最大功能之一。Java 从一开始就缺少一致的日期和时间方法,而 Java 8 日期时间 API 是对核心 Java API 的一个受欢迎的补充。 为什么我们需要新的 Java 日期时间 API? 在开始研究 Java 8 日期时间 API 之前,让我…

基于单文档的MFC图像增强

目录 function.h ColorEnhanceDib.h ColorEnhanceDib.cpp Dib.h Dib.cpp FrequencyFilterDib.h FrequencyFilterDib.cpp GrayTransformDib.h GrayTransformDib.cpp HistogramDib.h HistogramDib.cpp SharpenProcessDib.h SharpenProcessDib.cpp SmoothProcessDib.h Sm…

甄选范文“论软件测试中缺陷管理及其应用”软考高级论文,系统架构设计师论文

论文真题 软件缺陷指的是计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。在目前的软件开发过程中,缺陷是不可避免的。软件测试是发现缺陷的主要手段,其核心目标就是尽可能多地找…

Bouncy Castle实现SM2

Bouncy Castle 是一个广泛使用的开源加密库,它为Java平台提供了丰富的密码学算法实现,包括对称加密、非对称加密、哈希算法、数字签名等。在Bouncy Castle中,SM2作为一种非对称加密算法也得到了支持。 SM2算法简介 SM2是一种由中国国家密码…

动手学深度学习55 循环神经网络 RNN 的实现

动手学深度学习55 循环神经网络 RNN 的实现 从零开始实现简洁实现QA 课件:https://zh-v2.d2l.ai/chapter_recurrent-neural-networks/rnn-scratch.html 从零开始实现 %matplotlib inline import math import torch from torch import nn from torch.nn import fun…

数据结构篇

7.查找 查找效率 顺序查找,折半查找和分块查找 折半查找 分块查找 二插排序树 删除操作 二叉排序树前驱:从该节点向左,一路找到他的最右节点; 二叉排序树后继:从该节点向右,一路找到他的最左节点&#x…

1. Vue3入门

文章目录 使用create-vue创建项目关键文件<script setup>语法糖组合式API - reactive和ref函数组合式API - computed组合式API - watch组合式API - 生命周期函数组合式API - 父子通信组合式API - 模版引用组合式API - provide和inject综合案例 使用create-vue创建项目 n…

DataX 本地调试配置

简要说明 根据自己的开发需求&#xff0c;完成了reader、writer、transformer开发后&#xff0c;在ide内通过Engine入口&#xff0c;调试自己的插件和job的json。 前置条件 已在系统安装了datax&#xff0c;本例子是在windows环境下&#xff0c;安装包地址https://github.co…

<数据集>玉米地杂草识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;9900张 标注数量(xml文件个数)&#xff1a;9900 标注数量(txt文件个数)&#xff1a;9900 标注类别数&#xff1a;2 标注类别名称&#xff1a;[Maize, Weed] 序号类别名称图片数框数1Maize8439125142Weed959231048…

【Linux网络】应用层协议:HTTP 与 HTTPS

本篇博客整理了 TCP/IP 分层模型中应用层的 HTTP 协议和 HTTPS协议&#xff0c;旨在让读者更加深入理解网络协议栈的设计和网络编程。 目录 一、协议是什么 1&#xff09;结构化数据的传输 2&#xff09;序列化和反序列化 补&#xff09;网络版计算器 .1- 协议定制 .2- …

CSS(三)——CSS 背景

CSS 背景 CSS 背景属性用于定义HTML元素的背景。 CSS 背景属性 Property描述background简写属性&#xff0c;作用是将背景属性设置在一个声明中。background-attachment背景图像是否固定或者随着页面的其余部分滚动。background-color设置元素的背景颜色。background-image把…

数据结构系列-插入排序和希尔排序

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 排序的概念 常见的排序算法&#xff1a; 插入排序 直接插入排序是一种简单的插入排序法&#xff0c;其基本思想是&#xff1a; 把待排序的记录按其关键码值的大小逐个插入到…

API 技术开发分享:连接电商平台数据获取的桥梁

在当今数字化的时代&#xff0c;API&#xff08;Application Programming Interface&#xff0c;应用程序编程接口&#xff09;技术成为了实现不同系统之间通信和数据交换的关键。它就像是一座无形的桥梁&#xff0c;使得各种应用能够相互协作&#xff0c;共享资源&#xff0c;…

react.16+

1、函数式组件 在vite脚手架中执行&#xff1a; app.jsx: import { useState } from react import reactLogo from ./assets/react.svg import viteLogo from /vite.svg import ./App.cssfunction App() {console.log(this)return <h2>我是函数式组件</h2> }exp…

请你谈谈:vue的渲染机制(render)- 1 原理讲解

Vue 是如何将一份模板转换为真实的 DOM 节点的&#xff0c;又是如何高效地更新这些节点的呢&#xff1f;我们接下来就将尝试通过深入研究 Vue 的内部渲染机制来解释这些问题。 1 虚拟 DOM <template><div id"app">this is son component</div> &…

《javaEE篇》--阻塞队列详解

阻塞队列 阻塞队列概述 阻塞队列也是一种队列&#xff0c;和普通队列一样遵循先进先出的原则&#xff0c;但是阻塞队列相较于普通队列多了两项功能阻塞添加和阻塞移除&#xff0c;使得阻塞队列成为一种线程安全的数据结构 阻塞添加&#xff1a;当队列满的时候继续入队就会阻…

UE4 UnrealPak加密功能(配置AES encrypt key)

本文的重点在于如何使用UnrealPak的加密功能&#xff0c;以及相关的UE4源代码学习。本文参考了&#xff1a;https://www.cnblogs.com/shiroe/p/14803859.html 。 设置密钥 在编辑、项目设置中找到下面栏目&#xff0c;并点击“生成新的加密密钥”&#xff0c;就可以为Unreal P…

unity2D游戏开发10生命条脚本

HitPoints 在ScriptableObjects文件夹中创建新的脚本,叫HitPoint using System.Collections; using System.Collections.Generic; using UnityEngine;//创建条目,方便轻松创建HitPoints的实例 [CreateAssetMenu(menuName ="HitPoints")] public class HitPoints :…