利用CUPS实现Airprint出现问题求解

有关 Docker 的使用讨论。

版主: TerraSupportTMsupportTMjack

头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

利用CUPS实现Airprint出现问题求解

帖子 Meikle »

代码: 全选

version: '3.5'
services:
  cups:
    image: chuckcharlie/cups-avahi-airprint:latest
    container_name: cups
    network_mode: host
    volumes:
      - /Volume1/Docker/print/services:/services
      - /Volume1/Docker/print/config:/config
    environment:
      CUPSADMIN: "admin"
      CUPSPASSWORD: "admin"
    restart: unless-stopped
用以上命令创建Yaml配置容器,电脑端可以使用打印机,苹果手机隔空打印搜不到打印机。容器日志如下:

代码: 全选

日志解析:Event
"+ '[' -z admin ]
"
"+ '[' -z admin ]
"
"+ grep -ci admin /etc/shadow
"
"+ '[' 0 -eq 0 ]
"
"+ adduser -S -G lpadmin --no-create-home admin
"
"+ chpasswd
"
"+ echo admin:admin
"
"chpasswd: password for 'admin' changed
"
"+ mkdir -p /config/ppd
"
"+ mkdir -p /services
"
"+ rm -rf /etc/avahi/services/sftp-ssh.service /etc/avahi/services/ssh.service
"
"+ rm -rf /etc/cups/ppd
"
"+ ln -s /config/ppd /etc/cups
"
"+ + ls -l '/services/*.service'
"
"wc -l
"
"+ '[' 0 -gt 0 ]
"
"+ + wc -l
"
"ls -l /config/printers.conf
"
"+ '[' 0 -eq 0 ]
"
"+ touch /config/printers.conf
"
"+ cp /config/printers.conf /etc/cups/printers.conf
"
"+ wc -l
"
"+ ls -l /config/cupsd.conf
"
"+ '[' 0 -ne 0 ]
"
"+ /usr/sbin/avahi-daemon --daemonize
"
"+ exec /usr/sbin/cupsd -f
"
"+ /root/printer-update.sh
"
"Setting up watches.
"
"Watches established.
"
"sending incremental file list
"
"./
"
"AirPrint-Canon_MG3080.service
"
"
"
"sent 1.12K bytes  received 38 bytes  2.31K bytes/sec
"
"total size is 971  speedup is 0.84
"
"+ '[' -z admin ]
"
"+ '[' -z admin ]
"
"+ grep -ci admin /etc/shadow
"
"+ '[' 1 -eq 0 ]
"
"+ echo admin:admin
"
"+ chpasswd
"
"chpasswd: password for 'admin' changed
"
"+ mkdir -p /config/ppd
"
"+ mkdir -p /services
"
"+ rm -rf /etc/avahi/services/AirPrint-Canon_MG3080.service
"
"+ rm -rf /etc/cups/ppd
"
"+ ln -s /config/ppd /etc/cups
"
"+ wc -l
"
"+ ls -l /services/AirPrint-Canon_MG3080.service
"
"+ '[' 1 -gt 0 ]
"
"+ cp -f /services/AirPrint-Canon_MG3080.service /etc/avahi/services/
"
"+ ls -l /config/printers.conf
"
"+ wc -l
"
"+ '[' 1 -eq 0 ]
"
"+ cp /config/printers.conf /etc/cups/printers.conf
"
"+ ls -l /config/cupsd.conf
"
"+ wc -l
"
"+ '[' 0 -ne 0 ]
"
"+ /usr/sbin/avahi-daemon --daemonize
"
"Process 31 died: No such process; trying to remove PID file. (/run/avahi-daemon//pid)
"
"+ exec /usr/sbin/cupsd -f
"
"+ /root/printer-update.sh
"
"Setting up watches.
"
"Watches established.
"
AI日志解析如下:
以下是对上述日志的解析:
整体流程概述
该日志记录了一系列与系统配置、用户管理、文件操作以及服务相关的操作步骤,可能是在进行打印机相关设置或系统环境初始化等任务。
具体操作分析
用户相关操作
检查 admin 用户是否存在:多次出现+ '[' -z admin ]和+ grep -ci admin /etc/shadow这样的语句,目的是检查系统中是否存在名为admin的用户(通过查看/etc/shadow文件中是否有相关记录)。
创建 admin 用户(如果不存在):当判定admin用户不存在(如+ '[' 0 -eq 0 ]满足条件时),执行+ adduser -S -G lpadmin --no-create-home admin来创建一个名为admin的系统用户,并添加到lpadmin组,且不创建家目录。
设置 admin 用户密码:通过+ chpasswd和+ echo admin:admin来设置admin用户的密码为admin,并且有chpasswd: password for 'admin' changed的提示表明密码设置成功。
文件和目录操作
创建目录:执行了+ mkdir -p /config/ppd和+ mkdir -p /services,创建了/config/ppd和/services目录,-p参数确保父目录不存在时会一并创建。
删除文件和目录:有+ rm -rf /etc/avahi/services/sftp-ssh.service /etc/avahi/services/ssh.service以及+ rm -rf /etc/cups/ppd等操作,删除了与avahi服务相关的一些服务文件以及/etc/cups下的ppd目录等。
创建符号链接:+ ln -s /config/ppd /etc/cups创建了一个从/config/ppd到/etc/cups的符号链接。
文件复制和触摸操作:例如+ cp /config/printers.conf /etc/cups/printers.conf将/config/printers.conf文件复制到/etc/cups目录下;+ touch /config/printers.conf则是创建或更新/config/printers.conf文件的时间戳。
服务相关操作
启动 avahi-daemon 服务:执行+ /usr/sbin/avahi-daemon --daemonize来启动avahi-daemon服务,不过在后续操作中出现了Process 31 died: No such process; trying to remove PID file. (/run/avahi-daemon//pid)的错误提示,表明该服务启动过程可能遇到了问题,比如进程意外终止。
启动 cupsd 服务:通过+ exec /usr/sbin/cupsd -f启动cupsd服务,并且在前后有Setting up watches.和Watches established.等与监控设置相关的输出,可能是在为服务设置相关的监控机制。
其他操作
文件列表查看和统计:有多处如+ + ls -l '/services/*.service'、+ wc -l等操作,用于查看指定目录下的文件列表并统计文件数量等,以辅助判断相关操作的结果。

请问启动avahi-daemon发生了错误该怎么办?
F2-221 6G MAPL0304V20 TOS 7
头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

Re: 利用CUPS实现Airprint出现问题求解

帖子 Meikle »

期待官方能看一下,请给解答一下。
F2-221 6G MAPL0304V20 TOS 7
头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

Re: 利用CUPS实现Airprint出现问题求解

帖子 Meikle »

期待官方能看一下,请给解答一下。
F2-221 6G MAPL0304V20 TOS 7
头像
TMpraj
产品经理
帖子: 141
注册时间: 2023年 11月 8日 星期三 3:03 pm

Re: 利用CUPS实现Airprint出现问题求解

帖子 TMpraj »

Meikle 写了: 2024年 11月 18日 星期一 9:03 pm
您可尝试使用高权限去执行容器。根据您的描述,通过Yaml配置的容器是正常运行的,电脑端可以使用打印机。而苹果手机隔空打印搜不到打印机,或需要您检查启动容器的配置。同时,使用chuckcharlie/cups-avahi-airprint,请确保你的手机和nas处于同一网络。
如需技术支持服务请前往https://forum.terra-master.com/cn/viewtopic.php?f=87&t=3559
头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

Re: 利用CUPS实现Airprint出现问题求解

帖子 Meikle »

已尝试使用高权限执行容器,Bonjour也启用了。还是无法搜到隔空打印机。日志如下:

代码: 全选

stderr	
2024-11-20 12:18:11
+ '[' -z admin ]
stderr	
2024-11-20 12:18:11
+ '[' -z admin ]
stderr	
2024-11-20 12:18:11
+ grep -ci admin /etc/shadow
stderr	
2024-11-20 12:18:11
+ '[' 1 -eq 0 ]
stderr	
2024-11-20 12:18:11
+ echo admin:admin
stderr	
2024-11-20 12:18:11
+ chpasswd
stderr	
2024-11-20 12:18:11
chpasswd: password for 'admin' changed
stderr	
2024-11-20 12:18:11
+ mkdir -p /config/ppd
stderr	
2024-11-20 12:18:11
+ mkdir -p /services
stderr	
2024-11-20 12:18:11
+ rm -rf /etc/avahi/services/AirPrint-Canon_MG3080.service
stderr	
2024-11-20 12:18:11
+ rm -rf /etc/cups/ppd
stderr	
2024-11-20 12:18:11
+ ln -s /config/ppd /etc/cups
stderr	
2024-11-20 12:18:11
+ wc -l
stderr	
2024-11-20 12:18:11
+ ls -l /services/AirPrint-Canon_MG3080.service
stderr	
2024-11-20 12:18:11
+ '[' 1 -gt 0 ]
stderr	
2024-11-20 12:18:11
+ cp -f /services/AirPrint-Canon_MG3080.service /etc/avahi/services/
stderr	
2024-11-20 12:18:11
+ ls -l /config/printers.conf+ wc -l
stderr	
2024-11-20 12:18:11

