旧电脑变废为宝:打造低成本网络打印机服务器全记录

让尘封的旧电脑重获新生,成为家庭或办公室的网络打印中心

前言

你是否有一台旧电脑闲置在角落吃灰?其实只要稍加改造,它就能变身实用的网络打印机服务器,让所有设备都能无线打印!本文将详细记录我从零开始搭建网络打印机服务器的完整过程。

准备工作

  • 旧电脑一台(我用的是一台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

需要修改的关键配置:

  1. Listen localhost:631 改为 Listen 0.0.0.0:631
  2. Browsing Off 改为 Browsing On
  3. 在相应位置添加 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客户端连接

现在可以在其他设备上连接这台网络打印机了:

  1. 打开"设备和打印机"
  2. 点击"添加打印机"
  3. 选择"网络打印机"
  4. 输入打印机地址: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

相关推荐
珠海西格电力科技9 分钟前
微电网系统架构设计:并网/孤岛双模式运行与控制策略
网络·人工智能·物联网·系统架构·云计算·智慧城市
浩浩测试一下19 分钟前
从Web 到 域控 <----> 企业级内网渗透思路
网络
weixin_437044642 小时前
Netbox批量添加设备——堆叠设备
linux·网络·python
宴之敖者、2 小时前
Linux——\r,\n和缓冲区
linux·运维·服务器
LuDvei2 小时前
LINUX错误提示函数
linux·运维·服务器
未来可期LJ2 小时前
【Linux 系统】进程间的通信方式
linux·服务器
心理之旅2 小时前
高校文献检索系统
运维·服务器·容器
Lenyiin3 小时前
Linux 基础IO
java·linux·服务器
The Chosen One9853 小时前
【Linux】深入理解Linux进程(一):PCB结构、Fork创建与状态切换详解
linux·运维·服务器
Hill_HUIL3 小时前
学习日志22-静态路由
网络·学习