I would like to take a $100 PCL-compatible laser printer and hook it to my home network either through Wi-Fi or by connecting it directly to a Linux server by USB. Instead of using the manufacturer-provided drivers, though, I want to be able to print PostScript documents directly. I imagine I will want to set up a print queue, GhostScript, and an IP address and port at which I can point other machines on the network.

Also, I have a stack of CDs with PostScript fonts on them, and I would like to make these available to any machine that wants to print to the networked printer. I'm guessing this is done by copying the fonts somewhere where GhostScript can find them.

Basically, I want to make the cheap printer look to other machines on the network like an old-school expensive PostScript-capable networked laser with lots of built-in fonts, like one of the high-end LaserWriters that Apple used to sell.

In the old days with dot matrix printers and HP LaserJet printers that only had a parallel interface this sort of thing was common, but it seems like it's actually more obscure now that most printers are network-capable out of the box and are configured through a GUI. In particular I think I have an idea how I would have done the GhostScript setup with LPD by defining filters, but now all Linux distros seem to have CUPS installed out of the box.

1 Answer 1


A long time ago I set up a series of virtual printers with CUPS to eat PS and render a folder full of PDF files. A fax virtual printer was done likewise, as well as some ps2ps converters for automagical transmongering of pages to a real PS printer.

Anyway I think you're on the right path already and just need to fight some unclear documentation and traditional UTSL (use the source, luke) and RTFS (read the friendly source).

I'm writing this from personal experience of solving the same problem, but cannot cite any reference to documentation passages or anything. I set up CUPS when it was brand spanking new and wonderful, something like 15 years back. I do remember it was supercomplex and baroque compared to lpr print queues.

So, another way would be to use the lpr and set up some printcap entries for virtual printers, calling ghostscript from the input filters specified in printcap. The filters should most likely be shell scripts and I'm quite certain the GS suite has enough tools helping you craft an input filter script.


Depending on your views, the CUPS and lpr/GS approaches have both their good and bad sides. CUPS gives your network printer users better view to the printing queues while the lpr is a lot simpler to set up. At least if you're familiar with command line tools and text configuration files.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .