文章首发于个人公众号:阿拉平平

最近读了阮一峰老师关于 Termux[1] 的博客,刚好手边有闲置的安卓机,于是抽空折腾了下,特此记录和分享一下。

Termux 简介

Termux 是一款安卓平台下模拟 Linux 环境的 app。可以直接使用,无需 root 或 额外设置。支持 apt 进行软件包管理。

环境准备

本章包含以下内容:

  • 下载与安装(必需)
  • 修改安装源
  • 管理软件包

下载与安装

目前 官网[2] 提供两种下载渠道:Google PlayF-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 入门与实践相关推荐

  1. 计算机编程书籍-Python硬件开发树莓派从入门到实践无人驾驶 AndroidTV 自动循迹

    内容简介 <Python硬件开发树莓派从入门到实践>全书可大致分为4个部分,其中第13章介绍了树莓派的基本使用:第4章介绍了如何在树莓派上使用Python的OpenCV包:第58章介绍了树 ...

  2. 免费送书啦!《 OpenCV图像处理入门与实践》一本全搞定

    OpenCV 的基础图像操作都只是针对图像中的像素点,并不是直接对图像整体进行的操作.而很多时候并不能仅通过改变像素点来进行图像的操作,为此我们需要学习关于图像的算术操作. 1.图像加法 对于两张相同 ...

  3. python快速编程入门课后简答题答案-Python编程:从入门到实践(第2版)第1章习题答案...

    <Python编程:从入门到实践>是一本不错的书.第2版已经公开预售,预计会在10月份正式上市. 动手试一试 本章的练习都是探索性的,但从第2章开始将要求你用那一章学到的知识来解决问题. ...

  4. python入门到实践-一本书搞定Python入门到实践

    上周介绍了几本Python从入门到进阶书籍,今天继续推荐好书,这本书是<Python编程:从入门到实践>.入门 Python 最好的书之一,适合零基础小白,也适合有其它语言背景的程序员 书 ...

  5. python如何导入txt数据集-终于找到python入门到实践数据集

    Python是一款功能强大的脚本语言,具有丰富和强大的库,重要的是,它还具有很强的可读性,易用易学,非常适合编程初学者入门.以下是小编为你整理的python入门到实践数据集 环境配置:下载Python ...

  6. python编程 从入门到实践怎么样-python编程从入门到实践这本书怎么样

    <Python编程-从入门到实践>作者: Eric Matthes,已翻译为中文,人民邮电出版社出版. python编程从入门到实践怎么样? 我们一起看看已经学习的同学对这本书的口碑和评价 ...

  7. python编程入门到实践 百度云-python网络爬虫从入门到实践pdf

    python网络爬虫从入门到实践pdf是一本非常热门的编程教学.这本书籍详细讲解了Python以及网络爬虫相关知识,非常适合新手阅读,需要的用户自行下载吧. Python网络爬虫从入门到实践电子书介绍 ...

  8. python编程入门指南怎么样-python编程从入门到实践这本书怎么样

    <Python编程-从入门到实践>作者: Eric Matthes,已翻译为中文,人民邮电出版社出版. python编程从入门到实践怎么样? 我们一起看看已经学习的同学对这本书的口碑和评价 ...

  9. python小项目实例流程-《Python编程:从入门到实践》DEMO实例代码

    这篇文章主要知识点是关于Python编程,从入门到实践,DEMO,,的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书 前言 之前,项目后台基本都是使用 Java 的 SpringBo ...

最新文章

  1. 云从科技3D人体重建技术刷新3项纪录!仅凭照片即可生成精细模型
  2. 使用时空-频率模式分析从脑电数据的一些试验中提取N400成分
  3. Android ListView不响应OnItemClickListener解决办法
  4. Mybatis的SqlSession运行原理
  5. mysql数据库表迁移
  6. linux 隐藏脚本运行,linux – 为什么在运行ls时隐藏此文件?
  7. Android使用webview控件加载本地html,通过Js与后台Java实现数据的传递
  8. 【转】VScode快捷键(超无敌详细版)
  9. 如何避免JS内存泄漏?
  10. 【Codeforces】925A Stairs and Elevators【贪心】
  11. VB.NET项目技术总结
  12. Redisson 实现分布式锁
  13. 客户关系管理系统中实现对客户信息标记颜色的处理
  14. 数据结构上机实践第八周项目6- 猴子选大王(数组版)
  15. 整数输入问题一百二十九:阿基米德特性
  16. 实验八555定时器及其应用
  17. 光纤传输相关问题及讨论
  18. ROC曲线和AUC面积理解
  19. 嵌入式成长轨迹33 【嵌入式学习阶段】【ARM环境调试】【在虚拟机下Ubuntu建立NFS网络文件系统】...
  20. markdown画图之一:流程图(flowchart)

热门文章

  1. 电商如何选择合适且稳定的服务器?
  2. 膜拜大佬!java理论知识思维导图
  3. Java实现office办公文档在线预览(word、excel、ppt、txt等)
  4. btcwallet 区块链钱包编译错误
  5. 三国志2霸王的大陆7个君主的战力
  6. 【windows】03.记事本
  7. [Unity 3D] 求两个向量间的夹角的方法
  8. C#与三菱FX5U以态网通讯程序,可读X/Y/M/S/D
  9. Python ---------- 文件操作
  10. 为什么计算机的起始时间是1970-1-1?