前要:除非你的安卓kernel自定义过,否则仍旧无法通过这种方式运行Doc ker.直入主题。1.换源(换过的直接跳过)执行命令termux-change-repo选择single mirror按下"空格"并且"回车"随便选一个国内的比如Al iyun Tsin ghua BFSU等镜像源。(图1)注意_是按下"空格"后"回车"!之后它会自动执行update,你只需要执行:apt upgrade -y即可。2.使用Tmoe容器管理这篇帖子全都是由tmoe驱动的,感兴趣可以在github上搜索tmoe。使用如下命令获取tmoe管理器(注意,!和?要替换成英文句号.)curl -Lo l l?tmoe!me; sh l按照提示输入两次y并回车就看到了一个界面(如图2)你可以看到proot和chroot两种容器,我简单地从使用体验上区分一下:1.proot:运行在Termux的名为proot二进制的软件上,完全依赖于Termux的保活来运行; 效率较高,在非特殊情况下你完全感受不到性能差异。由proot提供框架执行各种命令。2.chroot:Linux在安卓运行的终极方案,只需要一些本地文件的挂载,你的手机便是一台"原生"的Linux系统,你不再受到Termux的限制,即使Termux不在后台运行,你运行的服务依旧坚挺。不受proot框架的限制。你可以清楚地看到这些服务在你的/data/data目录下被执行,文件目录是真实存在的。性能表现比proot高出一个档次。唯一要求:需要root并给予Termux root权限。注意,此处不建议使用ZeroTermux安装chroot,因为我在尝试的时候出现了无法挂载 DNS服务异常 无法访问网络 无法正常输出中文字符等等奇怪的Bug,推荐使用原生Termux进行安装。华为/鸿蒙系统 可能由于内置jdk版本过低,偶尔出现无法运行容器的情况。总之,按照你的手机root权限的有无选择proot/chroot注:proot下的Debian可能遇到无法下载/找不到链接等情况(chroot未做尝试)建议换用kali/ubuntu等系统。如果你是初次使用tmoe,你会被强制美化一下Termux.这些都是有益的。总之一路输入Y并且回车即可。之后这个终端就是你的Linux终端了,每次启动Termux只需要输入debian就能进入linux终端(无论什么系统,输入命令都是debian,这是作者的玩笑)在一系列的完成配置之后你便可以按下Ctrl C关闭Tmoe了,此时你处于 localhost或者是"你的手机型号"(proot显示localhost,chroot显示手机型号)输入su会稍微等待一下,这是zsh在进行配置。配置完毕后你便可以在这里使用原生的Linux了。systemd 等等一系列进程管理服务在proot下不可用,如有需求,请用service代替。service用法:service [lbk]服务[rbk] [lbk]start/stop/restart[rbk]proot容器只需要连续输入exit或者直接K掉Termux进程,服务就会关闭。chroot容器在exit仍会保持运行,直到你在Termux中的tmoe管理器中手动停止容器或者重启手机,服务才会挂掉。(如图3)
以下内容,root用户请无视
非root用户还需要解除进程限制,否则你的服务会经常性的挂掉(包括但不限于在锁屏时/在后台几分钟后),在tmoe主菜单中的第10个选项中有描述,但我没弄明白他的配对过程🤔这里说一下非root的解决方法。下载黑域,自行解决配对过程,这里不再赘述。点开左上角的菜单,点"执行命令",输入:/system/bin/device_config set_sync_disabled_for_tests persistent; /system/bin/device_config put activity_manager max_phantom_processes 2147483647这将让所有进程解除子进程的数量限制(proot运行下子进程数目爆炸式增长)如果有什么Bug或者不懂的地方随时叠楼,让伟大的8u们帮助你解决问题。[图片][图片][图片]
以下内容,root用户请无视
非root用户还需要解除进程限制,否则你的服务会经常性的挂掉(包括但不限于在锁屏时/在后台几分钟后),在tmoe主菜单中的第10个选项中有描述,但我没弄明白他的配对过程🤔这里说一下非root的解决方法。下载黑域,自行解决配对过程,这里不再赘述。点开左上角的菜单,点"执行命令",输入:/system/bin/device_config set_sync_disabled_for_tests persistent; /system/bin/device_config put activity_manager max_phantom_processes 2147483647这将让所有进程解除子进程的数量限制(proot运行下子进程数目爆炸式增长)如果有什么Bug或者不懂的地方随时叠楼,让伟大的8u们帮助你解决问题。[图片][图片][图片]