Matrix 首页推荐 

Matrix  是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。 

文章代表作者个人观点,少数派仅对标题和排版略作修改。


TL;DR 这是一个关于 NextSSH 的文章。软件的官网:https://xzhshch.com/ (前排付费软件提醒)

NextSSH 在多任务分屏下的截图

PS:本文撰写于 NextSSH v1.2.2 发布后,部分截图来自开发中的 NextSSH v1.3.0-beta,可能存在部分细节上的差异。

前因

各位好,我是 NextSSH 的开发者。

我最早开始对计算机编程感兴趣时,接触的是 C51 单片机、无线电入门和网站开发(PHP,请不要吐槽这个跨度😆)。随着网站开发出现在我的技能树里,远程连接服务器就变成了基本操作。

在早期的互联网资料中,连接远程服务器的主要工具是 Putty,因为它绿色、开源、无公害。在看到下面这个界面后,我坚定地选择了 Windows Server 和 IIS 作为服务器。😅

Putty(图片来自网络)

看上去 Windows Server 和 Linux 之间的选择和 Putty 没什么关系。但是回想一下,一个孩子,第一次拥有一台服务器(啊当然是 VPS),手足无措又想按耐不住好奇心的时候,一个黑框框和一个熟悉的桌面,哪一个更有安全感呢?

Linux 当时给我一种捉摸不透的感觉,时常让我觉得不知道正在发生什么。当然,这个感受随着年龄的增长和之后的学习消散了。

但有一个「执念」留了下来:直观、清晰、设计良好的的软件界面能特别吸引我的注意力

盒子里都有什么?

我觉得我还算是用过不少 SSH 客户端软件。终端+ssh 命令、Putty、Finalshell、Xshell、Termius、Tabby、Windterm、Electerm。暂时放下远程终端这个本身功能不谈。有一些功能可以称得上「左膀右臂」:

  • 系统数据的图形化显示(CPU、内存用量,网络状态……)
  • SFTP
  • 端口转发
  • 保存常用的命令片段

除了这些功能外,有一些是软件设计上十分实用的特点:

  • 打包传输文件
  • 在线的文件编辑器
  • 分屏、多窗口管理

思考这些功能时,其实就能回答一个问题:为什么不用 ssh 命令?

因为我在将简单的问题复杂化。

我并非想要找到一个朴素的工具,而是想寻找一个趁手的工具箱,工具箱里的东西越简洁越好。

数据监看

说起来,这个功能直接来自于 Finalshell 的影响。

从一个界面上一下子了解系统的诸多数据,曾经帮助我很快的定位了内存泄漏、文件膨胀之类的问题。于是我为 NextSSH 设计了一个起始页。就像是浏览器的起始页,当新打开一个服务器的连接时,先看到的就是这个页面。

诚然,NextSSH 的数据汇总页面比不上专门监控服务器的工具。而且 NextSSH 本身也不会记录历史数据或绘制图表。但这都不是问题,因为这个功能的名字叫做「监看」。想象一下导演坐在监视器前,确认各个摄影机位的画面是否满意的感觉,就是这个功能的意图。

终端

终端就是 SSH 软件的本体功能了。NextSSH 在除了终端本身的基础上,有两个我得意的设计。

其一是下面的编辑栏。其实很多软件也有类似的功能。一般情况下命令都比较短小精干,毕竟命令行交互是很简洁的。但总有些那么意外的情况,比如 Docker 的启动命令。每当从网上复制一个启动命令过来,总是不得不有一些参数需要修改,而在 Shell 里反复移动光标总是没有鼠标痛快。

于是终端下面就增加了一个可以展开的编辑器。可以临时停靠复制来的长命令。

另一个功能则来自用户之前的反馈:在终端界面下按 Ctrl/Cmd+Shift+K 即可呼出一个搜索栏。这个搜索栏可以查找所有曾经输入过的命令,也包括其他主机上的输入,以及保存过的命令片段。理论上可以把常用的配置、重启服务、安装软件之类的命令保存下来,在这就可以快速使用。

SFTP 与编辑器

如果一个 VS Code 嵌在 SSH 里岂不是很有趣……

我当时就是这么想的。

最早接触网站开发的我,将常被反反复复修改文件折磨。因为调试或者部署网站就有 PHP 配置文件、NGINX 配置文件、APACHE 配置文件、数据库配置文件、网站本身的 CONFIGINC 文件……一大堆文件需要反复调整和编辑。

一般情况下可以使用 vim 等工具在 Shell 里进行编辑。然后就卡在 vim 里不知道怎么保存退出。有一些工具之后,可以把文件下载到本地,使用常用的编辑器修改后重新上传覆盖。除了步骤多一些,也很好用。

小孩子才做选择,我选择自己做一个选项:一个嵌入到软件里的 Monaco 编辑器,带有语法高亮、多编码支持。双击文件就能打开,Ctrl/Cmd+S 就能保存。

更有趣的是,NextSSH 可以在 Shell 环境里注入一个 nsopen 命令,使用命令可以在远程终端里打开本地 NextSSH 的编辑器(注入命令会自动执行脚本,具体内容和功能禁用方法请参考文档)。

另外值得一提的是文件打包传输功能。比如我需要将网站的源码上传到服务器上,直接将文件夹拖到 NextSSH,之后就能自动完成压缩、上传、解压缩的步骤。

打包传输文件其实和正常传输的效果没有区别。只是网站的源码文件可能有成百上千个小文件,反复传输小文件将把时间都浪费在 SFTP 的协议指令和网络延时上。

结语

经过来来回回的修改和推敲,才有了 NextSSH 现在的样子。如果你去搜索引擎里翻找,还能看见它之前的样子。在 v1 之前的界面和现在几乎是两个东西。

如果你经常需要和服务器打交道、如果你喜欢 NextSSH 的设计的话,都十分欢迎你下载软件来体验一下。

如果遇到什么问题,在网站上与软件里都有反馈的渠道。

以上,祝愉快。

> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