Re: #@$Drivers
Well, let me give you an example of the kind of problems that I, and many others, have had. Our family doesn't do a lot of printing, but I have two printers on our network -- and Inkjet (HP1112) and a very low end LaserJet (HP1102W). The Inkjet hasn't been a problem as long as I print a test page every two weeks to keep the jets from clogging.
The LaserJet? Mechanically it's great. Reliable. Supports many network protocols. Warms up in seconds. Feeds paper even in the occasional periods of North American Summer tropical humidity. In fact, it's our standby printer and gets used not only by me, but by the whole family every time Microsoft screws up and kills their printer setups. They just email the print file to me, and I print it from Linux until someone finds the time/inclination to reinstall the printers in Windows.
Software wise? Not so good. Two problems. Initial Setup and Printer Protocol.
Initial Setup. Presumably to get around the fact that not all PCs have floppy or CDROM capability, this thing fresh from the box pretends to be a storage device. You need to connect it to a Windows computer which can then read the Windows (but not Linux) drivers from the device, install them and reconfigure the thing as a printer. Is there a Linux program to do this? As I recall, yes. But it didn't work. No problem. We just set the printer up from Windows and once set up, it'd talk to the Network. (But USB from Linux still thinks it's a storage device. No matter. Network only is good enough for us). I attribute this design to forebrain destroying contaminants in the drinking water in Silicon Valley.
Printer Protocol. The HP-1102W uses the relatively uncommon ZJS protocol instead of PCL or Postscript to stream data to the printer. One needs a a driver to convert other representations to ZJS. For Linux HP provides a driver (which works--Yeah) and an automatic installer which in the tradition of automatic installers everywhere and always, didn't. So I had to dig out and download a copy of the #@$driver (hpijs I think) and a ppd file that I had to tune to my configuration. This took a bit of time and modest amount of cursing.
My current problem: I have a chromebook that I'd occasionally like to print from. HP, to their credit, supports printing from chrome to many of their printers. BUT, the HP1102W is one of the ones they don't seem to support. Probably can't just copy the driver from my Intel Linux machine to the chromebook and I am afraid to try. What could possibly go wrong? Don't know and don't want to find out the hard way. So I'm thinking in terms of a server on some unused port on the Linux machine that will look like a printer to the chromebook and can then print via my existing software. Can that be done with existing Unix tools plus perhaps a bit of Python? My guess is yes. How? Haven't the slightest. Maybe I'll work it out someday. Or not. In the meantime, I print to pdf on the chromebook, copy the pdf to a usb stick. Move it to the Linux machine and print the pdf. OK for once a month or so.