安卓平板、甚至手机也能写代码?Termux使用体会分享
起因
自己几个月前在某鱼收的surface go有点废,虽然跑跑VS Code没啥问题,但是运行一些国产臃肿软件,就不定时卡顿……本来想去买 go3 的,但可惜囊中羞涩实在没钱;且见识有限,目光限定在大一入学前的就买来暂替笔记本的matepad。在这个过程中突然发现了Termux终端这款软件,甚至还能运行python
,安装clang
甚至还能跑C/C++
(貌似gcc
和g++
没法直接装,但是可以通过曲线救国…)
为什么AcWing的大佬巨巨们都在搞OI,ACM,而我已经大二了还搁着瞎折腾....??
最搞笑的事情是,这小东西居然还能装Linux环境?直接在上面装Ubuntu等发行版都没啥问题(虽然是arm版)
从上周末开始折腾了两天,最后决定弃坑(bushi,过两天要OS考试了,即将爬了。
文末也提到了其他的一些方案,如AidLearning, Termux + AnLinux , tmoe脚本安装等等
经过
前置要求:
-
软件:coolapk,或者D-droid, 有能力的也可以去Google-play上下载Termux。
-
硬件:运行着安卓系统的手机,正常能跑,不算太老就行。。。。如果可以的话弄个蓝牙键盘输入,按屏幕手残党落泪……
-
其他:有时间= =玩,会一点点Linux相关知识:vi编辑,ssh远程连接就可。
安装好之后,建议先换源。输入以下指令:
vi $PREFIX/etc/apt/sources.list
如果vi不会用的话,记住一下两个点就行:
-
两个模式切换。记住
ESC
和i
键:前者是进入Normal模式进行保存,退出等命令操作;按一下i键,就进入编辑模式,然后正常输入英文就行。 -
输入完之后,再按一下ESC键,进入了Normal模式之后,再输入
:wq
,按下回车就成功退出了。
有个笑话:Q:如何得到一串随机字符串? A: 让一个新人退出vim即可
换源的话,具体可以换清华源,或是科大源。这两者都能成功安装Linux环境,但似乎后者我不太会用..由于时间问题,我个人觉得前者的help docs做的更友善一点,后者没来得及多探究。
换源后,可以安装很多软件了,这里我习惯先安装openssh
,输入pkg install openssh
即可,注意可能会让你输入y/n
,输入y,按回车即可。
然后输入passwd
,自己设置ssh远程连接需要的密码。之后就可以在笔记本等平台上远程操作了,平板还行,旧手机的小屏是真的难受……
这里我想说明这款软件的一个缺陷:需要保留后台程序,否则切出去之后,被“杀后台”就不妙了。具体保留后台进程相信大家都会……
设置完密码后,输入sshd
开启ssh服务,之后可以在其他平台上进行远程连接来控制了。sshd
这条命令,只要你把Termux进程exit
出去,就要重新输入,从而开启ssh服务(当然也可以写自动化脚本?),但我还是选择保留Termux后台,反正也是自己不太用的旧手机。
可以输入ifconfig
来查看手机端的地址,如下图所示:
注意一个点:这里的ssh应该是以8022端口进行连接;具体连接成功的情形如下:
第一个Connection refused
就是没有开启sshd服务导致的,如果也出现连不上的情况,先考虑地址、端口问题,再考虑服务是否开启!
后来的输入密码输错就是手残
安装Linux过程:
这里换的是清华源(也可以选择保留原来的源设置而不是覆盖)。具体参考官方帮助:
termux | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
还原后输入apt update
,如果出现apt
命令无法识别,那可能还需要pkg install apt
.
随后安装proot
pkg install proot-distro
之后可以输入proot-distro list
,查看可以安装的Linux系统
如果想要安装Ubuntu,就输入proot-distro install ubuntu
即可。
之后就是Linux相关的设置了,想咋玩咋玩儿。
体会
实际上折腾了两天,我研究出来Termux合适的用处是:
-
部分程度上替代树莓派,虽然老手机芯片还是不错的,但是树莓派的I/O扩展强得多。尤其是旧手机,有些还是MicroUSB接口,那真是谢天谢地了。搭建出的Linux环境临时测试写几个短代码还是没啥问题的。运行一些有趣的功能233,树莓派能做的,他貌似大多数也可以玩儿。(但I/O扩展太差了,本来还想外接硬盘当轻nas,很明显想多了……)
-
Termux说到底,终端才是他最基础的功能,将之ssh连接至服务器(包括云服务器),或者任意一台电脑(有公网IP或者能采取内网穿透也行)终端写代码。这个法子的局限性在于,如果是pc/mac端,VSCode 直接配合
remote-SSH
插件就可以非常顺滑的写代码了(前提是网好……);但是终端情况下,似乎只有Vim
orEmacs-cli
可以使用....
(虽然这两天我配置Vim
配的很起劲,属于发病作死了hhh,不过Vim
现在也有强大插件支持,写C/C++确实还可以,其他语言没试过)这一点隔壁iPad/iPhone 也有iSSH可以使用。安卓端有Termux, juiceSSH,ConnectBot等软件支持。
-
在Linux环境里部署code-server,随后保留Termux,切换应用到浏览器里敲代码(但我尚未尝试,并且这样的话,要求在一个局域网下,否则需要公网IP或进行内网穿透)(另:微软最近推出了vscode.dev,可以直接在浏览器写代码,但插件生态支持是个大问题)
-
VNC Viewer 远程Linux桌面,其实现出的效果类似于微软RDP,但配置起来也比较折腾;虽然有之前提到的别人写好的脚本安装,那一套下来还是很舒服的,网上也有成品展示。(米板5跑cs1.6,运行office各种骚操作)
-
还有AidLearning也是类似的一个开源项目,也可以达到不错的效果,虽然对老手机兼容性就不算特别好了,近三年的大概还行。
另外有个软件推荐一波,zerotier,真心不错,几个机器可以通过它“虚拟”在一个局域网内
可能还有些别的玩法,也待各位大佬补充……(话说这会有人看吗?)
如果可能的话,我之后考虑写一篇初学者配置vim的操作,或者推荐一些vim插件也行……
不错hh
涨知识了!
写的不错,如果可以的话最好研究完毕发个blog
尽量尽量,最近ddl和考试有点多。。。
稍微更新了一点,昨天深更半夜写的,最后那部分也写得有点紊乱。
挺好,写的东西都很实用,期待接下来的vim文章,vim这块主要是针对新手,我以前刚开始学vim的时候很头疼,很多文章不够详细或者很片面,vim这里我建议图文并茂,每一步操作都给出具体的图和指示
已经更新了一篇文章~