网络运维中为了telnet、ssh、串口调试方便,在Windows上经常会使用一些工具提高效率。securecrt是接触最早的,缺点是收费的;putty很小巧也可以用用,但会话管理还需要借助其他工具,后来用xshell也很不错,不过免费的限制多开窗口,其他没什么缺点;最后用windterm,免费无限制,一些功能也非常不错,比如批量发送指令。
换成银河麒麟系统,arm处理器,上述这些基本都无法使用了,不是没有Linux版本就是没有arm64版本。只剩putty还可以用,不过还不如直接用默认终端。看了一些工具,测试了tabby和electerm,简单说下安装使用情况。
两款工具都是基于Electron框架开发的,所以很像。Electron 是一个开源框架,允许开发者使用 HTML、CSS 和 JavaScript 等 Web 技术来构建跨平台的桌面应用程序。
一、安装比较
两款工具,都已经在官方apt库里,可以直接apt install安装,但是版本均比较老。如果想使用最新版本需要上github下载。但是,新版本在使用时会遇到问题,现象就是打不开程序。如果在终端中执行命令打开,可以看到如下报错,二者报错问题类似。反复查找原因,有大神在一个帖子里让升级 glibc版本,但没留下解释!!?
innerError Error: Cannot find module '../build/Debug/pty.node'
多方查找,才在 node-pty的github页面中找到关键信息,node-pty是基于node.js实现的一款终端模块,tabby和electerm都借用此开发。但新版本node-pty依赖于glibc 2.34,而很多系统,像银河麒麟v10 sp1的glibc版本只有2.31,无法支持新版本node-pty。
$ ldd --version
ldd (Ubuntu GLIBC 2.39-0ubuntu8.7) 2.39
# 或者下面的命令
strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC
glibc是操作系统很核心的东西,不可轻易动。这个问题,一种是升级操作系统版本,估计银河麒麟v11就支持高版本glibc了;还有一种方法是编译glibc,然后让这两个程序指定gblic文件,这个方法很复杂,放弃了。
electerm提供了折中的办法,提供了两个版本的deb安装包,一个是新版本node-pty的,一个是旧版本node-pty的,安装包后缀是-legacy.deb。tabby很多issue提出了旧版本系统无法运行的问题,但是作者似乎没有考虑兼容旧版本。
二、功能比较
tabby新版本无法安装,只能用旧版本比较了。两者都支持telnet、ssh、串口连接,支持sftp、支持会话管理。
界面上,tabby更好看些,electerm也不差。使用起来都算方便,tabby的sftp没有记录上次使用目录功能,不如electerm方便。