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

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

前言

真没想到一个Termux我居然玩了一个月之多,我的初衷只是想探求在手机上进行编程的可能性,当然不是看看那种,而是真正能用的那种,结果没想到折腾来折腾去居然就花了要一个月的时间。是时候将这些折腾的内容汇总成文档了,不然过个半年一年了,自己都快忘光了。

我相信这篇文章会为打开大家新世界的大门。

鸣谢

对于这篇文章帮助最大的自然是B站的这位up:qwe5283,他的两个Termux相关的视频对我有巨大帮助,当然我也是在他的同意下才写的这个系列的文章。

qwe5283的个人空间-qwe5283个人主页-哔哩哔哩视频

【教程】用Termux搭建桌面级生产力环境_哔哩哔哩_bilibili

【Termux】关于此前教程内容的补充信息_哔哩哔哩_bilibili

材料准备

Android端

Android手机一台,Android版本不能太低,配置不能太低,CPU:骁龙865及以上,运行内存:8G及以上,存储:128G及以上。不需要root,可以说相当便捷了

Termux APP:建议Github上下载,Releases · termux/termux-app · GitHub

Termux-X11 APP:还是建议Github上下载,Release Nightly Release 20241128 · termux/termux-x11 · GitHub

PC端

RealVNC Viewer:VNC客户端,用于连接手机搭建的VNC服务器,下载地址:RealVNC7全自动安装脚本 v2.2.4使用教程_哔哩哔哩_bilibili

只需要安装客户端即可,不需要安装服务端

FinalShell:ssh工具,用于远程连接Termux,摆脱在手机上龟速敲命令

FinalShell官网

Filezilla Client:SFTP工具,用于远程连接手机查看目录结构以及传输文件,传输文件神器

Download FileZilla Client for macOS (Intel)

目前先放这些东西,以免放太多了让大家产生厌恶感,哈哈🤣

ADB工具(可选):用于下一步解除幻影进程杀手功能

环境准备

这一步Android11及以下手机可以忽略,因为Android12才推出了PhantomProcessKiller(幻影进程杀手)功能,这个功能会杀死占用过高CPU或者子进程过多(32个)的应用,会导致Termux出现Process completed (signal 9)错误

如果是小米手机就只需要进入开发者模式,打开“停止限制子进程”

这样就能关闭幻影进程杀手功能。

如果不是小米手机,或者开发者模式中没有这个选项,可以通过adb命令关闭

Android12以上

adb shell "settings put global settings_enable_monitor_phantom_procs false"

Android12

adb shell "device_config put activity_manager max_phantom_processes 65536"

安装与保活

安装Termux和Termux X11这两个APP到手机里,安装完成后先别急着用这个APP,首先就需要打开这个APP的应用信息

找到“省电策略”,进入省电策略后将后台配置改为“无限制”,不改的后果是Termux在手机息屏后会被系统刻意降低CPU功率,导致这个APP奇慢无比,性能严重下降,大概只有亮屏前台时15%的性能,如果在后台应用多的情况下被系统强制关闭。如果不该无限制,你只能保持Termux处于前台,且屏幕保持亮屏,这很有可能导致手机屏幕烧屏。

下一步就是对APP进行保活,防止其在后台被系统意外终止。小米/红米手机桌面从底部往上滑动,唤出进程列表页面,点击锁型图标,即可为应用加锁,防止被系统清理。

正式起航

哈哈,都1500多字了,正文才刚刚开始😂,我们终于可以打开Termux正式开始使用了,在安装ssh前只能在手机上手动输入命令。

我跟大家一样,我拿了一个什么都没装个的小米11,跟大家一起重新踏上安装Termux的旅程,保证我的教程不会出现问题

第一步:开启共享目录

termux-setup-storage

打开“授予管理所有文件的权限”这个开关,让Termux可以访问系统文件

第二步:切换源,不切换源安装软件实在太慢了

termux-change-repo

在这个界面直接用手机按回车即可

然后进入下个界面注意了!!需要通过屏幕键盘按下键选择到“Chinese Mainland”,然后必须按一下空格键确认选择才行!!否则是不生效的!!最后按回车完成该切换!!

第三步:安装openssh,这个主要是为了用FinalShell进行远程连接,这样就不需要慢吞吞在手机上敲命令了,我可以直接通过复制博客中的命令贴到FinalShell里,能省很多时间

