Termux 入门与实践
文章首发于个人公众号:阿拉平平
最近读了阮一峰老师关于 Termux[1] 的博客,刚好手边有闲置的安卓机,于是抽空折腾了下,特此记录和分享一下。
Termux 简介
Termux 是一款安卓平台下模拟 Linux 环境的 app。可以直接使用,无需 root 或 额外设置。支持 apt 进行软件包管理。
环境准备
本章包含以下内容:
- 下载与安装(必需)
- 修改安装源
- 管理软件包
下载与安装
目前 官网[2] 提供两种下载渠道:Google Play
和 F-Droid
,最新版本为 0.72。如果安装无误,将会看到以下界面:
修改安装源
由于官方源下载速度较慢,建议将安装源修改为国内源。修改方法如下:
# 设置默认编辑器
$ export EDITOR=vi# 编辑源文件
$ apt edit-sources
其实还有个简便方法:
$ vi $PREFIX/etc/apt/sources.list
将安装源修改为 http://mirrors.tuna.tsinghua.edu.cn/termux
,保存退出。
管理软件包
除了 apt,Termux 在此基础上还封装了 pkg 命令,向下兼容 apt。pkg 在运行前会执行一次 apt update
,保证安装的包是最新版本。
apt:
# 连接远程仓库,获取软件包信息
$ apt update# 更新本地已经安装的软件包
$ apt upgrade
pkg:
pkg search <query> 搜索包
pkg install <package> 安装包
pkg uninstall <package> 卸载包
pkg reinstall <package> 重新安装包
pkg update 更新源
pkg upgrade 升级软件包
pkg list-all 列出可供安装的所有包
pkg list-installed 列出已经安装的包
pkg shoe <package> 显示某个包的详细信息
pkg files <package> 显示某个包的相关文件夹路径
Termux 实践
本章包含以下内容:
- 配置 SSH
- 下载手机文件
- 安装 Ubuntu
配置SSH
由于自己在手机上打字效率堪忧,所以我决定先在 Termux 上配置个 SSH 服务,让 PC 端能够远程连接到手机。
# 安装SSH服务
$ pkg install openssh# 设置密码
$ passwd# 启动sshd服务
$ sshd
配置完成后,确认下 SSH 连接的相关信息。需要注意的是,Termux 的 sshd 服务默认监听在 8022 端口上。
# 查询手机ip,以实际手机ip为准
$ ifconfig
=> 192.168.10.222# 查询当前用户
$ whoami
u0_a131# 确认ssh服务的监听端口
netstat -ntlp | grep sshd
tcp 0 0 0.0.0.0:8022 0.0.0.0:* LISTEN 28618/sshd
tcp6 0 0 :::8022 :::* LISTEN 28618/sshd
信息确认后就可以连接了,命令如下:
$ ssh u0_a131@192.168.10.222 -p 8022
下载手机文件
阮老师博客中通过 Node.js 运行 Http Server 来实现,这里我准备用 Python 来测试下。
访问手机存储目录需要先请求权限,执行以下命令:
# 访问本机存储
$ termux-setup-storage
执行命令后,手机会弹框询问是否授权,"允许"即可。
授权后会在家目录下生成 storage 子目录。其中包含很多软链接文件,指向手机实际的存储目录。
安装python并启动 HTTP 服务。
# 安装 python3。如需安装 python2,则执行pkg install pyton2。
$ pkg install python# 启动 HTTP 服务。
$ python -m http.server 8080
在浏览器上输入地址http://192.168.10.222:8080/storage/
下载文件。
安装 Ubuntu
Termux 支持安装其它 Linux 发行版。我测试安装了个 Ubuntu。具体 步骤[3] 如下:
apt-get update && apt-get upgrade -y
# proot包的作用是允许未root的手机模拟管理员用户
apt-get install wget proot git -y
cd ~
git clone https://github.com/MFDGaming/ubuntu-in-termux.git
cd ubuntu-in-termux
chmod +x ubuntu.sh
./ubuntu.sh
cp ~/ubuntu-in-termux/resolv.conf ~/ubuntu-in-termux/ubuntu-fs/etc/
./start.sh
执行./start.sh
脚本后可以看到 Ubuntu 已经安装成功了。
$ cat /etc/issue
Ubuntu 19.04 \n \1
写在后面
通过 Termux 终端,您完全可以将自己闲置的安卓机改造成台开发机。由于自己折腾 Termux 时间有限,很多高级玩法还未深入涉及。这篇文章算是抛砖引玉吧。
部分内容参考了网上的一些资料和文档,如果您对 Termux 也感兴趣或者想深入了解的话,推荐阅读这篇文章[4],写得非常详细。
参考文档:
[1] 阮一峰的网络日志 - Termux 入门教程:架设手机 Server 下载文件 http://www.ruanyifeng.com/blog/2019/07/termux-tutorial.html
[2] Termux官网 https://termux.com/
[3] Ubuntu - Termux Wiki https://wiki.termux.com/wiki/Ubuntu
[4] 国光 - Termux 高级终端安装使用配置教程 https://www.sqlsec.com/2018/05/termux.html
Termux 入门与实践相关推荐
- 计算机编程书籍-Python硬件开发树莓派从入门到实践无人驾驶 AndroidTV 自动循迹
内容简介 <Python硬件开发树莓派从入门到实践>全书可大致分为4个部分,其中第13章介绍了树莓派的基本使用:第4章介绍了如何在树莓派上使用Python的OpenCV包:第58章介绍了树 ...
- 免费送书啦!《 OpenCV图像处理入门与实践》一本全搞定
OpenCV 的基础图像操作都只是针对图像中的像素点,并不是直接对图像整体进行的操作.而很多时候并不能仅通过改变像素点来进行图像的操作,为此我们需要学习关于图像的算术操作. 1.图像加法 对于两张相同 ...
- python快速编程入门课后简答题答案-Python编程:从入门到实践(第2版)第1章习题答案...
<Python编程:从入门到实践>是一本不错的书.第2版已经公开预售,预计会在10月份正式上市. 动手试一试 本章的练习都是探索性的,但从第2章开始将要求你用那一章学到的知识来解决问题. ...
- python入门到实践-一本书搞定Python入门到实践
上周介绍了几本Python从入门到进阶书籍,今天继续推荐好书,这本书是<Python编程:从入门到实践>.入门 Python 最好的书之一,适合零基础小白,也适合有其它语言背景的程序员 书 ...
- python如何导入txt数据集-终于找到python入门到实践数据集
Python是一款功能强大的脚本语言,具有丰富和强大的库,重要的是,它还具有很强的可读性,易用易学,非常适合编程初学者入门.以下是小编为你整理的python入门到实践数据集 环境配置:下载Python ...
- python编程 从入门到实践怎么样-python编程从入门到实践这本书怎么样
<Python编程-从入门到实践>作者: Eric Matthes,已翻译为中文,人民邮电出版社出版. python编程从入门到实践怎么样? 我们一起看看已经学习的同学对这本书的口碑和评价 ...
- python编程入门到实践 百度云-python网络爬虫从入门到实践pdf
python网络爬虫从入门到实践pdf是一本非常热门的编程教学.这本书籍详细讲解了Python以及网络爬虫相关知识,非常适合新手阅读,需要的用户自行下载吧. Python网络爬虫从入门到实践电子书介绍 ...
- python编程入门指南怎么样-python编程从入门到实践这本书怎么样
<Python编程-从入门到实践>作者: Eric Matthes,已翻译为中文,人民邮电出版社出版. python编程从入门到实践怎么样? 我们一起看看已经学习的同学对这本书的口碑和评价 ...
- python小项目实例流程-《Python编程:从入门到实践》DEMO实例代码
这篇文章主要知识点是关于Python编程,从入门到实践,DEMO,,的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书 前言 之前,项目后台基本都是使用 Java 的 SpringBo ...
最新文章
- 云从科技3D人体重建技术刷新3项纪录!仅凭照片即可生成精细模型
- 使用时空-频率模式分析从脑电数据的一些试验中提取N400成分
- Android ListView不响应OnItemClickListener解决办法
- Mybatis的SqlSession运行原理
- mysql数据库表迁移
- linux 隐藏脚本运行,linux – 为什么在运行ls时隐藏此文件?
- Android使用webview控件加载本地html,通过Js与后台Java实现数据的传递
- 【转】VScode快捷键(超无敌详细版)
- 如何避免JS内存泄漏?
- 【Codeforces】925A Stairs and Elevators【贪心】
- VB.NET项目技术总结
- Redisson 实现分布式锁
- 客户关系管理系统中实现对客户信息标记颜色的处理
- 数据结构上机实践第八周项目6- 猴子选大王(数组版)
- 整数输入问题一百二十九:阿基米德特性
- 实验八555定时器及其应用
- 光纤传输相关问题及讨论
- ROC曲线和AUC面积理解
- 嵌入式成长轨迹33 【嵌入式学习阶段】【ARM环境调试】【在虚拟机下Ubuntu建立NFS网络文件系统】...
- markdown画图之一:流程图(flowchart)