博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
termux linux_Termux将Android转变为Linux开发环境
阅读量:2526 次
发布时间:2019-05-11

本文共 2419 字,大约阅读时间需要 8 分钟。

termux linux

因此,您终于找到了退出Vim的方法,并且可以在密西西比河的这一侧编写最优化的版本“ Hello World”。 现在是时候玩游戏了! 查看于Android的 。

什么是Termux?

Termux是一个Android终端模拟器和Linux环境。 实际上,这意味着您可以在大多数Android设备上安装Termux,并可以在该设备上的完整Linux开发环境中执行几乎所有操作。 一切听起来都很酷,但是您可能会问自己:“为什么我要在触摸屏上的手机上进行编码?这听起来很糟糕。” 开始考虑将平板电脑与可以运行Android应用程序的键盘或Chromebook配对使用。 这些都是非常便宜的设备,现在可以用来向人们介绍Linux黑客技术和开发。 我知道Linux社区中的许多人都是从在旧PC上安装Linux开始的。

,我认为Termux是向任何人介绍Linux的最简单方法。 但是,不要把所有的乐趣留给新手。 Termux可以满足您对Linux开发环境的许多需求。

Termux是Linux,但它基于Android,并且在容器中运行。 这意味着您可以安装它而无需root用户访问权限,但这也意味着它可能需要一些时间来习惯。 在本文中,我将概述一些使Termux作为全职开发环境工作的提示和技巧。

我的东西都在哪

您可以看到Termux文件系统的基础始于/data/data/com.termux/files/ 。 在该目录下,您将找到您的主目录和usr目录,所有Linux软件包均安装在该目录中。 这有点奇怪,但是没什么大不了的吗? 您会错的,因为地球上几乎每个脚本都针对/bin/bash硬编码。 其他库,可执行文件和配置文件位于与其他Linux发行版不一致的位置。

Termux提供了许多已修改为可以正常运行的 。 尝试先查看那里,而不要进行自定义构建。 但是,您可能仍然需要自定义构建许多东西。 您可以尝试修改包的源代码,即使更改路径很容易,但它很快就会变旧。 值得庆幸的是,Termux也与捆绑在一起。 Termux-exec将即时重定向脚本路径,以使其正常工作。

您可能仍会遇到一些termux-exec无法处理的硬编码路径。 由于您在Termux中没有root用户访问权限,因此不能仅创建符号链接来解决路径问题。 但是,您可以创建 。 使用软件包,您可以创建一个完全控制的chroot,并允许您修改所需的任何内容。 您还可以创建不同Linux发行版的chroot。 如果您是Fedora的粉丝,则可以使用Termux并在chroot监狱中运行它。 请查看以获取更多发行版和安装详细信息,或者您可以使用使Termux chroot入狱。 我只尝试了Termux chroot和Ubuntu chroot。 Ubuntu chroot存在一些需要解决的问题,因此您的工作量可能会因所选择的Linux版本而异。

一位用户可以全部统治

在Termux中,所有内容均由一个用户安装并运行。 这并不是什么大问题,而是您需要习惯的一些问题。 这也意味着找不到您可能熟悉的典型服务和用户组。 而且启动时不会自动启动,因此由您来管理您可能使用的服务的启动和停止,例如数据库,SSH等。还要记住,您的一个用户无法修改基本系统,因此您将需要如果需要,可以使用chroot。 由于您没有很好的预设启动脚本,因此您可能必须自己编写一些脚本。

对于日常开发,我需要Postgres,Nginx和Redis。 我以前从未手动启动过这些服务; 通常,它们会自动为我启动和停止,而我不得不做一些挖掘工作以找出如何启动我最喜欢的服务。 这是我刚才提到的三个服务的样本。 希望这些示例将为您指明使用您喜欢的服务的正确方向。 您也可以查看软件包的文档以找到有关如何启动和停止它的信息。

Postgres

开始: pg_ctl -D $PREFIX/var/lib/postgresql start

停止: pg_ctl -D $PREFIX/var/lib/postgresql stop

Nginx的

开始于: nginx

停止: nginx -s stop

雷迪斯

开始: redis-server $PREFIX/etc/redis.conf

停止: kill "$("$PREFIX/bin/applets/cat" "$PREFIX/var/run/redis_6379.pid"

依赖项损坏

Android的构建与其他版本的Linux不同,它的内核和库并不总是与典型Linux软件中的匹配。 尝试在Termux中构建软件时,您会看到 。 您可以解决其中的大多数问题,但是要修复软件中的每个依赖关系可能都需要付出过多的努力。

例如,我作为Python开发人员遇到的最大问题是Android内核不支持信号量。 Python中的多处理库依赖于此功能,而靠我自己解决这个问题太困难了。 相反,我通过使用不同的部署机制来解决它。 在使用运行Python Web服务之前,我切换到了 。 这使我可以使用标准的Python多处理库进行路由。 切换到Termux时,您可能必须具有一些创造力才能找到替代的软件依赖项,但是您的列表可能很小。

日常Termux

每天使用Termux时,您需要了解其或快捷键。 您还需要文本编辑器或IDE进行编码。 可以通过快速安装软件包获得所有可能的基于控制台的编辑器:Vim,Emacs和Nano。 Termux仅基于控制台,因此您将无法基于图形界面安装任何编辑器。 我想确保Termux具有出色的IDE,因此我构建了基于Web的Neutron64编辑器以与Termux无缝接口。 只需访问并在Termux上安装开始编码。

查看 ,将您的旧Android设备变成开发强国。 编码愉快!

翻译自:

termux linux

转载地址:http://gwnzd.baihongyu.com/

你可能感兴趣的文章
Leetcode: Reorder List && Summary: Reverse a LinkedList
查看>>
Map (就一个json.jar)
查看>>
FPS检测
查看>>
2. 两数相加 golang
查看>>
Winform窗体设计工具源码
查看>>
字典和列表的删除问题, 深浅拷贝
查看>>
文件操作
查看>>
java中的反射整理
查看>>
Android 跑马灯效果与EditText冲突
查看>>
memcached Logging
查看>>
eclipse经常使用快捷键
查看>>
ZOJ 2588 Burning Bridges(无向连通图求割边)
查看>>
IP转换hash以及返回
查看>>
map+pair Bayan 2015 Contest Warm Up D题
查看>>
Jumserver安装日志审计和资产管理
查看>>
【转】resultMap详解(包含多表查询)
查看>>
在VisualStudio中显示当前的分支名
查看>>
Android 网络请求详解
查看>>
边工作边刷题:70天一遍leetcode: day 33
查看>>
第10章 系统级I/O(下)
查看>>