让尘封的旧电脑重获新生,成为家庭或办公室的网络打印中心
前言
你是否有一台旧电脑闲置在角落吃灰?其实只要稍加改造,它就能变身实用的网络打印机服务器,让所有设备都能无线打印!本文将详细记录我从零开始搭建网络打印机服务器的完整过程。
准备工作
- 旧电脑一台(我用的是一台10年前的老台式机)
- Ubuntu Server 24.04 LTS 系统镜像
- Ventoy 启动盘
- USB 打印机(本文以HP LaserJet 1320为例)
第一步:系统安装
使用 Ventoy 启动盘安装 Ubuntu Server 24.04,选择最小化安装。最小化安装不包含图形界面,更加轻量省资源,非常适合做服务器。
如何制作Ventoy 启动盘参考:https://zhuanlan.zhihu.com/p/17040276952
如何安装Ubuntu Server参考:https://zhuanlan.zhihu.com/p/698434939
第二步:网络配置
安装完成后首先需要配置网络。最小化安装没有图形界面,也没有常见的文本编辑器,这时候就需要一些命令行技巧。
确定网卡名称
bash
ip link show
这个命令会显示所有网络接口,我这里的网卡名称是 enp3s0
。
配置网络连接
由于没有编辑器,我们使用 cat
命令来编辑配置文件:
bash
# 先给配置文件写权限
sudo chmod 777 /etc/netplan/50-cloud-init.yaml
# 使用cat编辑文件
sudo cat > /etc/netplan/50-cloud-init.yaml << 'EOF'
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
EOF
# 改回安全权限
sudo chmod 600 /etc/netplan/50-cloud-init.yaml
重要提示 :一定要根据 ip link show
的结果使用正确的网卡名称!
设置静态IP(推荐)
为了方便后续使用,建议设置静态IP:
bash
sudo cat > /etc/netplan/50-cloud-init.yaml << 'EOF'
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: no
addresses: [10.0.3.206/16]
routes:
- to: default
via: 10.0.0.2
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
EOF
应用网络配置:
bash
sudo netplan apply
联网后即可安装nano等组件:
bash
# 更新系统
sudo apt update -y && sudo apt upgrade -y
# 安装nano
sudo apt install nano
第三步:安装和配置CUPS
什么是CUPS?
CUPS(Common UNIX Printing System,通用UNIX打印系统)是一个开源的打印系统,提供完整的管理打印设备、实现可靠打印和网络打印的方案。
安装步骤
bash
# 更新系统
sudo apt update -y && sudo apt upgrade -y
# 安装CUPS
sudo apt install cups
配置CUPS
编辑配置文件 /etc/cups/cupsd.conf
:
bash
sudo nano /etc/cups/cupsd.conf
需要修改的关键配置:
- 将
Listen localhost:631
改为Listen 0.0.0.0:631
- 将
Browsing Off
改为Browsing On
- 在相应位置添加
Allow all
重启CUPS服务:
bash
sudo systemctl restart cups
第四步:连接打印机和安装驱动
检测硬件
bash
# 查看USB设备
lsusb
# 查看已连接的打印机
sudo lpinfo -v
查询结果:
p303@printer-202-mzy:~$ sudo lpinfo -v
network beh
direct hp:/usb/HP_LaserJet_Professional_P1106?serial=000000000Q8FTERRPR1a
network lpd
network socket
serial serial:/dev/ttyS0?baud=115200
direct usb://HP/LaserJet%20Professional%20P1106?serial=000000000Q8FTERRPR1a
network ipps
network ipp
network https
network http
direct hpfax
network dnssd://HP%20LaserJet%20Pro%20M304-M305%20%5B472B71%5D._ipp._tcp.local/?uuid=e54d745b-e453-58d5-e671-089d9a126b79
network dnssd://HP-LaserJet-1320%20%40%20printer303._ipp._tcp.local/cups?uuid=c85b7787-a592-34b2-5c7f-0ba10bafe928
network dnssd://HP-P1106%20%40%20printer303._ipp._tcp.local/cups?uuid=02202fce-e209-388c-4c85-6aea277eaa8f
network socket://10.0.2.10:9100
network ipps://HP%20LaserJet%20Pro%20M304-M305%20%5B472B71%5D._ipps._tcp.local/
其中打印机串码为:
# P1106的串码
hp:/usb/HP_LaserJet_Professional_P1106?serial=000000000Q8FTERRPR1a
# HP1320的串码
direct usb://HP/LaserJet%201320%20series?serial=00CNBG4CSGX8
注意:每台打印机的串码是唯一的,添加打印机时需要使用串码。
安装惠普打印机驱动
bash
sudo apt install hplip
惠普打印机检测(没啥大用)
bash
hp-probe
hp-check
添加打印机到CUPS
根据lpinfo -v查询到的打印机串码添加打印机:
bash
# 添加hp1320打印机(无驱动方式)
sudo lpadmin -p HP-LaserJet-1320 -v "hp:/usb/hp_LaserJet_1320_series?serial=00CNBG4CSGX8" -E
# 添加P1106打印机
sudo lpadmin -p HP-P1106-Room202-MZY -v "hp:/usb/HP_LaserJet_Professional_P1106?serial=000000000Q8FTERRPR1a" -E -m drv:///sample.drv/generpcl.ppd
# 启用打印机共享
sudo cupsctl --share-printers
验证打印机状态
bash
# 查看所有打印机状态
lpstat -t
# 查看特定打印机详情
lpstat -p HP-LaserJet-1320 -l
输出示例:
scheduler is running
device for HP-LaserJet-1320: hp:/usb/hp_LaserJet_1320_series?serial=00CNBG4CSGX8
HP-LaserJet-1320 accepting requests since Sat Oct 11 06:40:21 2025
printer HP-LaserJet-1320 is idle. enabled since Sat Oct 11 06:40:21 2025
测试打印
bash
echo "HP LaserJet 1320 测试页" | lp -d HP-LaserJet-1320
第五步:Windows客户端连接
现在可以在其他设备上连接这台网络打印机了:
- 打开"设备和打印机"
- 点击"添加打印机"
- 选择"网络打印机"
- 输入打印机地址:
http://10.0.3.206:631/printers/HP-LaserJet-1320
注意:IP地址和打印机名称要替换成你自己的设置。
遇到的问题和解决方案
问题1:驱动兼容性问题
在添加打印机时遇到警告:
lpadmin: Printer drivers are deprecated and will stop working in a future version of CUPS.
解决方案:使用无驱动方式添加打印机,现代CUPS支持自动识别大多数打印机。
问题2:权限问题
解决方案:确保使用sudo执行管理命令,并正确设置文件权限。
问题3:网络连接失败
解决方案:检查防火墙设置,确保631端口开放。
成果展示
现在,我的旧电脑已经成功变身网络打印机服务器:
- ✅ 支持多台打印机同时工作
- ✅ 网络内所有设备均可无线打印
- ✅ 24小时稳定运行
- ✅ 零额外成本
总结
通过这个项目,我们不仅让旧电脑重获新生,还建立了一个功能完整的网络打印解决方案。整个过程涉及Linux系统安装、网络配置、服务部署等多个方面,是一个很好的学习实践。
最重要的是,这个方案成本极低,只需要一台即将淘汰的旧电脑,就能为整个家庭或办公室提供便捷的打印服务。
希望这篇教程对你有帮助!如果你也在考虑搭建网络打印机服务器,不妨动手试试,让旧设备继续发挥余热。
参考文档:https://blog.csdn.net/zhengshaolin128/article/details/142366933