Printing from non-DESY-UNIX hosts

Printer Software distribution

This page is mainly for host administrators. It will guide you how to connect your machine to DESY printing system.

This page will cover configuring


  • General information on how to use the DESY printing service
  • Simple lightweight installation for IRIX, LINUX, HP-UX, SOLARIS (recommanded)
  • LINUX - based on lprng daemon and /etc/printcap file (full installation based on packages from your CD)
  • Local attached printers

General information on how to use the DESY printing service

The DESY printing service is hosted on the UNIX spooling host 'spool-lpr', which can be reached by using either the LPR protocol (on port 515) or using the SMB protocol. Please use our website

to get the informations you need to configure the queues on your operating system. Usually the the name of the printserver and the name of the queue is sufficiant. Additional informations, like the vendor type and the capabilities of the printengine as well as the location where the printer can be found are on the same site.

Using these informations you should be able to use the printing service with any of the many LPR implementations under the usual OS's like MAC, WINDOWS, LINUX, BSD etc. You will be able to submit printjobs from inside the DESY network; for querying the queues and removing jobs from the queues you need an implementation of the advanced LPRng protocol though. For details, have a look below or at

A simple lightweight installation on UNIX hosts 

LPRng offers the opportunity to run without a daemon installed by connecting the printserver directly, all you need are the compiled binaries for your platform and two configuration files. The tar files contain all you need and a short description what to do, simply untar them in your /tmp directory and copy them to their destinations following the README file. Get the actual printcap here, copy it to the described destination:         done !!!

IRIX 6.5 binaries

LINUX binaries (Kernel 2.2.16 or higher, Glibc 2.1.2 or higher)

HP-UX 10 binaries

SOLARIS 5.7 binaries

SOLARIS 5.8 binaries

Configuring LINUX

LPRng is today part of nearly any LINUX distribution, though apart from 'slackware' the default printspooler is still the old BSD-style. You might use any RFC1179 compliant daemon to communicate with the central printservers at DESY as long as you have a valid DNS entry. To gain full control over your printjobs (see the queue and beeing able to remove your job) you have to use the LPRng binaries. You don't need to be a LINUX-guru to install the LPRng spooling system, all you nedd is a little bit of common sense and good luck ;-)


  • remove BSD printing
  • install LPRng printing
  • install DESY printcap
  • edit daemon config file
  • restart lpd daemon
  • create spooldirectories

remove BSD printing

Using the RedHatPackageManager:

"rpm -e --nodeps lprold"

should remove the old printing system

install LPRng printing

the LPRng package is today part of all LINUX distribution. Search on your install medium for the package called "lprng*.rpm" and install it
if you want to use the DESY install server:

mount the repository with your distribution (e.g. suse-6.4):

"mount linux:/distro/suse-6.4 /mnt"

look for the LPRng package (you need the complete name of the package) and install it with the RPM:

"cd /mnt/full-names/i386/"

"rpm -i lprng-3.6.13-6.i386.rpm"

"umount /mnt"

install DESY printcap

the actual DESY printcap can be downloaded from the web:


the sample printcap on your machine usually resides under /etc/printcap simply replace it, if you have additional local printers simply 'cut&paste' them into the DESY printcap or vice versa...

edit the lpd.conf file

we are lazy, so we did not mention any spooldirectory information in the printcap, that's why you have to put it in the global lpd.conf file if you want local spooling

search the file "lpd.conf" (usually in /etc) and open it with your favorite editor

if you want to disable local spooling (jobs get directly send to the DESY printserver) search for the entry:>


and change it to:


if you like local spooling enter the global spooldirectory entry if it not present:


restart lpd daemon

to have the lpd daemon recognize your new printcap it has to be restarted:

"/usr/sbin/lpc reread"

if you get a message concerning your lpd daemon, not running, simply start it by hand:


create spooldirectories

LPRng offers a tool that comes along with the now installed package that can do this job for you:

"/usr/sbin/checkpc -a -f printcap

you might want to use it as a cronjob as well as we do it on the maintained clients: 

[x4u1] ~lp $ cat ~lp/crontab.lp
# Printing maintenance and update
#truncate log files ("-t 1K")
#do not create accounting files ("-a")
#removes jobs older than three days ("-A3 -r")
#checks and creates new spooldirectories ("-f printcap)
#output is send to /dev/null (checkpc is quite noisy)
# C. Beyer 15-02-00 
44 7,9,12,14 * * 1-5 sbin/checkpc -a -t 1K -A3 -r -f printcap >/dev/null 2>&1


you can replace the existing printcap on your system and do the "lpc reread" to have it recognized for updates...