把旧笔记本改造成全能家庭服务器
前言
手里这台 i5 处理器的旧笔记本闲置很久了,食之无味弃之可惜。最近因为受够了愚蠢的机顶盒,决定把这台笔记本改造成一台 24 小时运行的 Linux 私有服务器,以替代和升级机顶盒。
这篇文章主要为了记录从零搭建的过程,既是技术复盘,也方便以后系统崩了(乌鸦嘴)能快速重建。目前已实现了 NAS、影音中心、自动化播报等功能。
一、 系统与硬件调教(基础环境)
系统选了 Ubuntu Server LTS,为了省资源没装桌面环境,全靠 SSH 和 Cockpit 远程管理。
Cockpit: 装了个 Web 管理面板(把端口改到了 9099 避开 Kodi),方便查看服务器状态(内存、外存、CPU、网络),以及便捷查看和控制进程状态。
两个必须记录的“坑”:
- 物理合盖不休眠
仅仅修改logind.conf是不够的,笔记本合盖后还是容易进入“假死”状态。
- 最终解法: 直接在内核层面屏蔽休眠目标:
systemctl mask sleep.target suspend.target ...。现在盖上盖子,它就是一台纯正的服务器。
- 硬盘空间的“消失”
装完系统发现 500G 硬盘只显示 100G。原来 Ubuntu 默认策略保留了大量 LVM 空间。
- 解决: 熟练使用
lvextend和resize2fs把空间全部分配给根目录/。
二、 影音中心 Kodi (核心功能)
这是目前家里使用频率最高的功能,作为“电视盒子”的替代品。
1. 运行模式
不同于常规安装,我把它配置成了后台服务。配合手机端的 Kore 遥控器,平时完全不需要接键盘鼠标,体验和商业机顶盒无异。
2. 插件库连接问题
Kodi 自带的官方插件库在国内网络环境下访问极其缓慢,甚至无法连接。
- 尝试过的方案: 我深入到了安装目录
/usr/share/kodi/下,尝试修改官方库的 xml 配置文件,手动替换成了清华镜像站地址。 - 当前状态: [待解决] 这种修改有所改善,但依然不能完全解决,部分插件更新还是会失败。看来单纯改源不够,后续可能需要考虑通过透明代理或 Docker 容器化来彻底解决网络层的问题。
三、 自动化播报
以前写了个天气播报脚本,早上自动报天气。最初用的是微软 Edge-TTS 和 wttr.in 接口,结果网络一抖动就报错,体验很差。
现在的方案:商业数据源+本地化语音
语音合成 (TTS):
放弃了在线接口,部署了 VITS 本地模型(vits-aishell3.int8.onnx)。优势在于 0 延迟,断网也能用,而且占用 CPU 极低。数据源:
改用了高德地图 API,免费额度足够个人使用,数据也比国外的 wttr 准得多。
四、 文件备份
这部分主打“无感备份”,借助 Syncthing 搭建了私有同步云。
策略: 手机端“只发送”,服务器端“只接收”且忽略删除。这样手机为了腾空间删掉照片,服务器上还会保留,实现了备份。
网盘挂载: 用 Alist 把百度网盘、阿里云盘挂载成本地硬盘,配合 Syncthing 把以前散落在各处的照片都归拢到了本地。
五、 下一步计划
目前的架构已经很稳了,接下来的折腾方向:
- 容器化: 准备把能容器化的服务都搬进 Docker,保持系统洁净。
- 对外开放: 研究一下 Cloudflare Tunnel,争取在外面也能安全地访问家里的服务。
- 博客搭建: 也就是这篇博客的由来,正在完善静态博客的部署流程。
Note:
本文档最后更新于 2026 年 2 月,部分技术细节(尤其是 Kodi 插件源)可能随软件版本更新而变化。