Drucken über Netz

Prinzipiell gibt es mehrere Möglichkeiten: 

  • netzfähige HP-Drucker werden mit JetDirect angesteuert (Software gibts normalerweise beim Kauf mit dazu oder
    auf ftp-boi.external.hp.com)
  • andere Netzdrucker beherrschen u.a. Berkeley-LPR, ftp und/oder Novell
  • jeder Drucker kann über sog. Printerserver (Preis 100.- aufwärts) netzfähig gemacht werden, dann kann auch
    lpr, ftp und/oder Novell verwendet werden
  • die meisten Workstations können über LPR ihre Druckjobs austauschen
  • PCs mit PC/TCP oder anderer Netzwerksoftware können ebenfalls LPR, ist auf einer WS 'Samba' installiert,
    kann darüber auch mit NetBIOS gedruckt werden (Samba gibts u.a. auf nimbus.anu.edu.au)

Wichtigste Nachteile von LPS sind die fehlenden Druckeroptionen und Probleme mit LPS-Jobs vom PC auf den HP-WS.

Drucken mit rztrans

Aus diesen Problemen heraus wurde vom RZ mit rztrans ein eigenständiger Druckmechanismus geschaffen der
- grob gesagt - die Kommandozeile und die zu druckenden Dateien nimmt und auf den Druckerserver
überträgt und dort das Komando ausführt.

Client-Seite

In /usr/bin werden lp, lpstat, lpalt und cancel durch links auf /usr/machine/etc/rztrans ersetzt.Auf dem PC werden
statt der links jeweils getrennte executables verwendet.Zusätzliche Optionen sind

  • H für den Druckerserver (DS)
  • U für den Benutzer, unter dessen Nummer gedruckt werden soll
  • P für den tcp-Port auf dem DS (statt rztrans/tcp in /etc/services)
  • S silent (keine Rückmeldungen)
  • V verbose (mehr Rückmeldungen)


Folgende Kommandozeilen-Parameter -H durch Environment-Variablen
voreingestellt werden:

  • H durch LPHOST=
  • U durch LPUSER=
  • d durch LPDEST=

Systemweite Vorgaben können in der Datei /etc/rztrans.cnf eingestellt werden, Format ist [ []].
Existiert weder /etc/rztrans.cnf noch LPHOST noch wird mit -H ein Zielrechner angegeben, werden die
lokalen Programme aufgerufen, d.h. rztrans-lp verhält sich wie das original HP lp-Kommando.

Server-Seite

/usr/machine/etc/rztransd ist der Server-Prozess; er wird entweder über den inetd gestartet, dann wird folgender
Eintrag in /etc/inetd.conf eingefügt (rztrans/tcp in /etc/services nicht vergessen!):

rztrans stream tcp nowait root /usr/machine/etc/rztransd rztransd -i

Zusätzlich müssen in /usr/bin noch lp.org, lpstat.org, lpalt.org und cancel.org existieren; dies sind idR Kopien
der original HP-Binaries.

Optionen für rztransd sind:

  • a root- oder andere admin-Benutzer (UID < 1000) duerfen auch drucken
  • D es wird generell kein HOME-Verzeichnis verlangt
  • F alternatives Passwort-File (erst wird in /etc/passwd und dann in nach einem Benutzer gesucht)
  • f dbm-File (s. confrzt)
  • i Aufruf ueber inetd
  • p (statt rztrans/tcp in /etc/services - nicht mit -i Option)
  • u unrestricted, auch jeder Rechner darf drucken, sofern der Benutzer sich mit Passwort authentifiziert
  • v verbose (mehr Ausgaben ueber syslog/LOG_LPR)

Wer drucken darf wird ueber /etc/rztrans geregelt. Format ist:
[option> ...]
Option ist:
Benutzer, auf den abgerechnet wird (jeder der drucken will muss bekannt sein). Wer auf diese Benutzernummer
druckt braucht kein Passwort.

PASSWD  Alle Benutzer dieses Rechners muessen mit Passwort drucken
***NOPASSWD*** Alle Benutzer dieses Rechners duerfen ohne Passwortb drucken
*NOHOMEDIR* Die Benutzer dieses Rechners benötigen kein
Home-Verzeichnis
*ROOT*   root- oder andere admin-Benutzer (UID < 1000) duerfen auch
von diesem Rechner aus drucken

Das Konfigurationsfile wird mit '/usr/machine/etc/confrzt -v /etc/rztrans' in eine DBM-Datei umgewandelt.
Mit '/usr/machine/etc/confrzt -rv /etc/rztrans' kann der aktuelle Inhalt der
DBM-Datei angezeigt werden.