引言

实验室的打印机自带的无线打印功能不太好用, 基本上大家都处于一种时断时续的薛定谔状态, 惠普smart一次又一次的用行动证明了这玩意实在不是很smart, 所以用 linux 搭建一个共享打印机服务或许是个不错的选择.

这个方法需要:

  1. 一台不关机的linux设备(路由器, 主机都行)
  2. 设备有线直连打印机(或拥有稳定的打印机访问)
  3. 设备连接局域网并具有稳定ip地址

效果展示

和数据线直连效果一致

过程

Ubuntu安装CUPS服务

本文以 Ubuntu 22.04 为例, 已使用 HP smart 安装打印机驱动并有线连接打印机.

1
2
3
4
5
6
7
8
9
10
11
12
## 安装
apt install cups aptitude
aptitude install ghostscript
aptitude install foomatic

## 启用
sudo systemctl start cups
sudo systemctl enable cups
## sudo nano /etc/cups/cupsd.conf

## 修改配置
vim /etc/cups/cupsd.conf

vim 中用 / 搜索关键词并更改配置:

  1. Browsing OffBrowsing No –> Browsing On
  2. Listen localhost:631 –> Listen 0.0.0.0:631
  3. Order allow,deny –> 在下面一行增加Allow all

更改后重启服务:

1
sudo systemctl restart cups

其后进入 ip:631 可以在 Printers 选项卡中得到打印机的服务位置.

在这次示例中, 为:

http://192.168.1.101:631/printers/HP-LaserJet-MFP-M725

Windows使用指南

Windows 设置 - 添加打印机和扫描仪 - 我需要的打印机不在列表中

设置页面

添加打印机 - 我需要的打印机不在列表中

按名称选择共享打印机(S) - 输入地址 - 直接确认

按其他选项查找打印机 - 按其他选项查找打印机

添加打印机向导 - 选择制造商和打印机型号

添加成功

MacOS

首先, 在 terminal 中输入 sudo cupsctl WebInterface=yes , 然后按提示输入密码.

然后, 已经安装打印机驱动的情况下, 直接打开http://127.0.0.1:631/admin网页, 输入本机帐号密码, 然后点击 Administration - Printers - Add Printer ,选择 互联网打印协议 (ipp) ,填入打印机地址,选择对映的驱动即可。

Administration - Printers - Add Printer

CUPS - Printers

PrintAndScan.prefPane

结论

利用这个方式, 可以降低其他设备的打印难度, 省去驱动安装的过程, 并享有相对稳定的打印权限.

引用

  1. 如何使用Ubuntu服务器、CUPS和Bonjour配置打印服务器-A5互联
  2. ubuntu系统搭建cups打印机服务器 – 折腾 – 在网络的世界中一起折腾