With one network- and PS- incapable printer* in the household, and several computers with at least a few users, there was a need to have some sort of network capable printing device.
The printer is hooked up via (just for added complexity) USB to the Plan 9 CPU server. Printing amongst Plan 9 computers is easy enough - run usb/print, export /dev, etc. (maybe a cleaner way? the problem is with /dev/lp7, which only shows up once usb/print is run), ending with an lp(1) command. However, other computers are running Windows or Linux. So, in order to have Windows see the CPU server as a network printer, I simply "[Added] a New Printer" on TCP, port PORT, and IP that of the CPU server, with the device being Adobe's Generic PostScript Printer, which produces basic PS pages (something lp(1) on Plan 9 can deal with). On the Plan 9 side, then, the CPU server listens: aux/listen1 -tv tcp!*!PORT $home/bin/rc/print & where the script `print' contains: #!/bin/rc lp -H -d officejet5610 >>[2] /sys/lib/lp/log/officejet5610 ... and that's all she wrote. Best, ak * OfficeJet 5610 - I highly discourage this product. (welcome, HP)
