NotePublic/Software/Applications/CUPS/使用_CUPS_搭建_Linux_打印服务器.md

99 lines
3.9 KiB
Markdown
Raw Normal View History

---
modified: 2023-05-24T03:05:02.280Z
title: 使用 CUPS 搭建 Linux 打印服务器
---
# 使用 CUPS 搭建 Linux 打印服务器
## 1. 搭建基本环境
安装软件包:
```bash
# Manjaro
sudo pacman -S cups avahi nss-mdns
```
Avahi 可用于网络服务的自动发现Edit the file /etc/nsswitch.conf and change the hosts line to include mdns_minimal [NOTFOUND=return] before resolve and dns:
```bash
hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns
```
使能 Avahi 发现服务。
```bash
sudo systemctl start avahi-daemon.service
sudo systemctl enable avahi-daemon.service
```
创建并编辑 /etc/systemd/system/cups.socket.d/override.conf 文件,内容如下:
```bash
[Socket]
ListenStream=631
```
使能 CUPS 服务:
```bash
sudo systemctl start cups
sudo systemctl enable cups
# Sharing via Line Printer Daemon protocol
sudo systemctl start cups-lpd.socket
sudo systemctl enable cups-lpd.socket
```
## 2. 配置 CUPS 服务
通过浏览器访问服务器 631 端口进入 CUPS 管理页面,配置 CUPS 服务,进入 Administration->Server 点击 Advanced 按钮,勾选:
- Share printers connected to this system
- Allow printing from the Internet
- Advertise web interface
- Allow users to cancel any job (not just their own)
- Preserve job history
根据实际需求选择是否勾选 Allow remote administration。
以上配置实际上开启了 Internet Printing Protocol 共享打印服务和 DNS-SD 广播。如果使能了 cups-lpd.socket 也同时开启了 Line Printer Daemon Protocol 共享打印服务。另外 CUPS 还支持通过 Samba 协议来共享打印。
如果无法通过浏览器来访问 CUPS 配置,则可以通过修改 /etc/cups/cupsd.conf 文件的方式来配置 CUPS。
## 3. 安装打印机
可以通过 CUPS 页面安装打印机也可以在服务器上直接安装。CUPS 支持本地打印机也支持网络打印机。
### 3.1. Linux 安装 HP 打印机驱动
需要安装 HPLIP 程序,该程序支持 Windows、Mac 和多个 Linux 分版。
```bash
# Manjaro
sudo pacman -S hplip
# 安装打印机插件
sudo hp-plugin
```
之后在打印机配置面板中添加打印机,选择对应型号即可。添加完打印机后,在 CUPS Web 页面 Printers 中可以看到该打印机。
## 4. Windows 系统连接 CUPS 共享打印服务
### 4.1. 自动搜索共享打印机
如果开启了系统防火墙或杀毒软件的防火墙,请暂时关闭防火墙或允许相关服务通过防火墙,否则容易导致 Windows 无法添加 CUPS 共享打印机。需要使用共享打印的计算机与打印服务器需要处在同一局域网内。
在搜索中输入“打印机”,进入 Windows 系统打印机和扫描仪页面,点击“加号”按钮自动搜索网络打印机,点击该打印机型号则自动安装驱动并添加打印机。
### 4.2. 手动添加共享打印机
如果无法搜索到打印机,可以通过浏览器访问服务器 631 端口进入 CUPS 管理页面,点击 Printers 进入到具体的打印机页面,然后从浏览器地址栏复制地址(例如:<https://192.168.1.10:631/printers/HP-DemoPrinter>)。
在 Windows 打印机和扫描仪中点击“我需要的打印机不在列表中”,选择“使用 IP 地址或主机名添加打印机”选择添加的设备类型为“IPP设备”将复制的地址连接粘贴到“主机名或 IP 地址”栏中,点击下一步等待安装完成即可。
## 外部参考资料
1. [CUPS/Printer sharing](https://wiki.archlinux.org/title/CUPS/Printer_sharing)
2. [Avahi](https://wiki.archlinux.org/title/Avahi)
3. [配置和使用 CUPS 打印服务器](https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/9/html-single/configuring_and_using_a_cups_printing_server/index#using-samba-to-print-to-a-windows-print-server-with-kerberos-authentication_configuring-printing)