夏天的高温热浪袭来,如果没有空调真的会热的发昏。看新闻多地气温高达40度,只能祈祷高温天气早点过去,各位读者也保重身体,躲在空调房喝点小可乐,顺便看看希里安这周的“折腾”成果吧!
最近重温了《Tron: Legacy 创战纪 》,又研究了下模拟终端,因为希里安一直对电影里的终端印象比较深刻,闪烁的命令行、动态的系统监控、3D 地球动画,科幻感拉满!所以一直想自己动手实现一下,就是这样的
视频:TRON 终端界面
奈何之前技术还不行,也没有AI的辅助,折腾半天也没啥进展,顶多就是复活了一下已经归档许久的eDEX-UI开源项目,如下视频这样的
视频:eDEX-UI 演示
不过随着不断地学习积累,自己也慢慢有些了解了,借助AI想再试一下,希里安终于抽空开发出了一个跨平台终端项目——CILITERM,而且准备开源!今天就和大家聊聊终端模拟器的开发方案,顺便介绍一下我的项目,希望能给想入坑的朋友一点启发!
终端模拟器(Terminal Emulator)只要是从事开发的朋友应该比较熟悉,从 Linux 的 bash
到 Windows 的 PowerShell
,再到 macOS 的 Terminal
,都是我们敲代码、跑命令的必备工具。但像《Tron: Legacy 》那样的科幻终端,不光要能跑命令,还得有炫酷的 UI 和实时监控的功能。开发这样的终端有哪些方案呢?我研究了一下,总结出以下几种主流方案:
最后我选择了Electron + xterm.js的方案,主要是它上手快、生态丰富,适合快速实现《TRON》风格的科幻界面。接下来就给大家介绍我的项目CILITERM!
CILITERM 是一个现代化的跨平台终端模拟器,灵感来自《TRON 创战纪》和 eDEX-UI,基于 Electron + Vite + Vue3 构建,集成了终端交互、系统监控、文件浏览和酷炫的 3D 地球动画。项目已经开源,欢迎大家试用、反馈和贡献代码!
1. 环境要求:
2. 安装与运行:
git clone https://github.com/ciliverse/ciliterm.git
cd ciliterm
npm install
npm start
3. 构建发布:
npm run build
生成 Windows、macOS、Linux 的可执行文件
ciliterm/
├── index.html # 主页面,加载 Vue 应用
├── main.js # Electron 主进程,初始化窗口
├── preload.js # 预加载脚本,桥接主进程和渲染进程
├── renderer.js # 渲染进程逻辑,初始化 xterm.js
├── styles.css # 全局样式,定义科幻 UI
├── package.json # 依赖和构建配置
├── vite.config.js # Vite 配置,优化前端构建
├── src/
│ ├── App.vue # Vue 根组件,管理 UI 布局
│ ├── main.js # Vue 入口,挂载应用
│ └── styles/ # Vue 组件样式
目前目录结构还是比较简单明了,适合像希里安一样的小伙伴一同学习完善
开发 CILITERM 的过程既是挑战也是乐趣,分享几点心得,希望对大家有帮助:
CILITERM 是我对《TRON 创战纪》科幻终端的一次致敬,也是对开源理念的践行。希望这篇文章能让大家对终端模拟器开发有点兴趣,也欢迎加入 CILITERM 的开源社区,一起打造更酷的终端!
夏天炎热,大家注意防暑,多喝水哦!下周希里安会继续分享新的见闻,咱们下期见!
GitHub 项目地址: 见评论区置顶处,欢迎各位感兴趣的小伙伴的加入!
生活的意义,也许一时难以看清,但能和一群志同道合的人,全情投入的做一些喜欢和热爱的事,这本身就是最有意义的活法!