Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The point of CUPS and of server middleware in general like PulseAudio and what not is when multiple clients all want to send output streams to the same sink. Just sending the stream directly to a device with no middleman works fine provided 1) the stream is encoded in a way the device understands, and 2) no one else is trying to use it at the same time. For a shared network resource like a printer, unless you live alone and are the only user on your LAN, betting no one else is sending a job to the printer at the same time might be a rough bet.

Even when it works, there might be downsides, as some other comments are alluding to. The long print time one mentioned is likely because while you're lucky that your printer understands how to transcode pdf to ps in order to print a pdf, the onboard processor on the printer is much weaker than whatever you have on your computer. Also beware that if you're doing this on a radio network, I don't think netcat can encrypt the traffic. So don't be printing your credit card statements this way.



Hence the existence of lp(1), which at its simplest is just a queue that sends things to the network as they arrive.


Huh. So can one leverage/hack lp to serve as a generic service spooler? Has anyone done so (in a mildly documented way)?


Yes, at OpenBSD hackathons they used lpd as a queue for mp3s so all the devs could submit music to be played for the room.

https://patrick.wagstrom.net/weblog/2003/05/23/lpdforfunandm...


>2) no one else is trying to use it at the same time.

Printers are fine with accepting jobs from multiple clients and have been for a long time. After all this is pretty much standard practice for any small office without a server.


> Also beware that if you're doing this on a radio network, I don't think netcat can encrypt the traffic. So don't be printing your credit card statements this way.

Of course netcat does not encrypt anything. But if your printer accepts encrypted traffic you can send that over netcat. The question is what encryptions do the printers support? What protocol (stack) CUPS uses in the end? I have never heard that a printer certificate has expired, so my first guess would be it's all in cleartext.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: