做开发的时候,我们经常要连到远程服务器上干活。
大部分时间,盯着黑底白字的命令行敲代码,倒也没什么问题。
但总有那么几个瞬间,我们会特别想在服务器上打开一个浏览器,或者看一眼刚刚生成的图表。
这就很让人头大了。
配置 VNC 实在是繁琐,用 X11 转发那种老技术,又卡得像是在放幻灯片,体验极其糟糕。
很多时候,我们只能无奈地把文件下载到本地,或者纯靠脑补来调试。
最近,我在 GitHub 上发现了一个非常有意思的项目:term.everything。
它打破了我们要么用纯文本,要么装远程桌面的二选一困境。
简单来说,这个工具能让我们在纯命令行的界面里,直接运行带有图形界面的软件。
当我们输入命令后,它会假装自己是一个显示器。
然后,它把原本应该显示在屏幕上的 Firefox、视频播放器甚至游戏画面,实时转换成终端能显示的字符或像素块。
如果是 SSH 连接远程服务器,这种体验就更独特了。
在只有命令行的环境里,凭空“长”出一个可以交互的浏览器窗口。
用来排查一些必须在服务器环境验证的网页 Bug,或者临时查看监控大屏,确实非常方便。
这就好比给 DOS 系统装上了 Windows 的窗口,但一切依然跑在轻量级的终端里。
作者甚至演示了在终端里玩《毁灭战士》(Doom)和看电影。
虽然画质有一股浓浓的复古赛博朋克风,但在终端里看视频的流畅度,做得相当不错。
它的安装方式,对我们程序员来说非常友好。
作者把核心功能打包成了单文件,没有一堆乱七八糟的依赖库。
只要下载下来,给它加上运行权限就能用。
如果是 Linux 系统,几行命令就能搞定:
# 下载并赋予权限wget https://github.com/mmulet/term.everything/releases/latest/download/term.everythingchmod+x term.everything# 启动 Firefox (假设已安装)./term.everything firefox
不过,既然是把图形界面硬塞进终端,对终端软件本身还是有点挑剔的。
为了获得较好的视觉体验,我们建议搭配 Kitty、WezTerm 或者 Alacritty 这类现代化的终端模拟器。
它们对图像渲染的支持更好,画面会清晰很多。
如果是老旧的终端,可能就只能看到由纯文字拼凑出的“低配版”界面了。
另外,项目目前还在快速迭代中。
作者也挺诚实,自嘲说现在的版本可能叫 "Term some things"(只能运行部分东西)更合适。
在实际测试中,跑个浏览器或文件管理器通常没问题,但太复杂的 3D 软件可能会有兼容性问题。
总的来说,如果咱们受够了在远程服务器上盲调图形程序,或者单纯想体验一下这种复古的极客感,这个项目值得一试。
GitHub 项目地址:https://github.com/mmulet/term.everything
今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!