家里有台惠普的 M1136 MFP 打印机,放在单独的办公室里偶尔来打印一下文件,平时也没觉得有啥不方便的,因为都是在办公室里用。但是有时候突然要打印一两页文件,还得抱着笔记本到办公室去打,这就有点不方便了。
想着在网上在网上买一个 USB 打印服务器架上,改成网络打印,这样就不用抱着笔记本跑了,而且打印机也可以放在不碍事的地方,结果在网上一看,一个 USB 打印服务器要两百多大洋,自己又不是随时都有网络打印的需求,然后这个事情也就不了了之了。
今天突然发现在办公室的角落里躺着的 NAS 服务器,乖乖,我咋把这哥们儿忘了呢,干一件事也是干,干两件事也是干,要不幸苦一下这哥们儿,再兼个职?那就干呗,说干就干。
一、安装打印服务
1、安装打印服务
-
安装CUPS服务
root@localhost:~# apt install cups cups-browsed -y
-
修改配置文件
这里主要是限制能使用打印服务的终端设备
root@localhost:~# vim /etc/cups/cupsd.conf # Only listen for connections from the local machine. # 修改监听地址为实际ip地址 Listen 192.168.1.25:631 # Restrict access to the server... <Location /> Order allow,deny # 在此处添加授权的ip地址 Allow From 192.168.1.0/24 </Location> # Restrict access to the admin pages... <Location /admin> Order allow,deny # 在此处添加授权的ip地址 Allow From 192.168.1.0/24 </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Default Require user @SYSTEM Order allow,deny # 在此处添加授权的ip地址 Allow From 192.168.1.0/24 </Location>
-
启动打印服务
root@localhost:~# systemctl enable --now cups Synchronizing state of cups.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable cups
2、安装samba服务
打印机的共享需要依赖 samba 服务,所以这里还需要把 samba 服务安装上
-
安装samba服务
root@localhost:~# apt install samba -y
-
配置samba服务
# 在配置文件中添加以下信息 root@localhost:~# vim /etc/samba/smb.conf [global] load printers = yes printing = cups printcap name = cups use client driver = yes share print = yes client spooling = yes [printers] browseable = yes path = /var/spool/samba guest ok = yes printable = yes printer name = HP_LaserJet_Professional_M1136_MFP
-
启动samba服务
root@localhost:~# systemctl enable --now smbd Synchronizing state of smbd.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable smbd
二、配置打印机
使用浏览器登陆 https://192.168.1.25:631
1、安装打印机驱动
我的系统中没有安装该打印机的驱动,因此需要先安装该打印机的驱动
-
驱动下载地址:https://developers.hp.com/hp-linux-imaging-and-printing/gethplip
-
修改pip镜像源
因为编译驱动时,部分依赖需要使用
pip
工具安装,但是官方源不一定能连接上,就算连接上了,那速度也是特别的惊人,因此我们使用清华大学的镜像源# 临时使用本镜像站来升级pip root@localhost:~# python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip # 配置默认镜像源 root@localhost:~# python -m pip install --upgrade pip root@localhost:~# pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
-
安装打印机驱动
注意:此处需要使用 普通用户 来进行安装,安装过程比较漫长
user@localhost:~$ ./hplip-3.23.8.run ... Adding print queue to CUPS: Device URI: hp:/usb/HP_LaserJet_Professional_M1136_MFP?serial=000000000QHBD3H4PR1a Queue name: HP_LaserJet_Professional_M1136_MFP PPD file: drv:///hp/hpcups.drv/hp-laserjet_professional_m1136_mfp.ppd ... Done.
-
安装hp-plugin
如果不安装此插件,将不能打印,打印状态会提示 stopped “Filter failed” ,查看 /var/log/cups/error_log 日志时,会出现 prnt/hpcups/HPCupsFilter.cpp 503: m_Job initialization failed with error = 48 错误
注意:此处同样需要使用 普通用户 来进行安装
oldyan@storage:~$ ./hplip-3.23.8-plugin.run ... Plug-in version: 3.23.8 Installed HPLIP version: 3.23.8 Number of files to install: 64 ...
2、添加打印机
-
首先点击【administration】,切换到管理页面,点击【Add Printer】添加打印机
-
输入系统的用户名和密码
-
选择需要添加的打印机,然后点击【continue】
-
开启打印机共享
-
选择打印机驱动
在此选择正确的型号,然后点击【Add printer】
-
配置打印机默认参数
这里根据实际情况填写,然后点击【Set Default Options】
-
到此 CUPS 配置完毕
配置完毕后,将自动跳转到打印机管理界面
-
测试打印机
在打印机管理页,点击【Print Test Page】即可打印测试页
三、Windows添加共享打印机
如果服务器上的打印正常,那么就可以在客户机上安装共享打印机了,其添加方法与普通共享打印机添加方法相同,此处不再阐述
注意: 因为打印服务器是 Linux 系统,所以在 Windows 上安装打印机时,会提示找不到打印机驱动,因此需要手动选择打印机驱动