CUPS - 網路列印機 - 連接錯誤:權限被拒絕,列印機沒有響應
我正在嘗試解決列印問題,但首先我需要描述我的環境(這有點不標準)。
我有一台 HP 1102 USB 列印機,連接到執行 CUPS 的 Ubuntu 20.04 系統,並將列印機共享到 LAN 中的其他系統。通過 IPP 從其他系統(Ubuntu 18.04、Ubuntu 20.04、Windows 10)列印可以正常工作。
我有一個執行 Android 10 的客戶端,在它之上,它在同一個 LAN 的 chroot 中執行 Linux Deploy 和 Linux 18.04。linux系統有XFCE和CUPS,我配置列印機的方式和其他系統一樣。
當我嘗試列印(本地杯子設置為調試)時,這就是我的工作得到的:
D [25/Nov/2020:10:12:01 +0200] [Job 8] Connecting to 192.168.1.13:631 D [25/Nov/2020:10:12:01 +0200] [Job 8] Connecting to printer. D [25/Nov/2020:10:12:01 +0200] [Job 8] Connection error: Permission denied E [25/Nov/2020:10:12:01 +0200] [Job 8] The printer is not responding. D [25/Nov/2020:10:12:31 +0200] [Job 8] Connecting to 192.168.1.13:631 D [25/Nov/2020:10:12:31 +0200] [Job 8] Connecting to printer. D [25/Nov/2020:10:12:31 +0200] [Job 8] Connection error: Permission denied E [25/Nov/2020:10:12:31 +0200] [Job 8] The printer is not responding.
我正在 cups 伺服器端進行數據包擷取,當它說它正在嘗試連接到列印機時沒有數據包。手動連接(
telnet 192.168.1.13 631
打開一個套接字和 TCP 通信工作)。在 Android linux chroot 上執行的 CUPS 內部一定有問題,但我不知道是什麼問題。本地列印作業看起來不錯,/var/spool/cups 目錄的文件權限看起來不錯,cups 以 root 身份執行。
我不確定在哪裡進一步尋找故障排除…
我正在看 android logcat 試圖同時查看是否有問題,是這樣的:
11-25 10:28:29.179 2980 3091 W Netd : No subsystem found in netlink event 11-25 10:28:31.012 20789 20789 I printers.cgi: type=1400 audit(0.0:785): avc: denied { ioctl } for path="socket:[151451]" dev="sockfs" ino=151451 ioctlcmd=0x8933 scontext=u:r:magisk:s0 tcontext=u:r:magisk:s0 tclass=unix_dgram_socket permissive=1
所以 - 我在想 cups 正在嘗試創建一個套接字而 android 正在否認它?如果它是基於文件的套接字,有什麼想法,它的名稱是什麼以及它在文件系統中的位置?
有什麼建議麼?
我設法找到解決我的問題的方法。我設法繞過了 linux 上的 CUPS(在 android 之上執行)並讓系統連接到遠端 cups 伺服器(在我的 LAN 上託管列印機)。我必須添加一個
/etc/cups/client.conf
包含以下內容的文件:AllowAnyRoot Yes AllowExpiredCerts Yes Encryption IfRequested ServerName 192.168.1.13:631
192.168.1.13 正在執行我的實際 CUPS 伺服器。現在從 Android 下的 Linux chroot 列印作品!