终端

高性能、GPU 加速的指挥中心

终端是你停留 99% 时间的地方。Netcatty 的终端并非简单的封装;它是一个经过高度调优的 xterm.js 5 实现,利用 WebGL 加速技术,即使在重负载下也能提供 60fps 的流畅体验。

渲染引擎

大多数基于 Web 的终端(以及许多 Electron 应用)在处理高速输出(如 cat /var/log/syslog)时都会遇到“DOM 抖动”问题。

Netcatty 使用具有智能回退机制的自定义 WebGL 渲染器。

  • 架构: 文本作为纹理在 GPU 画布上渲染,完全绕过 DOM 布局引擎。
  • 性能: 能够承受超过 50MB/s 的文本吞吐量而不冻结 UI。
  • 智能回退: 在 WebGL 稳定性有问题的系统上(或者专门在 macOS 上为了确保完美的次像素抗锯齿),Netcatty 会自动切换到高性能的 Canvas 渲染器。
  • 连字 (Ligatures): 全面支持字体连字(如 Fira Code, JetBrains Mono),在所有物理引擎上均能正确渲染。

WebGL 加速渲染

窗口管理 (分屏)

Netcatty 抛弃了传统的“每个连接一个窗口”的模型,转而采用 工作区 (Workspace) 模型。

分屏策略

你可以平铺界面,以便同时监控多个上下文。

  1. 上下文分屏:

    • 右键点击标签页 -> 向右分屏 (Split Right)
    • 这会创建一个当前会话属性的副本(允许你轻松再次连接到同一主机),或者选择一个不同的主机。
    • 使用场景: 在左侧面板编辑配置文件 (vim nginx.conf),同时在右侧面板监控错误日志 (tail -f error.log)。
  2. 拖放停靠:

    • 抓取顶部栏中的任何标签页。
    • 将其拖动到视口的中心/左/右/下部。
    • 松开即可停靠。通过这种方式,你可以创建复杂的 2x2 或 3x1 网格。

广播模式 (集群管理)

广播模式是一种面向高级用户的功能,允许你同时控制多台服务器。

工作流:

  1. 打开 4 个连接到 Web 服务器的会话 (Web-01, Web-02, Web-03, Web-04)。
  2. 将它们排列成 2x2 网格,以便你能看到所有屏幕。
  3. 点击工具栏中的 广播图标 (无线电塔)。
  4. 视觉反馈: 工具栏中的 广播图标 将变为绿色,表示输入同步已激活。
  5. 输入 uptime。你会看到字符立即出现在所有 4 个屏幕上。

'rm -rf' 的危险

广播模式严格遵循“所打即所发”。如果某台服务器的文件结构略有不同,类似 rm * 的命令可能会造成灾难性的后果。在广播复杂命令之前,务必确保所有服务器处于一致的状态。

Loading diagram...

主题与外观

你的终端应该看起来和感觉起来都像你的专属工具。

1. 配色方案

Netcatty 内置了 50 多种行业标准主题 (Dracula, Nord, Monokai, Solarized)。

  • 切换: 前往 设置 > 外观 > 终端主题。更改会立即应用到所有打开的会话。
  • 自定义主题: 你可以导入标准的 JSON 主题定义。

2. 字体

  • 字体族: 我们默认使用合理的等宽字体,但你可以使用操作系统上安装的 任何 字体。
    • 提示:"MesloLGS NF"(用于 Powerlevel10k)这样的字体可以完美运行。
  • 字号与行高: 微调密度。增加行高(如 1.2)以提高可读性,或减小行高(0.9)以获得最大的数据密度。

3. 光标样式

  • 块状 (Standard)
  • 条状 (I-Beam)
  • 下划线 (Underline)
  • 所有样式均支持闪烁选项。

搜索与缓冲区

滚动回溯缓冲区

默认情况下,Netcatty 为每个会话保留 10,000 行 历史记录。

  • 可配置: 你可以在设置中增加此数值,但请注意,超大缓冲区(100 万行以上)会消耗大量内存。

智能搜索

按下 Cmd + F (Mac) 或 Ctrl + Shift + F (PC)。搜索栏允许你快速查找终端缓冲区中的文本。

  • 大小写敏感: 为了追求极致速度,目前匹配不区分大小写。
  • 匹配高亮: 匹配项之间的导航是即时的,当前活动的匹配项会以显眼的颜色高亮显示。

关键词高亮

Netcatty 包含一个强大的 关键词高亮 引擎,可实时处理终端输出。

  • 自动检测: 预定义规则会立即以不同的颜色高亮 ERRORWARNSUCCESSDEBUG 级别。
  • 网络特征: 自动检测 IP 地址和 MAC 地址并着色,帮助它们在杂乱的日志中脱颖而出。
  • 自定义: 你可以在 设置 > 终端 > 高亮 中定义自己的正则 (Regex) 规则,以监控特定于你工作流的模式。

故障排除

"乱码 / 奇怪的字符"

这通常是编码或字体问题。

  1. 编码: Netcatty 默认为 UTF-8。如果你连接的是使用 ISO-8859-1GBK 的旧系统,可能会看到替代字符 ()。请检查主机高级标签页中的“编码”设置。
  2. Powerline 符号丢失: 如果你在 Shell 提示符中看到方块而不是箭头/Git 图标,你需要在本地机器上安装“Nerd Font”并在 Netcatty 设置中选择它。