pkg i -y openssh

第四步:设置用户密码

passwd

输入两遍密码即可,建议不要搞太复杂,以免两次密码输入的不一致

第五步:启动ssh

sshd

当然这样还没完,你得知道你自己是谁,和手机的IP地址才行,whoami,查看你自己是谁,ifconfig查看当前手机的IP地址

whoami
ifconfig

像我这台小米11用户名就是u0_a149,后面的149是随机生成的,大家的大概率不通。IP地址为192.168.0.210,然后我就可以用FinalShell连接上这台手机了。

FinalShell连接手机

在FinalShell中新建一个连接,将上一步的信息都填上,注意!!这里的端口是8022,而不是22,因为Termux没有root权限,无法使用1000以下的端口,因此默认的ssh端口为8022

点击“接受并保存”,即可连接上手机Termux

连上后就像这样:

sshd自启

为了防止各位每次重开Termux都需要手动输入sshd来打开远程连接,我这里介绍一下如何让sshd自启。我也是纳闷,这个Termux安装完居然也不自动生成一个.bashrc文件,还得自己去建一个,不像别的发行版,一般都自带。

touch .bashrc
nano .bashrc

进入nano文本编辑器,在其中输入

sshd

然后按ctrl+O,然后按一下回车键,确认保存,再按ctrl+X退出nano编辑器。然后大家可以划掉Termux,再重启,直接用FinalShell连,看看能不能直接连上,如果能说明sshd自启没有问题了。

常见问题

1、Github无法打开,这个懂得都懂,文章里不便说明

2、如何打开开发者人员选项,一般来说在手机的“全部参数信息”中,然后点击手机的系统版本号,连按6下即可打开手机的开发者人员选项,各个品牌的手机有所不同,请自行查阅相关信息

3、手机无法使用adb连接,需要在开发者人员选项中打开USB调试才可以,打开后需要同意连接的电脑USB调试才行

4、FinalShell无法连接上Termux,这里有很多种可能,第一个就是没有安装openssh。第二个没有输入sshd打开ssh连接,还有就是端口是8022而不是默认的22。第三个是没有改默认用户的密码,导致没有密码无法连接。

结语

该篇为《使用Termux搭建可以使用的生产力环境》的第一篇,带大家入门安装远程连接使用Termux,后面几篇这几天会慢慢更新,有问题大家可以在评论区指出,另外想要和作者吹水可以来群170618278,另外给up:qwe5283的视频多多三连,谢谢各位!!


http://www.kler.cn/a/420219.html

相关文章:

  • KAN-Transfomer——基于新型神经网络KAN的时间序列预测
  • 12.2深度学习_项目实战
  • 前端开发 之 15个页面加载特效上【附完整源码】
  • 乐橙云小程序插件接入HbuilderX
  • 是什么阻断了kafka与zk的链接?
  • Python 入门教程(2)搭建环境 | 2.4、VSCode配置Node.js运行环境
  • golang用errgroup的一个小小坑
  • UIlicious - 自动化端到端测试
  • Oracle 建表的存储过程
  • YOLOv11改进,YOLOv11添加SAConv可切换空洞卷积,二次创新C3k2结构
  • Dockerfile 安装echarts插件给java提供服务
  • animate.css和wow.js结合使用实现动画效果
  • 【Windows 11专业版】使用问题集合
  • .net —— Razor
  • 自签发证书配置 HTTPS 单向双向验证
  • 第三方Cookie的消亡与Google服务器端标记的崛起
  • 详解HTML5语言
  • 鸿蒙Next网络请求和解析
  • node.js基础学习-crypto模块-加密解密(九)
  • Java项目实战II基于微信小程序的亿家旺生鲜云订单零售系统的设计与实现(开发文档+数据库+源码)
  • [代码随想录06]哈希表的使用,有效字母异位词,两数组交集,快乐数,两数之和
  • 分层图最短路
  • BGP通过route-policy路由策略调用ip-prefix网络前缀实现负载均衡与可靠性之AS-path属性
  • ES6中,Set和Map的区别
  • 对载入的3dtiles进行旋转、平移和缩放变换。
  • 解决git clone与git push出现的若干问题:Failed to connect to github.com port 443: Timed out