# 「开机即大屏」社区成熟方案调研 —— 布局与显示效果

- **日期**：2026-09-27
- **背景**：GPU 机（192.168.31.31）2K 屏（2560×1440）上的开机资源面板，**对布局与显示效果不满意**（不是配色不满意）。
- **本机实测前提**：
  1. 控制台字体阶梯（`/usr/share/consolefonts` 实测，2560×1440 下得到的字符网格）：

     | 字体 | 像素 | 2K 下网格 |
     |---|---|---|
     | `Fixed 8x16`（现用） | 8×16 | **320×90**（字太小，是"显示效果差"的主因） |
     | `Lat15-Terminus20x10` | 10×20 | 256×72 |
     | `Lat15-Terminus24x12` | 12×24 | 213×60 |
     | `Lat15-Terminus28x14` | 14×28 | 182×51 |
     | `Lat15-Terminus32x16` | 16×32 | **160×45**（挂墙看的档位） |

  2. 文本控制台是**位图字体 + 字符网格**，没有抗锯齿、没有矢量图 —— 布局自由度和观感上限天生低。
  3. 控制台**能出 256 色**（本次用色块实测通过，非 16 色瓶颈）→ **配色不是问题，布局才是**。

- **社区现状一句话**：**"开机即大屏"这件事社区早有成熟方案，而且几乎全是「浏览器 kiosk + 监控平台」**；
  终端一侧成熟的产物是**布局配置文件**（bottom / wtf 的网格模型），而不是"主题"。
  我此前那套 tmux「8 行状态栏 + btop」属于**手搓**，成熟度低于下面任何一类 —— 这正是它显得业余的根本原因。

---

## 一、路线 A：浏览器 kiosk + 监控平台（社区主流，布局与观感最好）

