当前位置: 首页 > news >正文

【合作原创】使用Termux搭建可以使用的生产力环境(二)

前言

上期文章没看的可以先从上期文章开始看起

【合作原创】使用Termux搭建可以使用的生产力环境(一)-CSDN博客

目前我们已经完成了FinalShell ssh连接手机Termux的功能了,这期我们继续朝我们的目标前进。今天早上有读者进群以为生成环境指的是搭建服务器,比如部署MySQL、Redis之类的,其实不是,我这期的文章的目标是搭建代码开发环境,而不是服务器环境

安装proot-distro

这玩意可以提供一个类似于虚拟机的容器环境,但是它又不需要虚拟化支持,还不需要root,借助这玩意你可以在你的Termux中安装多个Linux发行版,也就是说你可以在你的手机里安装你想要的Linux发行版了(毕竟Android就是Linux魔改的,在Linux里通过proot再运行一个Linux也会正常,不是吗😁),不过镜像限定为proot-distro中给你做好的。

pkg i -y  proot-distro

展示可用镜像

proot-distro list

执行后即可看到proot-distro提供的镜像列表:

不瞒大家说目前我只试过Debian、Ubuntu(24.04、22.04)、deepin这四个版本。

笔者不建议大家使用Ubuntu,因为Ubuntu目前使用snap作为包管理工具,但是基于容器的proot无法提供systemctl,也就是说无法启动snapd,导致大量的应用无法安装,其中包括Chromium和普通版本的Firefox,如果要用浏览器只能使用Firefox的esr版本,另外输入法安装也是个大坑。

安装Debian

笔者这里推荐Debian(bookworm),因为目前这个版本的Debian还不使用snap来安装包,因此不会出现大量安装包无法安装的情况,还有有点就是Debian的软件生态非常丰富,至少比deepin多不少。

使用下面命令安装Debian系统

proot-distro install debian

目前第一个坑已经出现了

这个包是在Github上的,目前国内环境可能无法访问Github上的包,如果大家下不了或者下载非常慢的话,请及时按Ctrl+C终止该进程:

https://github.com/termux/proot-distro/releases/download/v4.7.0/debian-bookworm-aarch64-pd-v4.7.0.tar.xz

这个很简单,把这个URL直接复制出来,放迅雷里面,直接下载!如果下载不了也没关系,免费使用超级会员,神奇的事情发生了,这tar包以极快的速度被迅雷给下完了,你就说神不神奇吧,别问我为什么,我也不知道为什么🤣

上传到手机中

创建站点

上一篇里让大家安装的Filezilla Client大家安装了吗,这里可是要用到了哦

打开Filezilla,点击左上角的“站点管理器”,顶部标题栏上的主机输入框默认用的是FTP协议而不是SFTP!!

按照下图进行设置,注意必须是SFTP协议!!SSH服务器默认支持SFTP,因此这里填写的信息其实和你FinalShell中填写的ssh信息是一摸一样的

连接手机

建立完成后点击右下方的连接即可连接到手机

目录说明

Termux用户根目录如下:

.ssh:安装完ssh后有,记录的是ssh相关信息,具体可以看我之前的博客,和其他Linux发行版是一样的

【原创】三台CentOS7非root用户间实现相互间的免密登录_服务器之间可以用多个账号进行免密登录吗-CSDN博客

.termux:Termux的配置信息,具体细节还有待研究

storage:这目录重磅了!!打开后你就会发现就是手机的存储根目录的一堆软连接,指向的是/storage/emulated/0/下的部分目录,而/storage/emulated/0是什么呢,不就是手机的内部存储吗,第一篇中的termux-setup-storage就是用于打开内部存储的。

在FinalShell中进入storage目录后,执行ls -l,即可看见以下内容:

cd storage
ls -l

在Filezilla中的远程站点的路径中复制粘贴一下/storage/emulated/0,然后回车,即可进入手机内部存储根目录

大家要问了这有什么用呢?很简单,拜拜了数据线,直接通过Filezilla Client就能通过WIFI网络随时向手机传输/获取文件了

上图为WIFI6向我小米11传输视频的速度情况,实测可以达到100MB/s的速度,这比小米11的Type C USB2.0的30MB/s快太多了,无线比有线还快不少,还能省去用线连接电脑的麻烦。

如果要传输照片也很简单,在远程站点中输入/storage/emulated/0/DCIM/Camera,即可进入相机目录,要传什么照片到电脑,直接框选后下载就行了。

.bash_history:记录历史执行过的命令

.bashrc:用户Bash Shell的配置文件,在用户登录时会自动执行其中的内容,sshd自启就是使用了这个功能

上传tar包到手机里

不好意思,刚才跑题跑的有点远了,主要是向大家介绍Termux的附加功能,这里继续我们的目标。将tar包上传到正确的目录中

在远程站点中输入:/data/data/com.termux/files/usr/var/lib/proot-distro/dlcache

将tar包上传到该目录下:

再次安装Debian

proot-distro install debian

