在我的本地家庭网络中,我有 Debian 12 stable 和 CUPS 服务器的服务器。打印机 Epson L3100 连接到该服务器。
另外,我在本地网络中有 2 个客户端设备:Android 平板电脑和装有 Debian 12 的笔记本电脑。
如果我打开打印机(通过打印机上的按钮)并重新启动我的服务器sudo reboot
- 一切正常,我的客户端设备可以使用远程打印机打印任何页面。
但是,如果我打开打印机并且不重新启动服务器,客户端设备将无法检测到打印机。
半年前,当服务器上安装Debian 11 stable时,一切都很好,不需要每次都重新启动服务器,现在重新安装操作系统到Debian 12后,情况发生了变化。
在没有重新启动服务器的情况下,我在服务器上输入了几个命令:
> lsusb | grep L3100
Bus 001 Device 010: ID 04b8:1141 Seiko Epson Corp. L3100 Series
> lpstat -s
system default destination: L3100
device for L3100: usb://EPSON/L3100%20Series?serial=xxxxxxxxxxxxxxxxxx&interface=1
> lpstat -a
L3100 accepting requests since Tue 01 Aug 2023 17:14:32
> netstat -an | grep 631
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN
tcp6 0 0 :::631 :::* LISTEN
udp 0 0 0.0.0.0:631 0.0.0.0:*
使用命令重新启动 CUPS:sudo systemctl restart cups
没有帮助。
在我的/etc/cups/cupsd.conf
文件中:
Port 631
# Restrict access to the server...
<Location />
Order allow,deny
Allow 192.168.1.*
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow 192.168.1.*
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow 192.168.1.*
</Location>
无需重新启动所有服务器,我就可以进入 cups 界面并打印测试页 - 它可以工作。
需要做什么才能在本地网络上的客户端设备上进行打印而无需重新启动服务器?
更新:
当我在 Debian 客户端计算机上使用命令avahi-browse -art | less
(感谢)时,我看到输出:eyoung100
= wlp2s0 IPv4 Printer EPSON L3100 @ Beelink-U59 Internet Printer local
hostname = [Beelink-U59.local]
address = [192.168.1.15]
port = [631]
txt = ["printer-type=0x100E" "Color=T" "mopria-certified=1.3" "URF=V1.4,CP1,W8,PQ4,OFU0,SRGB24,RS300,FN3" "TLS=1.2" "UUID=a2d2f7b8-428a-3a50-5aef-81591a3b0180" "pdl=application/pdf,application/postscript,image/jpeg,image/png,image/pwg-raster,image/urf" "product=(EPSON L3100 Series)" "priority=0" "note=" "adminurl=https://Beelink-U59.local.:631/printers/L3100" "ty=EPSON L3100 Series , Epson Inkjet Printer Driver (ESC/P-R) for Linux" "rp=printers/L3100" "qtotal=1" "txtvers=1"]
= wlp2s0 IPv4 Printer EPSON L3100 @ Beelink-U59 UNIX Printer local
hostname = [Beelink-U59.local]
address = [192.168.1.15]
port = [0]
txt = []
= wlp2s0 IPv4 Printer EPSON L3100 @ Beelink-U59 Secure Internet Printer local
hostname = [Beelink-U59.local]
address = [192.168.1.15]
port = [631]
txt = ["printer-type=0x100E" "Color=T" "mopria-certified=1.3" "URF=V1.4,CP1,W8,PQ4,OFU0,SRGB24,RS300,FN3" "TLS=1.2" "UUID=a2d2f7b8-428a-3a50-5aef-81591a3b0180" "pdl=application/pdf,application/postscript,image/jpeg,image/png,image/pwg-raster,image/urf" "product=(EPSON L3100 Series)" "priority=0" "note=" "adminurl=https://Beelink-U59.local.:631/printers/L3100" "ty=EPSON L3100 Series , Epson Inkjet Printer Driver (ESC/P-R) for Linux" "rp=printers/L3100" "qtotal=1" "txtvers=1"]
UPD-2:
最终我解决了这个问题。我在 Docker 容器中安装了 CUPS ,并在客户端计算机上在实用程序 ( )olbat-cups
中配置了打印机,现在一切正常,无需重新启动服务器。system-config-printer
sudo apt install system-config-printer
用于配置打印机的 GNOME 3 GUI 很可能存在软件错误,导致打印机无法正常配置。
在服务器端,CUPS 安装的软件包版本之间很可能存在兼容性问题,从而导致错误stopped "Filter failed"
。