OpenPrinting / cups-snap

Complete CUPS printing stack in a snap
23 stars 13 forks source link

cups snap creating two server sockets on ubuntu core #22

Open prash813 opened 1 month ago

prash813 commented 1 month ago

Two cupsd server socket files observed on Ubuntu core 22 . Ubuntu Core doesnt have default cupsd service. But once I install snap cups I see two cups sockets /var/run/cups/cups.sock and other /var/snap/cups/common/run/cups.sock Since there is no default cups service running that means snapped cups service is expected to run as main service.

it is confusing as to which socket client applications suppose to connect?

what I noticed is, utilities which are part of cups snap like lpstat and lpr connect to /var/run/cups/cups.sock and lpr seems to be printing fine.

chromium snap seems to be by default connecting to /var/snap/cups/common/run/cups.sock and printing doesnt work. please find the attached logs.

cups-printing-test-chrome.txt

tillkamppeter commented 6 days ago

Sorry for the late reply, I was in conferences in India.

The two sockets are intended. The /var/run/cups/cups.sock is the standard socket of classic installations, which the snapped CUPS is connecting to on systems without a classic CUPS, so that classically installed packages just work. Also client Snaps plugging cups-control are connecting through this socket.

The other socket /var/snap/cups/common/run/cups.sock is part of the cups interface. It was supposed to be mounted into client Snaps which plug cups and not cups-control, to guarantee that these clients communicate with a Snap-mediating CUPS (which does not let them administrative tasks like creating or removing print queues), in this case the Snap-mediating CUPS being the CUPS of the Snap (on classically installed systems there can be also a classically installed non-Snap-mediating CUPS and then the CUPS Snap's CUPS works as proxy). This mounting does not seem to work any more. It seems that the cups interface needs some additional work or even a re-design.