使用PyCharm进行调试运行程序的时候,代码是以普通用户权限运行的,当对某些需要权限的操作时候,难免出错,所以如何以ROOT方式进行运行呢.

先说一下Termux环境的各用户理解,分三种情况:
1:默认进行终端环境是,APP应用用户权限,权限于操作本APP目录下面的文件,如/data/data/com.termux/,其它的操作不了
2:使用tsu运行的环境,对文件基本上都是能操作了,但因为变量环境不同,不能直接调用android系统独有的程序,如果需要运行的话得用全路径方式,这对操作也带也不便,基本在实际使用中,也不太好使用此方式
3:一般使用的方式是su方式,直接在终端使用"su"提升ROOT用户权限的操作方式,这种环境因为很多运行的程序,在Termux中,如果要运行得使用绝对路径,这样就很不方便了,如执行python得这样:
/data/data/com.termux/files/usr/bin/python3.11,否则找不到程序
所以得将需要程序,使用软链接的方式,链接到/system/bin,这样就方便直接使用了

PyCharm 运行调试时,使用的是如下路径的虚环境python
/data/data/com.termux/files/home/.virtualenvs/Termux/bin/python
SSH连接到终端,本来是想使用root用户登陆,没有想到,即使是用了root帐号登陆了,但还是应用用户权限,好像也没有什么好办法.
下面进行正题:

在/data/data/com.termux/files/home/.virtualenvs/Termux/bin/建立python文件
事先将python备份,然写建立文件python内容如下:

#!/system/bin/sh
exec su -c python "$@"

加上运行权限

su -c chmod 777 /data/data/com.termux/files/home/.virtualenvs/Termux/bin/python

添加到android系统中,方便直接执行
su -c mount -o remount -w /system/bin 提示 mount: ‘/system/bin’ not in /proc/mounts
直接使用如下 解决Read-only file system问题,重启后需要重新执行

su -c mount -o remount -w /

将python可执行程序,软链接到/system/bin,这样后面就可以直接在shell中直接启动

su -c ln -sfn /data/data/com.termux/files/usr/bin/python3.11 /system/bin/python

在后面运行的时候Matplotlib会提示

Matplotlib created a temporary cache directory at /data/data/com.termux/files/usr/tmp/matplotlib-9fgbwi4v because the default path (/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.

必竟不是每次重启之后,都执行了解除Read-only file system限制,也为它建立一个软链接,避免提示

su -c ln -sfn /data/data/com.termux/files/home/.config /.config

这样在开发调试运行的时候,就跟代码最终运行环境一模一样了.