Drucken mit LPR auf CUPS-Printserver

Folgende Aufgabenstellung: Ich moechte von meiner OpenBSD-Workstation
aus ueber das Netz auf einen via Cups angeschlossenen Lexmarkdrucker 
drucken.

In meiner LAN-Konfiguration spielt die Rolle des Druckerservers ein
Linux mit Cups. Auf die Konfiguration des Cups gehe ich hier nicht
weiter ein - ich setze voraus, dass der Drucker bereits funktioniert!

D.h. nmap zeigt zunaechst als offenen Port lediglich 'ipp' aber nach
Abschluss der hier folgenden Konfiguration sollte es dann komplett so
aussehen:

--- schnipp ---
515/tcp open  printer
631/tcp open  ipp
--- schnipp ---

Um den weiteren Aufwand moeglichst klein zu halten will ich auf meinem
OpenBSD nicht auch noch Cups installieren. Deshalb greife ich auf den
vorhandenen LPD zurueck. Dazu schreibe ich in die /etc/printcap
folgendes:

--- schnipp ---
lp|remote line printer:\
        :lp=:rm=192.168.1.3:\
        :rp=lp:sd=/var/spool/lpd:lf=/var/log/lpd-errs:
--- schnipp ---

Wie man sieht hat der Printserver die IP 192.168.1.3 ...

Bevor wir den LPD starten brauchen wir aber noch:

# cd /var/spool
# mkdir lpd (... und ggf. die Schreibrechte pruefen)

Und jetzt zum Linux-Server ... um via LPD auf einen Cups-Server zu
drucken gibt es im Lieferumfang der Cups-Distribution den 'cups-lpd',
welcher Druckjobs vom 'line printer spooler daemon' annehmen
und an den Cups-Daemon weiterleiten kann. Er wird via inetd bzw. xinetd
gestartet. Fuer beide gibt es Konfigurationsbeispiele in der Manpage.

Die Datei /etc/xinetd.d/cups-lpd sieht bei mir so aus:

--- schnipp ---
service printer
{
        socket_type = stream
        protocol    = tcp
        wait        = no
        user        = lp
        server      = /usr/lib/cups/daemon/cups-lpd
        server_args = cups-lpd -o document-format=application/octet-stream 
}
--- schnipp ---

Nun re-startet man auf dem Linux den xinetd und prueft ggf. mit nmap ob der
Port 515 nun auf Jobs lauert. Falls ja ist alles okay und wir starten
als Letztes auf unserem OpenBSD den LPD an der Console einfach mittels:

# lpd  (oder spaeter automatisch beim Systemstart ...)

Das wars ... ein einfacher Drucktest sollte uns Gewissheit verschaffen
ob alles zur Zufriedenheit funktioniert:

# lpr bla.txt

Falls es noch Probleme gibt bitte an dieser Stelle erst einmal pruefen
ob der via Cups angeschlossene Drucker auf dem Linux-System ueberhaupt
ordnungsgemaess arbeitet!

Was auch keiner braucht ;-) ...
Abschliessend hier noch die /etc/printcap auf dem Linux-System, damit
man auch local auf dem Drucker-Server mit lpr arbeiten kann (das
funktioniert sogar local ohne cups-lpr!!!):

--- schnipp ---
lexmark_z31|lexmark_z31:rm=linux:rp=lexmark_z31: 
--- schnipp ---

Done.


--
I.S.