安卓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





android 手机termux 下载后使用wget_手机js编辑器中文版


如果嫌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端的使用来修改和查看文件的效果如下:


android 手机termux 下载后使用wget_JS 打印 data数据_02

看到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上则直接终止程序了!

后续有空再调试吧!