stderr	
2024-11-20 12:18:11
+ '[' 1 -eq 0 ]
stderr	
2024-11-20 12:18:11
+ cp /config/printers.conf /etc/cups/printers.conf
stderr	
2024-11-20 12:18:11
+ ls -l /config/cupsd.conf
stderr	
2024-11-20 12:18:11
+ wc -l
stderr	
2024-11-20 12:18:11
+ '[' 0 -ne 0 ]
stderr	
2024-11-20 12:18:11
+ /usr/sbin/avahi-daemon --daemonize
stderr	
2024-11-20 12:18:11
Process 28 died: No such process; trying to remove PID file. (/run/avahi-daemon//pid)
stderr	
2024-11-20 12:18:11
+ exec /usr/sbin/cupsd -f
stderr	
2024-11-20 12:18:11
+ /root/printer-update.sh
stderr	
2024-11-20 12:18:11
Setting up watches.
stderr	
2024-11-20 12:18:11
Watches established.
F2-221 6G MAPL0304V20 TOS 7
头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

Re: 利用CUPS实现Airprint出现问题求解

帖子 Meikle »

Process 29 died: No such process; trying to remove PID file. (/run/avahi-daemon//pid)
这条应该是异常吧,无此进程。
F2-221 6G MAPL0304V20 TOS 7
头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

Re: 利用CUPS实现Airprint出现问题求解

帖子 Meikle »

老大老大请帮忙给测试测试,到底问题出在哪儿了?
F2-221 6G MAPL0304V20 TOS 7
头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

Re: 利用CUPS实现Airprint出现问题求解

帖子 Meikle »

有问题让开贴说,开贴说又不给解决问题
F2-221 6G MAPL0304V20 TOS 7
头像
TMpraj
产品经理
帖子: 141
注册时间: 2023年 11月 8日 星期三 3:03 pm

Re: 利用CUPS实现Airprint出现问题求解

帖子 TMpraj »

Meikle 写了: 2024年 11月 23日 星期六 8:41 am
您的问题为容器使用问题,相关问题或将需要您尝试自行探索。同时,由于目前暂无法安排这方面工程师为您排查问题,建议您先行探索或者等待工程师有时间的情况下,为您排查问题。
如需技术支持服务请前往https://forum.terra-master.com/cn/viewtopic.php?f=87&t=3559
头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

Re: 利用CUPS实现Airprint出现问题求解

帖子 Meikle »

TMpraj 写了: 2024年 11月 23日 星期六 4:56 pm
Meikle 写了: 2024年 11月 23日 星期六 8:41 am
您的问题为容器使用问题,相关问题或将需要您尝试自行探索。同时,由于目前暂无法安排这方面工程师为您排查问题,建议您先行探索或者等待工程师有时间的情况下,为您排查问题。
也看过不少这方面的帖子,都是按照教程方法去试,换了好几个不同的镜像都有这个问题,所以在想是不是系统有什么缺陷呢?请有时间了你们也试试看能成功吗?毕竟你们都是工程师,我这小白也只能按照网上的教程一步一步去做。
F2-221 6G MAPL0304V20 TOS 7
回复

回到 “Docker”