Setting up a printserver using CUPS, Ghostscript and IJS Printer Drivers
Turn your USB inkjet printer into a networked postscript printer.
- Make sure CUPS is working and you have access to the web frontend.
See http://www.nslu2-linux.org/wiki/DebianSlug/Printing on how to install the kernel modules for USB printing support. Add Allow From directives for your host/network to the <Location /> and <Location /admin> entries in /etc/cups/cupsd.conf. Open the CUPS web interface at http://your_slugs_ip:631/printers(approve sites).
- Look up your printer on http://www.linuxprinting.org/(approve sites) to find out which driver to use.
The most common options are either a built-in ghostscript driver, or the external hpijs or gimp-print drivers, accessed through ghostscript's IJS interface. Right now it's not possible to use native CUPS drivers (like the cupsys-driver-gimpprint package), because it needs the gs-esp package which isn't available.
- Install packages.
For a basic ghostscript setup you need gs-gpl, foomatic-db, foomatic-db-engine, foomatic-filters and all it's dependencies. For HP Printers you need the foomatic-db-hpijs and hpijs packages, for most other inkjet printers you need ijsgimpprint and foomatic-db-gimp-print. In this howto i'll use the Gimp-Print packages for my Epson Stylus Color 880.
- Generate .ppd file for your printer.
- Find out your printer's drivername and printerid. You can look them up in the local foomatic database:
foomatic-ppdfile -A -P "Stylus Color 880"
As we have to access gimp-print through the IJS interface, the driver will be gimp-print-ijs, the printerid is Epson-Stylus_Color_880.
- Generate .ppd file
foomatic-ppdfile -d gimp-print-ijs -p Epson-Stylus_Color_880 > /usr/share/cups/model/myprinter.ppd
The name of the generated .ppd file doesn't matter, just make sure it's unique on your system.
- Restart CUPS
/etc/init.d/cupsys restart
- Add & configure your printer in the web interface.
To test if your printer is working you can print a test page from the web interface.
Enabling browsing in CUPS
If you want your Linux and Mac OS X machines to automagically find your the printer on the network, you have to enable browsing in cupsd.conf. In most cases you just have to uncomment the BrowseAddress @LOCAL entry and restart cups.
To avoid problems if your system doesn't have a DNS entry you should also set the ServerName directive to your print server's IP.
Note by Mick - edit password added to attempt to foil spambots - password is "n0spam"