经过几分钟安装,如果包没问题,肯定是能完成安装的

进入Debian系统

很明显proot-distro已经提示大家怎么进入了

proot-distro login debian

大家梦寐以求的root权限就有了,不过仅限proot容器内,手机如果之前没有root,Termux也是无法获取root的

常见问题

1、proot-distro下载安装很慢,参考第一章的“正式起航”,这里有说明如何更换Termux镜像源

2、proot-distro的Debian镜像通过迅雷也下载不到,我这里提供了网盘链接

debian-bookworm-aarch64-pd-v4.7.0.tar.xz官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘

3、Filezilla Client无法连接手机,注意不要为了省事在地址栏输入,就像下图一样,默认用的是FTP协议,这是连接不了的

4、Filezilla Client中无法访问手机内部存储,参考第一章的“正式起航”,打开文件访问权限即可

结语

本章介绍了proot-distro的安装使用,以及Termux传输文件的实用技巧,以后大家就能免数据线随便在电脑和手机间传输文件了。然后是正确在Termux中安装Debian系统,在下一章中,还是和Linux一般的发行版一样,从更换镜像源开始一步步讲起,大家敬请期待。

最后和之前一样,有问题大家可以在评论区指出,另外想要和作者吹水可以来群170618278,另外给up:qwe5283的Termux视频多多三连,谢谢各位!!

相关文章:

【合作原创】使用Termux搭建可以使用的生产力环境(二)

前言 上期文章没看的可以先从上期文章开始看起 【合作原创】使用Termux搭建可以使用的生产力环境(一)-CSDN博客 目前我们已经完成了FinalShell ssh连接手机Termux的功能了,这期我们继续朝我们的目标前进。今天早上有读者进群以为生成环境指…...

微积分复习笔记 Calculus Volume 2 - 3.3 Trigonometric Substitution

3.3 Trigonometric Substitution - Calculus Volume 2 | OpenStax...

vue2+svg+elementui实现花瓣图自定义el-select回显色卡图片

项目需要实现花瓣图,但是改图表在echarts,highCharts等案例中均未出现,有类似的韦恩图,但是和需求有所差距; 为实现该效果,静态图表上采取svg来手动绘制花瓣: 确定中心点,以该点为中…...

记录一次网关异常

记一次网关异常 网关时不时就会出现下面的异常。关键是不知道什么时候就会报错,并且有时候就算什么都不操作,也会导致这个异常。 ERROR org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in schedul…...

计算机网络——不同版本的 HTTP 协议

介绍 HTTP,即超文本传输协议(HyperText Transfer Protocol),是应用层的一个简单的请求-响应协议,它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。本文将介绍 HTTP 协议各个版本。 HTTP/1.0 HTTP/1…...

使用 LLaMA-Factory 微调

git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -e . pip install tf-keras[dataset_info.json](dataset_info.json) 包含了所有可用的数据集。如果您希望使用自定义数据集,请**务必**在 dataset_info.json 文件中添加*数据…...

vue2 虚拟DOM 和 真实DOM (概念、作用、Diff 算法)

虚拟 DOM 和 真实DOM&#xff08;概念、作用、Diff 算法&#xff09; 1.1 概念 真实 DOM&#xff08;Document Object Model&#xff09;&#xff1a;是浏览器中用于表示文档结构的树形结构。 <h2>你好</h2>虚拟DOM&#xff1a;用 JavaScript 对象来模拟真实 DOM…...

GEOBench-VLM:专为地理空间任务设计的视觉-语言模型基准测试数据集

2024-11-29 ,由穆罕默德本扎耶德人工智能大学等机构创建了GEOBench-VLM数据集&#xff0c;目的评估视觉-语言模型&#xff08;VLM&#xff09;在地理空间任务中的表现。该数据集的推出填补了现有基准测试在地理空间应用中的空白&#xff0c;提供了超过10,000个经过人工验证的指…...

说说Elasticsearch查询语句如何提升权重?

大家好&#xff0c;我是锋哥。今天分享关于【说说Elasticsearch查询语句如何提升权重&#xff1f;】面试题。希望对大家有帮助&#xff1b; 说说Elasticsearch查询语句如何提升权重&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Elasticsearch 中&…...

2-2-18-9 QNX系统架构之文件系统(一)

阅读前言 本文以QNX系统官方的文档英文原版资料为参考&#xff0c;翻译和逐句校对后&#xff0c;对QNX操作系统的相关概念进行了深度整理&#xff0c;旨在帮助想要了解QNX的读者及开发者可以快速阅读&#xff0c;而不必查看晦涩难懂的英文原文&#xff0c;这些文章将会作为一个…...

Unity类银河战士恶魔城学习总结(P156 Audio Settings音频设置)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址&#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了音频的大小设置与保存加载 音频管理器 UI_VolumeSlider.cs 定义了 UI_VolumeSlider 类&#xff0c;用于处理与音频设置相关的…...

springboot vue 会员收银系统 (12)购物车关联服务人员 订单计算提成 开源

