0%

macOS下的终端模拟软件

对我来说,没有一个好用的终端模拟软件,MBP就无法成为一个合格的生产力工具…
如果你也有和我一样的困扰,很抱歉,这篇博客或许并不能给你一个想要的答案。
相比于一个答案,这篇博客更像一堆抱怨。
2022.05.20更新:现在有答案了。我自己写了一个工具

背景

从Windows切换到Mac之后,第一个很怀念的软件是Everything,第二个就是XShell了。
在网上也搜了很久,发现几个现象:

  1. 部分Mac用户很骄傲,如果你用得不习惯,那是你的问题,而不是Mac的问题。
  2. 推荐最多的就是iTerm2。
  3. 无论推荐的是什么,下面都有人赞同,也有人反对。

我的需求

其实归根结节就是用户群不一样,大家都在自说自话。而我也很清楚自己的需求并不算大众,从用户画像来说比较偏向运维工程师,大概可以总结为以下几点(优先级由高到低):

基本诉求

  1. Session管理
    因为环境都在公有云Linux服务器上,而且都是7节点起步的集群。所以需要支持保存Session,多层级分组。
  2. 支持登录脚本
    因为集群通常只有一台主节点有公网IP,其他节点都要通过主节点跳转。所以需要通过登录脚本在登录到主节点之后自动跳转到其他节点。
  3. 多窗口同时输入
    因为同一微服务可能部署在多个节点上,并且没有使用成熟的日志分析系统,所以还有多个节点同时看日志,同时操作分析问题的场景。
  4. 自定义快捷键
    Session复制,Tab切换,Tab重命名…
  5. Session文件可编辑
    因为前面所说的环境都是集群,且经常有全新IP的新环境,所以需要支持手动构造Session配置,这样在环境变更之后,可以通过类似CSV文件快速生成对应的Session配置。
  6. 稳定
    前面一切诉求的基础。

加分项

  1. 高颜值
    好心情很重要…
  2. 支持快捷命令
    很多冗长的命令没有必要反复输入,通常情况下,这一点可以通过alias解决,但是我面对的服务器很多都是不允许我自定义设置的。
  3. 记录文本的操作日志
    作为小白,“偷师”利器…
  4. 内嵌SFTP工具
    就不需要再装Transmit或者FileZilla了。并且这种内嵌SFTP工具通常都支持跳转到当前所在目录,真的很好用。

目前的选择

以上几个需求,在Windows上XShell,MobaXterm,SecureCRT都可以满足我的需求。但是在macOS下,目前似乎还没有,简单的试用过如下几个…

SecureCRT

总的来说上面几点都满足了,应该是和我的需求契合度最高的了,也是我目前的选择。但是多窗口同时输入存在如下问题:

  1. 需要在单独的Command Windows进行,不支持上下查找历史命令,不支持tab联想,不支持类似Ctrl+C这种特殊命令,并且Command Windows会占用一部分额外的空间。
  2. 不稳定,这也是最让我无法接受的地方。Command Windows偶尔会无法输入,需要关掉再打开。在多窗口执行类似top命令后,偶现鼠标丢失,无法选择窗口文本。
  3. 设置例外窗口操作复杂。

Termius

Session只支持单一层级。

iTerm2

不支持Session管理。

CrossOver安装Xshell7

CrossOver官方没说支持,安装之后无法启动…

CrossOver安装MobaXterm

CrossOver官方说支持,安装过程卡在安装.net 4.6.2…

FinalShell

貌似已经停止维护了,而且网评资源占用很高…

NuoShell

不支持多窗口同时输入。

NuoShell

不支持多窗口同时输入。