| 项目 | ★ | 最近提交 | 对"开机即大屏"的支持 | 布局能力 | 2K 适配 | GPU | 端口存活 |
|---|---|---|---|---|---|---|---|
| **Netdata** | 80,664 | 活跃 | **官方 TV Mode**（官方博文《TV Mode: Put Your Dashboards on the Big Screen》，专为大屏无人值守） | 算法化自动布局 + 自定义看板；**矢量图表** | 原生（响应式矢量，任意分辨率都清晰） | ✅ 官方 `nvidia_smi` 采集器 | ✅ `portcheck` 采集器 |
| **Grafana + [grafana-kiosk](https://github.com/grafana/grafana-kiosk)** | 492（kiosk 工具） | 2026-09-26 | **官方 kiosk 工具**：自动登录指定看板、隐藏 UI、**Playlist 轮播（TV 模式）** | **最自由**：社区看板 [1860 Node Exporter Full](https://grafana.com/grafana/dashboards/1860/)（1.457 亿次下载）、[12239 NVIDIA DCGM](https://grafana.com/grafana/dashboards/12239/)（4057 万次） | 原生 | ✅ DCGM / nvidia_gpu_exporter | 需自建探针 |
| **[MagicMirror²](https://github.com/MagicMirrorOrg/MagicMirror)** | 23,892 | 2026-09-26 | **本身就是"开机全屏大屏"平台**（Electron/Chromium 全屏、模块化、随系统启动） | 模块化网格布局，海量第三方模块 | 原生 | 社区模块（如 [MMM-SystemStats](https://github.com/BenRoe/MMM-SystemStats) 显示 CPU 温度/内存/负载；GPU 需另找模块） | 社区模块 |
| **[Anthias (Screenly OSE)](https://github.com/Screenly/Anthias)** | 3,676 | 2026-09-27 | 数字标牌：整机交给它，开机即全屏轮播网页/素材 | 轮播式 | 原生 | ❌ | ❌ |

官方示例图（本目录 `screenshots/community/`）：

- `magicmirror-demo.gif` —— MagicMirror² 官方演示（模块化大屏的真实观感）
- `mmm-systemstats.png` —— MMM-SystemStats 模块截图

---

## 二、路线 B：终端 TUI 的**布局方案**（要留在控制台就用这个）

| 项目 | ★ | 最近提交 | 布局机制 | 说明 |
|---|---|---|---|---|
| **[bottom (btm)](https://github.com/ClementTsang/bottom)** | 14,064 | 2026-09-23 | **官方 TOML 网格模型**：`[[row]]` / `[[row.child]]` 行列表嵌套，每层可给 `ratio` 比例，控件可重复；控件类型 `cpu / mem / net / proc / temp / temp_graph / disk / empty / batt` | **这是"别人做好的布局方案"在终端里的成熟形态**，官方文档 + 默认配置样例齐全 |
| **[wtfutil (WTF)](https://github.com/wtfutil/wtf)** | 17,103 | 2026-09-17 | 网格布局 + 大量模块（终端版个人 dashboard） | 模块生态丰富，适合"信息面板"式大屏 |
| **btop** | 34,764 | 活跃 | 内置 5 个 **preset** + `shown_boxes` 等配置 | 最省事，但布局自由度最低（我原来只用了它） |
| **[Glances](https://github.com/nicolargo/glances)** | 33,691 | 2026-09-26 | TUI + Web 双模，含 GPU 插件 | 中等 |

bottom 的官方布局示例（本目录 `screenshots/community/bottom-layout.png`）：两行 1:2，第二行再切 4:3 两列，第二列再切 1:1 两行放温度图和磁盘 —— **纯配置实现**，无需写脚本。

> 结论：若坚持终端，**把布局交给 bottom 的 TOML**（或 wtf 的网格），而不是像我现在这样在 tmux 里手写状态栏和分屏。

---

## 三、路线 C：控制台显示质量改造（**不推荐依赖**）

- **[kmscon](https://github.com/kmscon/kmscon)** / **fbterm**：把 Linux 文本控制台替换成图形终端（真彩色 + 抗锯齿字体 + 中文），观感确有提升；
  但两者**基本都已停更**，在 NVIDIA 专有驱动 + 2K 下需要自行承担风险，且字形质量仍不如真正的图形栈。

---

## 四、结论与建议

1. **想要"布局好看 + 显示效果好"** → 走 **A 路线**：**Netdata（含官方 TV Mode）** 或 **Grafana + grafana-kiosk**，用 Chromium kiosk 全屏。
   理由：矢量渲染天然适配 2K；布局由平台/社区看板负责，**不需要自己拼 tmux**；GPU 与端口存活都有现成采集器/看板。
2. **想留在控制台** → 走 **B 路线**：**bottom 的 TOML 布局 + 大字号字体（12×24 或 16×32）**，布局交给 bottom。
3. 现在的 tmux 8 行状态栏方案**属于过渡品**：当时是按"零依赖、能自己拼"的思路做的，成熟度不如上面任何一类。要升级，A 路线的性价比最高。

---

## 五、出处（本次逐条核实）

- Netdata TV Mode（官方博文）：https://www.netdata.cloud/blog/tv-mode/
- Netdata NVIDIA GPU 采集器：https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/nvidia-gpu
- Netdata `portcheck` 采集器：`netdata/netdata` 仓库 `src/go/plugin/go.d/collector/portcheck/metadata.yaml`
- Grafana kiosk 工具：https://github.com/grafana/grafana-kiosk ｜ Playlists（轮播）：https://grafana.com/docs/grafana/latest/dashboards/playlist/
- Grafana 社区看板：https://grafana.com/grafana/dashboards/1860/ ｜ https://grafana.com/grafana/dashboards/12239/
- MagicMirror²：https://github.com/MagicMirrorOrg/MagicMirror ｜ MMM-SystemStats：https://github.com/BenRoe/MMM-SystemStats
- Anthias：https://github.com/Screenly/Anthias
- bottom 布局文档：https://bottom.pages.dev/0.14.9/configuration/config-file/layout/ ｜ 默认配置：https://github.com/ClementTsang/bottom/blob/main/sample_configs/default_config.toml
- wtfutil：https://github.com/wtfutil/wtf ｜ Sampler：https://github.com/sqshq/sampler（14,809★，但 2024-02 后停更）
- 星数与最近提交时间：GitHub API 实测（2026-09-27）