前言 完整版演示 http://120.26.95.195/ 开发版演示 http://120.26.95.195:8889/ 在之前的开发进程中&#xff0c;我们完成订单的挂单和取单功能&#xff0c;今天我们完成购物车关联服务人员&#xff0c;用户计算门店服务人员的提成。 1.商品关联服务人员 服务人员可以选择 一…...

P3916 图的遍历(Tarjan缩点和反向建边)

P3916 图的遍历 - 洛谷 | 计算机科学教育新生态 写法一&#xff1a;Tarjan 思路&#xff1a;先运用Tarjan算法得到每个连通块中最大的编号&#xff0c;然后对每个连通块进行缩点重新建图&#xff0c;进行dfs&#xff0c;得到缩点后的连通块能够达到的最大编号。 Code: conste…...

Android13 允许桌面自动旋转

一&#xff09;需求-场景 Android13 实现允许桌面自动旋转 Android13 版本开始后&#xff0c;支持屏幕自动旋转&#xff0c;优化体验和兼容性&#xff0c;适配不同屏幕 主界面可自动旋转 二&#xff09;参考资料 android framework13-launcher3【06手机旋转问题】 Launcher默…...

cocotb value cocotb—基础语法对照篇

cocotb—基础语法对照篇 import cocotb from cocotb.triggers import Timer from adder_model import adder_model from cocotb.clock import Clock from cocotb.triggers import RisingEdge import randomcocotb.test() async def adder_basic_test(dut):"""Te…...

001-SpringBoot整合日志

SpringBoot整合日志 一、引入依赖二、配置 application.yml三、配置文件 logback.xml四、配置文件 WebConfigurerAdapter五、配置常量文件六、配置拦截器七、效果展示一、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId&…...

【Java基础面试题011】什么是Java中的自动装箱和拆箱?

相关知识补充&#xff1a;《Java从入门到精通(JDK17版)》_尚硅谷电子书.pdf Autism_Btkrsr/Blog_md_to_pdf - 码云 - 开源中国 (gitee.com) 回答重点 自动装箱&#xff1a;Java编译器自动将基本数据类型转换为包装类型 自动拆箱&#xff1a;Java编译器自动将包装类转换为基…...

ERROR in [eslint] Invalid Options ‘extensions‘ has been removed.

看着这个报错 感觉是版本不对引起的 ERROR in [eslint] Invalid Options: - Unknown options: extensions - extensions has been removed. ERROR in Error: Child compilation failed: [eslint] Invalid Options: - Unknown options: extensions - extensions has b…...

消息传递神经网络(Message Passing Neural Networks, MPNN)

消息传递神经网络&#xff08;Message Passing Neural Networks, MPNN&#xff09; 一、引言二、消息传递框架概述1.消息传递阶段&#xff08;1&#xff09;消息生成与传播-message&#xff08;2&#xff09;消息聚合-aggregate&#xff08;3&#xff09;消息更新-update&#…...

常用图像变换方法

伽马变换: void gamma_transform(cv::Mat &img, double gamma) {cv::Mat normalized;img.convertTo(normalized, CV_64F...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架&#xff0c;并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下&#xff0c;重新定义算法中的某些步骤。简单来说&#xff0c;就是在一个方法中定义了要执行的步骤顺序或算法框架&#xff0c;但允许子类…...

sshd代码修改banner

sshd服务连接之后会收到字符串&#xff1a; SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢&#xff1f; 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头&#xff0c…...

小智AI+MCP

什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析&#xff1a;AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github&#xff1a;https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...

Linux入门课的思维导图

耗时两周&#xff0c;终于把慕课网上的Linux的基础入门课实操、总结完了&#xff01; 第一次以Blog的形式做学习记录&#xff0c;过程很有意思&#xff0c;但也很耗时。 课程时长5h&#xff0c;涉及到很多专有名词&#xff0c;要去逐个查找&#xff0c;以前接触过的概念因为时…...

2025 后端自学UNIAPP【项目实战:旅游项目】7、景点详情页面【完结】

1、获取景点详情的请求【my_api.js】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http(/login/getWXSessionKey, {code,avatar}); };//…...

【2D与3D SLAM中的扫描匹配算法全面解析】

引言 扫描匹配(Scan Matching)是同步定位与地图构建(SLAM)系统中的核心组件&#xff0c;它通过对齐连续的传感器观测数据来估计机器人的运动。本文将深入探讨2D和3D SLAM中的各种扫描匹配算法&#xff0c;包括数学原理、实现细节以及实际应用中的性能对比&#xff0c;特别关注…...

WEB3全栈开发——面试专业技能点P8DevOps / 区块链部署

一、Hardhat / Foundry 进行合约部署 概念介绍 Hardhat 和 Foundry 都是以太坊智能合约开发的工具套件&#xff0c;支持合约的编译、测试和部署。 它们允许开发者在本地或测试网络快速开发智能合约&#xff0c;并部署到链上&#xff08;测试网或主网&#xff09;。 部署过程…...