我正在尝试解决打印问题,但首先我需要描述一下我的环境(这有点不标准)。
我有一个HP 1102 USB打印机,连接到一个Ubuntu20.04系统,它运行CUPS并与局域网中的其他系统共享打印机。从其他系统(Ubuntu18.04,Ubuntu20.04,Windows 10)打印,通过IPP工作良好。
我有一个运行Android 10的客户端,它在同一个局域网中的chroot中运行Linux Deploy和Linux18.04。linux系统有XFCE和CUPS,我对打印机的配置方式与其他系统相同。
当我尝试打印(将本地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通信工作)。
在上运行的杯子里一定有什么问题,但我不知道是什么原因。本地打印作业看起来很好,/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却否认了这一点?如果它是一个基于文件的套接字,那么它的名称是什么,它在文件系统中的位置呢?
有什么建议吗?
发布于 2020-12-24 09:44:20
我设法找到了解决问题的办法。我设法绕过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开始打印!
https://serverfault.com/questions/1043848
复制相似问题