Termux使用的一些细节
开启ssh#
pkg i openssh # 启动ssh服务 sshd # 设置密码 passwd # 查看本机ip,找到wlan0或者直接找192开头的ip ifconfig
默认的端口是8022。
有不少教程是写一个whoami命令,但是我实测直接使用root作为用户名即可(和root权限无关)
以下是ssh配置的路径,有端口号等信息
/data/data/com.termux/files/usr/etc/ssh/sshd_config
启动时执行命令#
类似于linux中bashrc。
这个路径在手机上没有root访问不了,但是有曲线救国的方法,由于这个路径是归属于termux的,所以termux自身可以访问这里面的文件,因此我们可以在termux中访问这个文件。
路径如下:
/data/data/com.termux/files/usr/etc/termux-login.sh
如你所见,这是一个sh文件,你可以在里面编写shell脚本,当你首次点开termux或者使用ssh连接到termux时,这个sh文件就会在session中执行。
比如
sshd # 下面这个脚本是自定义的,用于进入一个proot的ubuntu系统 ./start-ubuntu.sh
如此一来,不用手动打开ssh了,启动termux时就会打开,而且会进入我的ubuntu容器环境。
启动时执行命令(无root)#
打开termux
nano /data/data/com.termux/files/usr/etc/termux-login.sh
修改完后按Ctrl+x退出即可。
后台问题#
解决方案:
http://www.trustcomputing.com.cn/bbs//redirect.php?tid=1791&goto=lastpost
将termux挂到后台一段时间后,会发现ssh连接不上。
是安卓的通病吧可以说,其他软件也会有这种情况,哪怕省电策略是无限制,有着固定通知,依然会在进入后台一段时间后停止服务。这种情况类似于墓碑机制,进后台一段时间后进入缓存,导致服务停止,比如alist的一个第三方安卓客户端
https://github.com/jing332/AListFlutter
当我把它挂到后台一段时间后,我便无法访问到alist,但是当我回到应用中,会发现依然是切到后台时的样子,所以更类似于暂停,而非终止运行。
解决方法叫做唤醒锁
,wake lock。
或者在termux中执行以下命令
termux-wake-lock
参考资料:
https://wiki.termux.com/wiki/Termux-wake-lock
https://nicelee.top/blog/2019/09/08/android-linux-4/
https://cloud.tencent.com/developer/article/2354979
其他#
termux的proot可玩性其实不高,实在对手机上模拟linux有兴趣,可以玩玩chroot(需要root权限),限制更少性能更高。比较简单的方式是使用linux deploy这个软件,或者在termux中执行tmoe简化chroot的使用。
以及QEMU(可以浅显地理解为像模拟器一样的东西,会更接近实机,不过性能也会更低)。
怎么玩都比不过电脑上直接装linux实机,所以不要花太多时间在这个方面。