# matrix **Repository Path**: yngeek/matrix ## Basic Information - **Project Name**: matrix - **Description**: 为linux mint制作的matrix黑客桌面UI - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-06 - **Last Updated**: 2026-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # matrix — Linux Mint 全屏黑客面板 垫在所有窗口之下的全屏"黑客控制台":WebKit2 渲染仪表盘(数字雨 / 威胁雷达 / 入侵日志流, 真实系统数据每 2 秒刷新)+ 中列整列 VTE 真终端 + 应用坞。常驻桌面层,不挡窗口、不进任务栏。 ![screenshot](matrix-panel/screenshot.png) 实际使用中(终端里干活,仪表盘环绕,数据全部真实): ![screenshot2](matrix-panel/screenshot2.png) ## 安装 / 卸载 ```bash bash install.sh # 装齐: 面板(含守护) + pipes + Super+H/T/E 快捷键 + 开机自启 bash install.sh --remove # 全部卸载, 还原桌面图标设置 git pull && bash install.sh # 已装过旧版? 到 clone 目录拉取后重装即更新, 不用先卸载 ``` 依赖:`python3-gi`(Gtk 3 / Vte 2.91 / WebKit2 4.1);可选 `cmatrix`(应用坞 F8)、 `btop`、`cava`、`lolcat` 彩蛋命令均为系统包(`apt install cmatrix btop cava lolcat`)。 ## 面板功能 - **HUD 全真数据**:CPU 全核占用/主频/温度、内存/交换、磁盘、网卡速率与累计流量、电池、 top 进程(真实 PID/CPU%/RSS,python 原生 /proc 采样,无 fork) - **中列真终端**:VTE + `$SHELL` 原配置(跟随登录 shell),点进去直接干活;`Ctrl+加/减/0` 或 `Ctrl+滚轮` 缩放(持久化) - **应用坞**:F1 Firefox · F2 文件 · F3 终端 · F4 系统监视 · F5 编辑器 · F6 截图 · F7 pipes · F8 cmatrix · F9 省电开关(清单在 `matrix-panel/matrix-panel.py` 顶部 `DOCK`) - **快捷键**:`Super+H` 面板显隐(藏面板时自动恢复桌面图标,露面板时图标收起) · `Super+T` 终端 · `Super+E` 省电模式 - **省电模式**:数字雨/雷达冻结静态帧,实测 WebKit 98%→13%(CPU 81→52°C);状态持久化, 重启保持 - **自愈**:面板内置主循环看门狗(冻结 >25s 自动退出)+ `panel-supervisor.sh` 守护 (不在即拉起、CPU>70% 持续 20s 强杀重启) ## 彩蛋命令(系统包,不在本仓库) ```bash cmatrix # 代码雨 pipes -n 5 # 管道追逐动画(本仓库 pipes, install.sh 自动装到 ~/.local/bin) btop # 监控仪表盘 cava # 音频可视化 lolcat # 管道彩虹上色, 如 cmatrix | lolcat ``` ## 微调 - 网卡名:`matrix-panel/matrix-panel.py` 顶部 `IFACE`,或环境变量 `MATRIX_IFACE` - 日志:`~/.local/share/matrix-panel/panel.log`(>256KB 自动截半) - 调试钩子:`MATRIX_PANEL_DEBUG=1` / `MATRIX_PANEL_NORAIN` / `MATRIX_PANEL_CALM` / `MATRIX_PANEL_NORADAR`(详见 matrix-panel/README.md) - 改完源码重装:`bash install.sh` ## 架构要点(防坑,实测踩出来的) - **python↔JS 的 IPC 只走本机 HTTP**(`/data` 轮询 + POST),绝不用 `evaluate_javascript` / script-message——后者每次调用在 UI 进程 JSC 堆里造垃圾,约 2 分钟触发 GC 与 PAS 分配器锁 互锁,主循环永久冻结(gdb 实锤)。 - **终端框保持 FILL + 四边 margin 圈定槽位**,与 VTE 自然尺寸彻底解耦,否则 GTK 尺寸协商死循环。 - **前端零 setInterval 空转**:数据/时钟/日志均为自适应 setTimeout 链(仅 `?debug=1` 调试模式有一处 setInterval);省电模式下取消雨/雷达 RAF 调度,WebProcess 无保活唤醒源。 - 面板内置 `prctl(PR_SET_PTRACER_ANY)`,同用户 `gdb -p ` 可直接抓 C 栈。 更多细节见 [matrix-panel/使用说明.md](matrix-panel/使用说明.md)。