当多台电脑需要使用打印机的时候,最方便的做法是通过打印机的网络接口(无线或有线)将打印机添加到电脑,作为一个“本地打印机”使用。但是很多打印机不带网络功能,这时候就需要准备一台专门的电脑,使用USB连接打印机,再从这台电脑把打印机共享出去。
常见的共享做法是直接使用“文件和打印机共享”,通过samba,将打印机用类似于文件共享的做法进行发布,并没有什么值得过多介绍的地方。本文将介绍另一种方案,使用CUPS(Linux)搭建打印服务器。
1. 环境:
- 操作系统:Ubuntu 18.04 LTS
- 打印机:京瓷1800
2. 软件安装
2.1 安装打印机驱动/打印机原厂软件
总的原则就是到打印机官网找到与服务器操作系统以及CPU体系构架相匹配的驱动(如Linux 64位)。如果是HP打印机,在ubuntu的安装源里有专门的官方工具包叫hplip,包含了驱动、打印机维护组件等一系列打印机支持的内容。
安装好驱动后,系统就可以识别出打印机并能与打印机正常通信了。
2.2 安装CUPS,并启动服务
CUPS服务内置了一个httpd服务器,默认监听在localhost:631上,这时候有两种选择:使用反向代理发布localhost:631到外网,或者直接修改cupsd.conf,把侦听地址改为0.0.0.0:631。
apt install cups -y
sed -i "s/.*localhost.*/Listen 0.0.0.0:631/g" /etc/cups/cupsd.conf
systemctl restart cups
systemctl enable cups
ss -lnopt | grep 631
# cups服务使用631端口
3. 向CUPS服务添加打印机以及在PC中安装
- 添加打印机(所有管理性质的操作,都需要认证用户身份)
- 打印机详情页面有两套命令:Maintenance, Administration分别用于打印机作业维护和打印机管理。
- 打印机列表
在http://xxxxxx:631/printers 页面下,可以查看所有打印机,具体每台打印机的网址,则是http://xxxxxx:631/printers/打印机名称,如http://xxxxxx:631/printers/Kyocera_TASKalfa_1800,点击打印机名称即可查看详情,向PC添加打印机时,指定打印机位置时就用这个链接。