安卓Linux软件Termux没有一款好用的界面,修改文件还需要使用vim等传统工具,不方便。
在github上发现了一款好用的软件wcode。
https://github.com/fmsouza/wcodegithub.com
官网介绍如下:
Wcode is a rich code editor which runs inside a browser. It's totally inspired on Visual Studio Code, and also uses Monaco-editor as it's core engine for providing a rich experience. It is being developed with Node.js + Express + React.
看到没有,Visual Studio Code 也采用了这个文档编辑器的内核Monaco。
安装方法如下:
首先安装完整版Linux,方法如下:
myastrotong:极致安卓之—Termux安装完整版Linuxzhuanlan.zhihu.com
然后安装node.js和npm。
apt install nodejs
apt install npm
安装完npm后,使用npm安装其他软件会报错。
原因是安装的npm版本不够新,无法与安装的nodejs的版本对应上,所以有警告
解决方法:用国产cnpm代替npm
国内有墙,npm更新安装或者安装其他软件都不方便,可安装cnpm来代替,你要是有好网就不用这样来折腾了:
npm install -g cnpm --registry=https://registry.npm.taobao.org
然后更新npm:
cnpm install -g npm
以后就不会报错了!
使用如下指令可以检查版本:
node -v
npm -v
如果嫌node.js版本太低,可以安装node.js的专有模块n,可专门用来管理node.js的版本的。
1、安装n模块:
cnpm install -g n
装完n模块就可以对node升级和降级了。
安装n模块后,n -V可以查看n的版本号
n -V
2、升级node.js到最新稳定版:
n stable
3、安装指定版本:
n v12.16.0
然后使用cnpm来安装wcode,避免被墙。
cnpm install -g wcode
使用方法如下:
wcode -p 9999 /home
然后在手机浏览器输入:
localhost:9999
在内网的PC端输入手机ip:9999来访问,比如:
192.168.3.28:9999
PC端的使用来修改和查看文件的效果如下:
看到vs code的影子了吧!!!
手机端就不咋的了,屏幕太小,显示的有效东西太少了。
基于这个软件,Termux就获得了文件管理的带界面软件了。甚至你还可以在上面愉快的查看和修改文件了(比如写程序,毕竟这是个简化版vscode),特别是在内网内在PC端修改Termux上的文件,无需ssh,尤其方便。
理论上,本文的方法也应该能用于Aid Learning,可惜安装上去后用不了,一堆异常,程序终止了!
分析源码,发现是这个文件/server/utils/open.js引起的:
const spawn = require('child_process').spawn;
const getCommand = (platform) => {
switch (platform) {
case 'darwin': return 'open';
case 'win32': return 'explorer.exe';
default:
case 'linux': return 'xdg-open';
}
};
module.exports = function (url, callback) {
const command = getCommand(process.platform);
const child = spawn(command, [url]);
let errorText = '';
child.stderr.setEncoding('utf8');
child.stderr.on('data', (data) => errorText += data);
child.stderr.on('end', () => {
if (errorText.length > 0) {
const error = new Error(errorText);
if (callback) callback(error);
else /throw error;
}
});
源码里面的const child = spawn(command, [url]);这个会引起一堆异常!
在Termux上会抛出警告,在Aid Learning上则直接终止程序了!
后续有空再调试吧!