|
|
楼主 |
发表于 2018-8-20 06:43:35
|
显示全部楼层
本帖最后由 不点 于 2018-8-21 03:03 编辑
ttyd 虽然支持输入法,但它确实有问题。
1、不稳定,很容易崩溃。这还不算个毛病,因为崩溃后,可以让它自动重新运行。比如用 while true; do ttyd ; done
2、不稳定,容易死掉(lock 锁死)。这就严重了,进程 ttyd 还在活着,但它不工作了。需要手动用 kill 命令干掉 bash 进程(这是由 ttyd 启动的进程),才能继续工作。
3、ttyd 不支持代理,客户端浏览器只能直接访问 ttyd 服务器,如果经由一个 (正向或反向)代理服务器跳转到 ttyd 服务器,则无法成功访问。
于是,寻寻觅觅,从 xtermjs 的官网 https://xtermjs.org/ 找到了 cloud commander;再从 cloud commander 又得到了 gritty ——这是个强大的网页虚拟终端。目前不知道它是否支持 utf8 以及输入法,但它支持代理,短期试用了一下,感觉也很稳定。【2018-08-21 更新】已经验证,gritty 支持 utf8 以及输入法,而且很稳定,又能支持代理服务器——因此,它可以全面取代 ttyd。
安装 gritty 很简单(无需下载 gritty 源代码):
1、首先要安装 node(安装 node 后,就有了 npm)。
2、npm install gritty -g
3、这就完成了安装。
运行 gritty
gritty --port 9999
其中 port number 可以随意指定。
然后,用浏览器访问 http://<服务器主机>:9999/ 就可以看到虚拟终端命令行了。
安全方面,要注意,不要用 root 用户来执行 gritty 进程,应该以普通用户来运行 gritty。
|
|