我最初刷到一张 Cyberdeck 概念图时,第一反应跟你一样:这玩意儿看上去就是个赛博玩具。后来真正在工位和机房之间往返的次数多了,我才意识到,一台由 Raspberry Pi 打造的、能随身走的网络终端,其实远比任何玩具都实用。Cyberdeck 这个词在海外创客社区里火了很久,但你搜出来的内容大多在炫外观。今天我不谈那些灯效和机械感,只讲怎么把一台 Raspberry Pi 拼成真正的“随身 Linux 终端”:能塞进背包、不插电也能用几小时、打开就是终端环境、随时 SSH 上服务器处理问题。
适合看这篇文章的人有三类:一是想动手做 Cyberdeck 但不知道从哪下手的 Raspberry Pi 爱好者;二是平时带笔记本去机房、工位、客户现场做维护的工程师;三是对小体积终端设备好奇,想了解“树莓派到底能做成什么样子”的玩家。我全程用最常见的 Raspberry Pi 4B 作为实例,如果你手里是 Raspberry Pi 5,文中的差异点我也会单独标出来。
1. 我要做的是“网络终端”,不是“戴着好看的赛博玩具”
Cyberdeck 的原始含义,是科幻作品里那种贴合人体、针对特定场景组装的便携计算机。这两年社交平台上 Cyberdeck 的火热,很大程度上归功于它那副介于“赛博朋克道具”和“办公外设”之间的外观。但我的想法比较朴素——既然要花业余时间组装一台机器,与其做一台纯粹满足拍照欲的摆手件,不如做成每天能开机干活的随身网络终端。
列一下我的真实需求,你就能明白为什么硬件选型和网上大多数教程不一样:
- 开机就能进终端,最好不用等桌面环境慢慢加载;
- 能 SSH 到服务器、管理 Linux 主机或机房设备;
- 能快速测试某个网址、某段网络的连通性;
- 能临时起一个局域网服务,给同事传文件;
- 最好有不插电使用几个小时的能力;
- 尺寸控制在能塞进通勤背包的水平,重量不建议超过 1.5kg。
这些需求,一台 Raspberry Pi 正好都能满足。它功耗低、接口全,GPIO 还能扩展很多功能模块;软件生态成熟,出了问题全世界玩家都有现成方案。搭配一块 5 英寸或 7 英寸小屏、一把机械键盘和一块电池,本质上就是一台标准的 Cyberdeck。
当然,我承认最初入坑 Cyberdeck 也有一部分原因是“帅”。铝壳、机械键盘、角落里的电子墨水小屏,确实很打动动手党。但真正开始组装后你会发现:凡是做给“展示”看的方案,大部分会在长期使用里变成妥协;凡是做给“天天用”的方案,才有可能一直在你的背包里。这篇文章按“天天用”的标准来写,每个部件的取舍原因我都会尽量讲透。
2. 硬件选型:决定这台终端是“顺手”还是“翻车”的关键
Cyberdeck 硬件选型最忌讳的是“东拼西凑”——看到好看的模块就全往壳体里塞。一台口袋终端说白了就是主板、屏幕、键盘、电池、壳体五个部分,每个部分都有明确的尺寸、电力和接口约束。把五条约束全部核对清楚,组装过程才会顺畅。
2.1 主板背后的代价:Raspberry Pi 4B 还是 Raspberry Pi 5
做网络终端,Raspberry Pi 4B(建议选 4GB 以上内存版本)是我的首选。原因有三个:
- 功耗更低更可控:Raspberry Pi 4B 典型功耗约 5~7W,用一块普通 5V/3A 电源或者带电池管理功能的扩展板就能带起来。Raspberry Pi 5 正常工作功耗很容易上 10~12W,对便携电池的电流输出和散热要求都高了一大截。
- 发热更好处理:4B 加一块小散热片和一个 5V 风扇,温度就能稳定在 50~60℃ 区间。Raspberry Pi 5 则需要更大面积散热片和更优风道,在紧凑外壳里比较折腾。
- 配件兼容性高:市面上很多 UPS 供电模块、GPIO 扩展板、显示排线转接板,最早就是为 4B 设计的,省掉不少“线序到底对不对”的确认时间。
如果你执意用 Raspberry Pi 5,那要注意它对供电的要求是 27W USB-C PD 输入。普通 5V/3A 电源不一定能充分发挥性能,高负载时甚至会出现意外重启,所以便携场景下必须专门配大功率 PD 供电模块。下表是我实际对比两代主板之后的总结:
| 对比项 | Raspberry Pi 4B (4GB) | Raspberry Pi 5 (8GB) |
|---|---|---|
| 典型功耗 | 5~7W | 10~12W |
| 被动散热效果 | 可行,建议风扇辅助 | 很难,强烈建议主动风道 |
| 便携供电难度 | 低 | 高,需要 27W PD 模块 |
| 启动到终端登录时间 | 约 15 秒 | 约 12~13 秒 |
| 日常 SSH 操作体验 | 完全够用 | 更强但感知不明显 |
结论很直白:网络终端要的是“稳定可用”,不是“性能天花板”。每天拿它 SSH、跑脚本、查日志,Raspberry Pi 4B 是性价比和稳定性的最优区间;如果你打算把 Cyberdeck 当作主力桌面级小电脑来用,那再考虑 Raspberry Pi 5 也不迟。
2.2 屏幕:尺寸、分辨率和使用手感的平衡
屏幕是 Cyberdeck 的“门面”,选不好直接影响每天用得爽不爽。我用过 5 英寸 800×480,后来换成了 7 英寸 1024×600,这套配置也是目前最主流的方案。
几个关键取舍:
- 5 英寸的好处是整体更窄小,做成一本书大小的整机,塞任意背包都没压力。缺点是 800×480 分辨率在终端里显示 80 列字符时字号偏小,长时间看眼睛容易累。
- 7 英寸用起来更舒服,但也更占空间。1024×600 可以舒服地在 tmux 里分屏,同时开两三个 SSH 会话都能看清。坏处是整机长宽明显变大,重量也会增加。
- 触摸功能只是应急的。既然外接键盘在手,触屏更多用来临时点一下系统菜单、滚动日志,别指望用触屏替代键盘输入。
我的建议很简单:如果你想把 Cyberdeck 当成主力携带设备,直接考虑 7 英寸;如果只是出差时偶尔顶一下,5 英寸更轻便。这篇教程后面的配置以 7 英寸 1024×600 为准,5 英寸也能照用,只是字号可以适当调大。
2.3 键盘:体积和手感的拉锯战
Cyberdeck 的键盘方案,常见的有三种:
- 直接用成品 40% 或 60% 机械键盘,优点是手感好、成本可控、到手即用,缺点是体积还是偏大;
- 用带触控板的迷你键盘,类似遥控器形态,优点是最省空间,缺点是长时间打字容易累,键帽太小;
- 自己手工焊接键盘矩阵,那是硬核玩家的做法,对大多数人不建议一上来就搞。
我最后选了成品 40% 机械键盘,轴体是红轴。红轴直上直下没有段落感,夜间维护时声音小一些;茶轴有一点确认感,办公打字很舒服,但声音会稍大。做便携终端建议优先红轴或静音红轴,原因很简单:你会在小桌板、机房角落这类地方用它,太吵的轴体自己也会受不了。
2.4 电池和供电:不能只看容量,还要看电流和瞬态
供电是 Cyberdeck 里最容易“翻车”的部分。很多人随便拿一个充电宝插上去就觉得完事,但不少充电宝在小电流负载时会自动断电,或者在高负载瞬间触发过流保护,导致树莓派直接重启。
我推荐的靠谱方案是:买一块带 5V/3A 输出的 UPS 扩展板,再接 18650 电池组。这类板子不仅能稳定输出 5V/3A,还自带电池充放电管理和低电量保护。实测数据如下:
- 树莓派 4B 空闲时整机电流约 0.8A@5V,加上屏幕和键盘模块约 0.5A;
- 满载编译或者大量传输日志时,整机电流能到 2.5A 左右;
- 用三节 2600mAh 的 18650 电池并联(约 28Wh),低负载能用 5~6 小时,满载约 2.5 小时。
估算续航有个简单公式:总能量(Wh)÷ 平均功耗(W)≈ 续航时间。比如 3000mAh 的 3.7V 18650 电池三节并联,能量大概 11.1Wh,按平均功耗 5W 算,理论续航约 2 小时,实际再打七折。所以别被“容量大”三个字忽悠,电池数量和最终续航要提前算。
3. 组装过程:每一根线、每一颗螺丝都有它的理由
整个组装过程基本不需要焊接,几乎全是模块拼接。但如果你想真的“背着跑”而不是“摆在桌上拍”,内部固定和走线就必须认真对待。
3.1 用铜柱搭框架,先给所有零件一个“家”
我的方案是:用一层 3mm 厚亚克力板当底板,上面用 M2.5 铜柱把树莓派、屏幕驱动板、电池模块分别固定。
- 树莓派和屏幕驱动板之间,至少留 5mm 空隙,方便排线穿过,也方便后期拆解;
- 电池模块固定在底板底部,避开树莓派 GPIO 排针,防止金属引脚与电池触点意外短路;
- 键盘和主机的连接,无线就用 2.4G 接收器加 USB 集线器,有线就把线缆沿机壳内侧走,避免开合时扯断。
用铜柱的好处是拆装方便。我一开始也想省事上热熔胶,结果装风扇、装电池时立刻后悔了:热熔胶一粘死,想换根排线都费劲。用铜柱锁紧,哪天驱动板坏了,拧几颗螺丝就能把元件换掉。
3.2 排线和走线:一定要有“可更换”意识
屏幕排线和 GPIO 插线,是 Cyberdeck 里最容易坏的两部分。28AWG 杜邦线虽然够用,但反复拔插后端子会松,金属裸露处还可能碰到主板背面焊点造成短路。
我最终选用了 1.0mm 间距的 FPC 排线,只要转接板支持就尽量用它;GPIO 侧也优先使用“一键快插”转接板,而不是把 6 根线一根一根往里塞。这样做的意义只有在故障现场才能体会到——你能在 10 秒内拔掉屏幕排线排查问题,而不是拿一把螺丝刀在一堆杜邦线里找哪根断了。
3.3 散热设计:先看数据,再决定风扇策略
便携终端体积小,散热优先级非常高。树莓派 4B 完全被动散热,在密闭小壳子里高负载十分钟就能冲到 78℃ 以上,触发降频,SSH 都感觉变慢。
我的方案分两层:
- 低层:铝制散热片,紧贴 CPU 和 USB 控制芯片;
- 上层:一个 30×30mm 或 40×40mm 的 5V 静音风扇,对着散热片吹,接在主板 5V 和 GND 引脚上,通过外壳侧面留进风口。
我在后续软件部分会给出一个根据 CPU 温度自动调速的脚本。实测下来,待机时风扇几乎不转,满载时转速拉到 80%,噪音控制在能接受的范围。
3.4 电源开关:别把树莓派的“拔电”当成关机
便携设备最容易忽视的是电源开关设计。树莓派没有硬件电源键,直接拔电存在损坏 SD 卡或文件系统的风险。我加了一个两档船型开关:
- 一档直接切断电池供电,属于“硬断电”,只在长时间存放时使用;
- 另一档接到 GPIO 做按键,通过软件触发关机脚本,是日常关机方式。
平时用完按一次软关机,等灯灭了再关硬断电。这样操作顺手也安全。长期插电不关机的朋友,至少也要养成先执行sudo shutdown -h now再断电的习惯。
4. 系统与终端环境的配置:让 Cyberdeck“一开机就干活”
4.1 系统版本:我选 Lite 而不是桌面版
在一台只有 7 英寸屏的设备上,完整桌面环境不仅慢,还会多耗大量的电量和内存。我直接装 Raspberry Pi OS Lite(64 位,不带桌面),开机后进入的不是图形桌面,而是一个干净的控制台。
试想一下:你背着一台 1kg 的设备去机房,如果先等 30 秒进一个图形桌面,再手动开一个终端,纯属浪费。Lite 版启动到 login 大概 10 秒,输完用户名密码直接就是 zsh,效率感拉满。
安装系统时,用官方 Raspberry Pi Imager 就能一次配好基础参数:打开 SSH、填用户名和密码、配置 Wi-Fi 的国家地区、把主机名改成cyberdeck。之后把 SD 卡插回主板,从电脑上执行ssh cyberdeck@<树莓派IP>就能开始后续配置。
如果树莓派 IP 经常变,可以在路由器里绑定 DHCP 静态地址,或者直接在系统里配置静态 IP。对飞行场景来说,我更推荐 DHCP 保留,这样换网络环境时也能自动切换。
4.2 让终端更像“自己的”:zsh + tmux 基础配置
Cyberdeck 的灵魂在终端,终端环境直接影响使用效率。我的核心组合是 zsh + tmux。
先安装基础工具:
sudo apt update && sudo apt install -y zsh tmux git curl wget tree htop neovim把默认 shell 改成 zsh:
chsh -s /usr/bin/zsh我没有上重量级的 oh-my-zsh,因为对网络终端来说,启动速度和简洁比花哨主题更重要。.zshrc里只加了历史记录、补全和几个常用别名:
setopt HIST_IGNORE_ALL_DUPS alias ll='ls -alF' alias cls='clear' alias grep='grep --color=auto' alias up='sudo apt update && sudo apt upgrade -y'tmux 是网络终端里最重要的工具。一个小屏上,可以同时开着本地终端、远程主机、日志监控三个窗口,随时切换上下文。我的.tmux.conf核心配置:
set -g prefix C-a unbind C-b bind a send-prefix bind | split-window -h bind - split-window -v set -g mouse on set -g history-limit 50000改成Ctrl+a作为前缀之后,按|横切窗口,按-竖切窗口,鼠标滚轮还能直接翻阅很久之前的输出。在机房没有外部鼠标时,光凭Ctrl+a加方向键就能切换窗口,这已经是我肌肉记忆的一部分了。
4.3 只读根文件系统:让随身终端不怕掉电
SD 卡在高频次掉电场景下容易产生坏块。我采用了一个比较实用的方案:把根分区挂成只读,/var/log和/home单独放到 tmpfs 或可写分区。
# /etc/fstab 示例(节选) # 需要更新系统时,把 ro 改为 rw,reboot 后再改回 ro PARTUUID=xxxxxxx / ext4 ro,noatime 0 1这样即使偶发断电,基本不用担心系统崩溃。配置完成后日常使用一切正常,只有需要更新系统时才临时把根分区改成可写。我为此养成了一个习惯:装软件前先执行sudo mount -o remount,rw /,装完再改回只读。这牺牲了一点点便捷,但换来了整机在移动场景里的极强可靠性。
5. 网络功能落地:一台随身网络终端的看家本领
5.1 SSH 多主机管理:用别名和远端跳板搞定几十台机器
随身设备最核心的日常操作就是 SSH。如果每次都输入ssh root@192.168.x.x,浪费的不光是时间,还有在地铁站、机房这种地方宝贵的耐心。我在~/.ssh/config里把所有常用机器都起了别名:
Host alpha HostName 192.168.1.20 User root IdentityFile ~/.ssh/id_ed25519 Host office-server HostName 192.168.88.30 User admin Port 6022 ProxyJump alpha其中ProxyJump的含义是“先通过 alpha 这台机器,再连接到 office-server”,非常适合从外部维护内网里的服务。在外出差时,一条ssh office-server就能直达目标,不用记复杂 IP 和端口。
公钥登录也建议配置好:在本地执行ssh-keygen -t ed25519生成密钥后,把公钥追加到目标机器的~/.ssh/authorized_keys。这样登录既快又安全,还省去交互输入密码的步骤。
5.2 日常网络探测脚本:ping、路由、DNS 一套带走
一台网络终端如果连网络问题都定位不了,和砖头没什么区别。我自己封装了一个netcheck.sh脚本放到~/bin/,用来自上而下地探测网络状态:
#!/usr/bin/env bash # 用法: netcheck.sh 目标域名或IP TARGET="${1:-example.com}" echo "== 1. 本机网卡状态 ==" ip addr show | grep -E "^[0-9]+:|inet " | head -20 echo "== 2. 默认网关 ==" ip route | grep default echo "== 3. 外网连通性 ==" ping -c 3 1.1.1.1 2>/dev/null || ping -c 3 8.8.8.8 echo "== 4. DNS 解析 ==" nslookup "$TARGET" 2>&1 | tail -6 echo "== 5. 目标主机连通性 ==" ping -c 3 "$TARGET"这个脚本可以在处理 Wi-Fi 断流、IP 冲突、网关丢失等问题时直接运行一遍,立刻定位是网卡、网关、DNS 还是目标服务器的问题。1.1.1.1和8.8.8.8只是常见的公共 DNS 服务器地址,一般用它们来测试 IP 层连通性即可。
5.3 HTTP 服务的快速自检:curl 是最低成本的探针
维护设备时,最常遇到的问题是“某个服务到底通不通”。直接开浏览器太重,在 Cyberdeck 上用 curl 是最低成本的探针:
# 查看响应头,判断服务是否存在 curl -sI -m 5 https://example.com # 查看返回内容,顺带抓错误信息 curl -sL -m 10 https://example.com/api/health | head -50-m 5表示最长等待 5 秒,防止某个目标卡死整个终端。配合 tmux 分屏,左边跑 curl 实时输出,右边看着远程主机日志,排查效率能翻倍。
5.4 用 Python 临时起一个局域网文件服务
Cyberdeck 挂在某个网络里时,经常会有“把终端上的文件传给旁边同事”的需求。最方便的就是 Python 内置的 HTTP 服务:
cd ~/share && python3 -m http.server 8000 --bind 0.0.0.0同一局域网里的手机、电脑,访问http://<Cyberdeck的IP>:8000/就能下载文件。这个用法简单、安全,非常适合在局域网内部做文件共享或者临时演示页面。
5.5 Wi-Fi 状态的检测与复位
随身终端换环境很频繁,经常要在不同 Wi-Fi 之间切换。树莓派自带的nmcli很顺手:
nmcli dev wifi list # 扫描周围 Wi-Fi nmcli dev wifi connect "SSID" password "密码" nmcli connection show # 查看当前已保存连接遇到明明有 IP 却无法上网的情况,大概率是网关或 DNS 变了,这时可以手动重置网络服务:
sudo systemctl restart NetworkManager这几条命令,加上前面的netcheck.sh脚本,基本覆盖了在外面维护设备时 90% 的网络排查场景。
6. 用了一个月之后:避坑、改进与使用习惯
6.1 散热翻车现场:第一次烤到降频
我最早组装时只贴了铝散热片,没有风扇。结果在 tmux 里解压一个 2GB 日志包时,整机温度冲到 84℃,SSH 明显变卡。后来加了 40×40 风扇并做了 PWM 调速,满载稳定在 60℃ 附近。建议组装完第一件事就是先跑一次高负载压测,确认散热方案可靠之后再正式使用。
温度控制脚本可以参考下面这版,用 sysfs 直接读温度并调节风扇:
#!/usr/bin/env bash while true; do temp=$(cat /sys/class/thermal/thermal_zone0/temp) temp=${temp%???} if [ "$temp" -gt 70 ]; then echo 200 > /sys/class/thermal/cooling_device0/cur_state elif [ "$temp" -lt 50 ]; then echo 0 > /sys/class/thermal/cooling_device0/cur_state fi sleep 5 done这个脚本 CPU 占用极低,适合轻量嵌入式设备运行。
6.2 键盘的“幽灵按键”:干扰和映射问题
我很早就买过一把折叠蓝牙键盘,连接后出现了明显的“幽灵键入”——按 A 却蹦出 A+S,或者按键半天没反应。排查一圈,发现是 2.4G 接收器插在 USB 3.0 接口旁边,造成了无线干扰。解决办法很简单:把接收器移到远离 USB 3.0 端口的另一侧,或者干脆换有线键盘。
如果你也遇到按键错乱,先别怀疑键盘坏了,检查一下无线干扰和接收器位置,九成能解决问题。
6.3 电池曲线:别把 18650 用到“完全没电”
18650 电池过放到 3.0V 以下,容量会明显衰退。我在 UPS 板上接了电量指示灯,还写了一个低电量脚本:读取电池电压,低于 3.5V 时在 tmux 状态栏显示红色警告;低于 3.6V 后尽早关机,以保护电池健康。随手养成“电压降到 3.6V 就收摊”的习惯,电池寿命会长很多。
6.4 我的使用习惯进化:从“背一堆模块”到“只背这一台”
坚持用满一个月后,我慢慢把很多原本依赖笔记本的场景转移到了 Cyberdeck 上:
- 临时登录线上服务器改配置:打开盖子,输入
ssh alpha; - 客户现场说网络不通:运行
netcheck快速定位; - 想给同事传个工具包:
python3 -m http.server一次搞定。
这台设备不是要替代笔记本,而是补上了“笔记本太重、平板不好敲终端”的中间地带。它更像一个能随手放进双肩包的口袋 Linux 终端。
7. 如果还想继续升级,可以从这几个方向入手
组装完一台能用的 Cyberdeck 之后,可以往更深入的方向继续折腾:
- 外壳个性定制:目前我用的是亚克力加铜柱的开放结构。如果你有 3D 打印机,可以设计一个全包外壳,加上提手、风扇风道和磁吸闭合,外观差异会非常明显;
- 增加状态信息屏:在键盘上方加一块 1.3 英寸 OLED 小屏,通过 GPIO I2C 显示 CPU 温度、内存占用、网络流量,信息感和科技感都会提升;
- 加强输入体验:如果对机械键盘手感有执念,可以自己组装一把 40% 键盘,把主控和树莓派做进同一个壳体;
- 扩展存储:SD 卡容量有限,可以加一块移动硬盘,或者直接用 USB SSD 启动,系统稳定性和写入速度都会明显改善。
我自己的下一步计划是换一个更严实的全金属外壳,再把键盘改成全内置的机械结构。工程不小,但每次背出门使用,都会觉得这套折腾非常值得。
最后分享一个我踩了无数坑之后总结出来的体会:Cyberdeck 这种设备的难点,永远不在硬件堆料,而在让它变成一件你愿意天天带出门的工具。少一个花哨模块不重要,重要的是开机稳定、按键舒服、续航够用。等这些都满足了,你会发现它真的有资格成为你包里那张王牌。