标签 Web终端 下的文章

特别声明

  1. 无商业推广:本方案纯属个人运维心得分享,不涉及任何商业利益。
  2. 纯免费工具:所涉及的工具(ttyd、沉浸式翻译插件等)均为目前市面上现有的开源或免费工具组合,不存在任何付费下载或订阅引导。

痛点

各位在日常运维或者学习过程中,应该遇到过这些痛点:

  • 执行 kubectl --helpdocker --help 这类命令帮助文档时,面对满屏的英文参数看得头疼。
  • 看到复杂的报错日志(如 Java StackTrace 或 K8s Event),想翻译却发现传统的 Terminal 不支持浏览器插件。
  • 复制到网页翻译再切回来,来回折腾打断了操作流,效率极低。

折腾过程

有道翻译: (不符合需求,Pass 掉)

  • 以前跟同事合租的时候见过他用过有道翻译的功能,给电脑装上之后发现它在终端里只能划词翻译单词,但是在其他场景下他的划词翻译有点像狗皮膏药会挡着自己的视线,要翻译长句子就得切换到软件界面,截图翻译比较费劲,其他的功能估计需要开 vip。

沉浸式翻译:

  • 这是一个用的比较广泛的浏览器翻译插件,翻译功能比较好用,但是终端上又不支持。那是不是可以安装一个浏览器版本的 Terminal 插件?或者用代理转发到浏览器的界面上就可以用沉浸式翻译的功能了。

用过 Openwrt 软路由的大概从 web 界面连接过终端,它的终端是由一个叫 ttyd 的小插件实现的。问一下 Gemini 方案确实可行。

核心思路

  1. ttyd: 一个简单的 C 语言编写的工具,可以将任意命令行程序(如 bash/zsh)通过 WebSockets 暴露到浏览器。
  2. 沉浸式翻译: 浏览器插件,其 “悬浮球(小圆点)” 功能可以识别网页中的文本块并进行双语对照翻译。
  3. 结合: 当终端内容以 Web 形式呈现时,它就变成了插件可触达的 “文本块”,翻译体验瞬间拉满。

快速上手

1. 安装 ttyd

大部分 Linux 发行版都可以直接安装:

# Ubuntu/Debian sudo apt install ttyd

# CentOS/RHEL sudo yum install ttyd

# macOS
brew install ttyd

2. 启动服务

运行以下命令开启一个 Web 终端(默认端口 7681):

ttyd -W bash

注:-W 参数允许在浏览器中进行写入操作(输入命令)或者 ttyd -p port bash。

3. 浏览器访问

打开浏览器,访问 http://your-ip:7681。你会看到一个熟悉的终端界面。

4. 开启翻译

确保你安装了 沉浸式翻译 插件。

  • 在插件设置中开启 “显示悬浮球”。
  • 鼠标选中在那些复杂的 kubectl 帮助文档或者报错日志上。
  • 点击小圆点,直接原地翻译!选择免费模型即可,普通用户翻译量应该不会大到哪里去,我这里选择的是硅基流动,它会对一些多义词也进行解释,用起来还不错。(选择其他的不太支持,不知道为啥,只有小圆点支持)

进阶:一键脚本 (alias)

为了方便使用,可以在 .bashrc.zshrc 中添加一个别名:

# 自动获取本机 IP 并启动,限定端口防止冲突 alias webterm='ttyd -p 7681 -W bash' 

如果你是在远程服务器上操作,建议配合 ssh -L 做端口转发,或者在前端加个 Nginx 反代并开启 Basic Auth,确保安全:

ttyd -c user:password -p 7681 bash

实际效果展示

  • 场景 A:查命令用法 输入 kubectl get pods --help,滚屏后直接点选大段的参数说明,中文释义紧随其后。
  • 场景 B:看报错日志 当看到 Error from server (Forbidden): ... 等长难句时,一键翻译,秒懂权限缺失的具体原因。

小提示

  • 性能: ttyd 非常轻量,几乎不占 CPU。
  • 排版: 沉浸式翻译对 Web 终端的布局适配非常好,通常不会破坏排版。
  • 安全: 如果在公网服务器上运行,务必加上验证密码 (-c) 或配置防火墙。
    大家还有什么终端增强的神器,欢迎在评论区交流。

📌 转载信息
原作者:
Linuxer-gx
转载时间:
2026/1/20 10:43:18