ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

把本地终端、SSH远程和串口调试收进一个窗口:Tabby 终端工具上手实战

把本地终端、SSH远程和串口调试收进一个窗口:Tabby 终端工具上手实战 把本地终端、SSH远程和串口调试收进一个窗口Tabby 终端工具上手实战【免费下载链接】tabbyA terminal for a more modern age项目地址: https://gitcode.com/GitHub_Trending/ta/tabby如果你手头同时管着几台云服务器、偶尔还要接串口设备调试又不想在三个不同软件之间来回切那么 Tabby 这个开源终端项目值得你花十分钟了解。它把本地 Shell、SSH 客户端、串口终端三件事合并进同一个窗口Windows、macOS、Linux 通用配置还能加密同步。下面这篇文章不堆参数只按你实际要做的事一步步带你把它跑起来。第一步装好它并理解它到底解决什么问题Tabby 的定位很明确它是 Windows 下 CMD、PowerShell、PuTTY 的替代品也是 macOS 上 Terminal.app、iTerm 的替代品。注意它不是一个新的 shell也不会替换你的 bash 或 zsh它只是那个外壳里的窗口。安装方式任选官网下载对应平台的安装包一路下一步包管理器安装macOS 用 HomebrewWindows 用 Chocolatey 或 Scoop想自己改源码就克隆仓库构建# 克隆项目源码含全部功能模块 git clone https://gitcode.com/GitHub_Trending/ta/tabby cd tabby yarn install yarn run build项目本体由一系列独立模块组成你可以把仓库当作一份现成的架构参考终端核心逻辑在tabby-terminal/本地终端在tabby-local/SSH 在tabby-ssh/串口在tabby-serial/。每个模块都有自己的package.json和webpack.config.mjs这种按功能拆包的做法也为后面装插件、写插件埋下了伏笔。第一次启动你可以直接从左上角新建标签页选择系统里检测到的 Shell。Tabby 会自动识别常见的本地 ShellWindows 下支持 CMD、PowerShell、PowerShell Core、Git-Bash、Cygwin、MSYS2、WSLmacOS 和 Linux 下则能认出 zsh、bash、fish 等。你不用手动配置它已经把内置配置列在新建标签菜单里了。第二步用标签页和分屏搭出你的工作台很多人用 Tabby 的第一个直观感受是标签页真的能放在窗口任意一边。默认在顶部但你在设置里可以把标签栏挪到左边、右边或底部按自己习惯来。更实用的是分屏。无论是本地 Shell 还是 SSH 会话都可以继续往下切分垂直分屏把当前窗格一分为二左右并排水平分屏上下堆叠分屏可以无限嵌套每个窗格还能再分。常用快捷键默认是CtrlShiftV垂直和CtrlShiftH水平记不住的话右键标签页也有对应菜单。分屏之后你可以左边开着日志 tail右边开着编辑器下面再挂一个监控命令一个窗口顶三个。还有两个容易被忽略的小功能值得打开一是记住标签页Tabby 重启后能恢复上次打开的标签和目录配置项是recoverTabs默认就是开启的二是快速启动的Quake 控制台模式把窗口停靠在屏幕边缘按全局快捷键呼出隐藏适合随时抓起来敲两条命令再藏回去。第三步把 SSH 连接管理起来告别密码背来背去如果你在多个环境间频繁切换这一步是 Tabby 最值钱的部分。打开设置里的配置面板新建一个 SSH 配置你需要填的基本就三样主机地址、端口默认 22、用户名。认证方式支持密码、私钥、键盘交互、GSSAPI 等多种。如果是密钥登录把私钥路径填进去即可。它还做了一件贴心的事自动读取你机器上已有的~/.ssh/config把里面的 Host 定义直接导入成可用的连接。也就是说你原来用命令行 SSH 的那套配置几乎零成本迁移过来。如果你经常用跳板机Tabby 支持自动跳板管理jump host先连跳板再通过它连目标机整个过程在一个标签里完成不用自己手动开两层隧道。端口转发也可以在配置里直接声明本地转发、远程转发、动态转发都支持。# 一份典型的 Tabby SSH 配置片段对应 config.yaml 中的 profile profiles: - name: 生产环境跳板 type: ssh options: host: 192.168.1.100 port: 22 user: deploy jumpHost: jump.example.com # 自动先连跳板 agentForward: true # 转发本地 SSH Agent forwardedPorts: - 3306 localhost:3306 # 本地端口转发到远端 MySQL连上之后标签页标题会实时显示远端提示符还能识别这条命令还在跑的状态命令结束时会弹通知不用一直盯着屏幕。关于密码和私钥Tabby 内置了一个加密保险库vaultSSH 密钥和敏感配置可以存进去用主密码保护。它同步配置的时候敏感字段会先加密再上传避免把密钥明文带到云端。第四步需要串口把它当成调试面板来用做嵌入式或硬件调试的同学可以省掉一个专门的串口工具了。Tabby 的串口模块支持自动扫描并列出当前可用的串口设备自定义波特率、数据位、停止位、校验位按字节输入和十六进制输出hexdump方便排查协议问题换行符转换自动重连。保存好常用串口参数后之后每次连接就是点一下的事。连上多个设备时配合前面的分屏还能同时盯好几路串口日志。第五步按自己的习惯武装它——主题、快捷键与插件Tabby 的可配置性主要体现在三个层面。主题与配色。仓库里tabby-community-color-schemes/schemes/这个目录放着上百套配色方案从 Dracula、Nord、Solarized 到 TokyoNight、Gruvbox 应有尽有纯配色在设置里一键切换想要整体 UI 主题比如 Hyper 风格、Catppuccin 风格可以从设置界面的插件市场安装。快捷键。除了常用的标签、分屏快捷键Tabby 支持多组合键比如CtrlK CtrlD这种两段式快捷键也能配置几乎每个动作都能绑定。如果你从 PuTTY 或 SecureCRT 转过来还可以开启右键粘贴、选中即复制这类老牌工具的习惯。插件。插件和主题都能在设置界面里直接安装。常见的实用插件包括往所有标签同时广播命令的 quick-cmds、把终端输出存成文件的 save-output、给 SSH 连接开 SFTP 面板的 sftp-tab、在浏览器中搜索选中文本的 search-in-browser、给终端加背景图和关键词高亮的插件等。// 写一个最简单的工具栏按钮插件体会 Tabby 插件 API import { Injectable } from angular/core import { ToolbarButtonProvider, ToolbarButton } from tabby-core Injectable() export class HelloButtonProvider extends ToolbarButtonProvider { provide (): ToolbarButton[] { return [{ title: 打个招呼, icon: fas fa-star, // 按钮图标FontAwesome weight: 10, // 权重越大越靠前 click: () console.log(Hello Tabby), // 点击时执行的动作 }] } }插件机制本身基于 Angular 的依赖注入核心扩展点都定义在tabby-core/src/api/下想加工具栏按钮看toolbarButtonProvider.ts想给标签页右键菜单加项看tabContextMenuProvider.ts想注册自己的快捷键看hotkeyProvider.ts。写完之后在配置文件里声明插件路径即可启用。常见问题三个容易踩的坑问题一输出太快会不会卡Tabby 对高速输出做了专门处理即使刷屏级日志也能保持流畅宽字符如中文、日文不会出现半宽错位。如果仍觉得卡先检查是否开着太多动画效果再考虑关掉 GPU 加速设置里的 hacks 区域可以强制禁用 GPU。问题二配置想在多台电脑间同步怎么做Tabby 支持把配置文件放在同步盘或 Git 仓库里配合内置加密保险库敏感信息不落明文。团队想统一环境可以先在一台机器上把主题、快捷键、SSH 配置调好导出这份配置文件作为模板分发给成员。问题三SSH 连不上怎么排查按这个顺序试先用系统自带的 ssh 命令直连排除网络问题再检查 Tabby 里填的主机、端口、用户名是否和命令行一致接着看认证方式是否选对密钥路径、密码、Agent 转发最后打开日志文件看具体报错。Tabby 的日志里能看到完整连接过程比瞎猜快得多。现在就可以开始总的来看Tabby 的价值不在又多了一个终端而在于它把本地终端、SSH、串口和插件生态收拢成一个可统一配置的工作台。对个人来说它帮你省掉记忆多套工具的成本对团队来说一份配置文件就能让所有人站在同一起跑线。如果你也受够了在多个终端软件之间来回折腾不妨今天就装上它把日常的 SSH 连接迁进来再挑一套顺眼的配色和主题。十分钟的配置投入换来的是一整条更顺滑的日常开发链路。【免费下载链接】tabbyA terminal for a more modern age项目地址: https://gitcode.com/GitHub_Trending/ta/tabby创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表