I have a network printer. I can send a postscript file to the printer using nc, and the printer prints it:cat tiger.eps | nc 192.168.0.6 9100If I want to print from my applications (ie from Thunderbird, Chromium), I can print to file (.ps) and then send the file with nc, as shown above. However, that is quite tedious. I would like to print directly from my application.What do I have to do, so that applications are aware that there exists a printer at 192.168.0.6:9100 and can print directly to that printer ? What is the easiest solution? Preferably, I would like to avoid having to install CUPS.Also, what is the purpose of the PPD file ? Obviously I don't need it for printing via nc.I am using Debian Wheezy, and LXDE desktop environment. But I am looking for a DE-agnostic solution.
howto set up network printer (DE-agnostic solution)
printing;printer;postscript;nc
You should check out LPRng (packaged as lprng in Debian); it supports remote printing using JetDirect (which is the protocol used over port 9100), with an /etc/printcap file likeremote   :lp=192.168.0.6%9100where remote is the name your printer is given locally. See the documentation for details and caveats, and the Debian package's documentation too. You'll probably want to add some filtering with magicfilter for example.Once everything is configured, you can use lp, lpq etc. on the command-line, and the printer should also be accessible from applications. One major exception is Gtk+ 3 and KDE applications, which don't support LPR-style printing at all; if you want integrated support there you'll need to install CUPS.PPD files allow applications to take the printer's features and characteristics into account: available paper sizes, colour capabilites, duplex capabilities, available print resolutions, minimum margins etc.