Package SAMBA_LPD | ||
OPT_LPD | OPT_SAMBA | OPT_NMBD |
Mit OPT_LPD='yes' kann man fli4l auch als Druckerserver verwenden. Dabei werden lpd und eine oder mehrere Druckerqueues (je nach Anzahl der an fli4l angeschlossenen Drucker) in eine Ramdisk oder auf die Festplatte installiert.
Normalerweise kann mit OPT_LPD lediglich ein Druckerserver für Unix-, Linux- und Windows-NT-Clients eingerichtet werden, da nur diese Betriebssysteme geeignete Client-Software für den LPD mitbringen.
Inzwischen ist es aber auch von Windows9x/Me aus möglich, mit der Freeware-Version eines lpr-Clients zu drucken, ohne direkt das den Diskettenplatz arg strapazierende SAMBA installieren zu müssen.
Download des LPR-Clients für Windows (es kann nicht garantiert werden, daß die Seiten noch erreichbar sind):
Dies ist die letzte freie (kostenlose) Version 3.4f des lpr-Clients für Privatanwender. Die aktuelle Version kostet Geld und findet man hier:
Die Installation und Konfiguration dieser Software wird für Windows9x/Me und Windows NT 4.0/2000 in einem HowTo auf der fli4l-Homepage sowie in der Dokumentation zum LPDSRV beschrieben und ist nicht Thema in dieser mitgelieferten Dokumentation.
In diesem Abschnitt beschränken wir uns auf Betriebssysteme, die die LPR-Client-Funktionalität schon beinhalten.
WICHTIG: Alle Clients, die fli4l als Drucker-Server verwenden wollen, müssen auch in der fli4l-Konfigurationsdatei als HOST_x eingetragen sein!
Über LPD_PORT_N wird die Anzahl der zu benutzenden Druckerports eingestellt. Bei einem Drucker an der ersten in der samba_lpd.txt konfigurierten Schnittstelle ist
LPD_PORT_N='1'
einzutragen.
Bei 2 Druckerports ist LPD_PORT_N zu inkrementieren, also
LPD_PORT_N='2'
Weiterhin müssen dann auch die korrespondierenden Einstellungen
LPD_PORT_1
und
LPD_PORT_2
und, wenn zusätzlich Samba genutzt wird, auch
SAMBA_LPD_PORT_1_NET
und
SAMBA_LPD_PORT_2_NET
vorhanden sein.
Standard-Einstellung: LPD_PORT_N='1'
Mit LPD_PORT_x wird der x'te Druckerport eingestellt. Bei 2 Druckern an 2 parallelen Schnittstellen von fli4l müssen 2 Einträge mit den möglichen Werten
0x3bc,0x378 oder 0x278
existieren, also z.B.
LPD_PORT_1='0x378'
und
LPD_PORT_2='0x278'
Man sollte sich vor der Konfiguration unbedingt vergewissern, auf welche
io-Adressen die eingebauten Schnittstellen eingestellt sind, da der Druck
sonst nicht funktioniert. Die io-Adressen kann man entweder im BIOS seines
Rechners einstellen oder sie sind bei sehr alten Rechnern nicht konfigurierbar,
werden aber beim Booten angezeigt. Zusätzlich verbaute Ports lassen sich
meist über Jumper auf der io-Karte einstellen und werden in der (hoffentlich
noch vorhandenen
Dokumentation) zur Einstellung der Druckerports beschrieben.
Achtung! Vom fli4l-Kernel werden nur parallele Schnittstellen auf dem Mainboard oder ISA-Schnittstellenkarten unterstützt!
Außerdem ist darauf zu achten, daß bei OPT_LCD='yes' die hier eingestellten Adressen in der samba_lpd.txt nicht mit der dort eingestellten io-Adresse in LCD_ADDRESS kollidieren. Dieser Konflikt wird bei der Diskettenerstellung bis jetzt nicht abgefangen und führt zu Problemen sowohl bei der LCD-Anzeige als auch beim Druck!
Standard-Einstellung: LPD_PORT_1='0x378'
Damit das Drucken auch in einer Multi-User-Umgebung reibungslos funktioniert,
wird der lpd-Spooler verwendet. Dabei werden die zu druckenden Daten in einem
Spool-Verzeichnis zwischengelagert. Es wird für jeden Drucker ein gesondertes
Spool-Verzeichnis erstellt. Diese Spoolverzeichnisse befinden sich im Hauptspeicher
zusammen in einer zusätzlichen Ramdisk oder, wenn konfiguriert,
auf einer eingebauten Festplatte.
Wenn der lpd nicht für das Spoolen auf der Festplatte konfiguriert wurde, benutzt
jeder konfigurierte Drucker also diese Ramdisk. Bei gleichzeitigem
Druck über 3 an fli4l hängende Drucker werden die Spooldateien für alle 3
Drucker in dieser Ramdisk angelegt. Man sollte dabei beachten, daß selbst
bei kleinen Textdateien schon große Druckjobs unter Windows entstehen und
diese kurzzeitig programmbedingt 2 mal in der Ramdisk liegen.
Damit das Drucken beim Spoolen in der Ramdisk reibungslos funktioniert, sollte man also
genug Speicher im fli4l-Rechner haben und für das Drucken zur Verfügung
stellen - je mehr, desto besser.
Der Standard-Wert von 4096 KB (= 4 MB) ist dabei als unterste Grenze anzusehen.
Besser sind Werte von 8192 KB (= 8 MB) oder gar 16384 KB (= 16 MB) für
die Ramdisk.
Beim Spoolen auf die Festplatte wird die Verarbeitung der Druckjobs durch den auf der Festplatte verfügbaren Speicherplatz limitiert. Dazu ist aber die gesonderte Konfiguration von
LPD_SPOOLPATH
notwendig!
Sollten Probleme beim Druck großer Dateien auftreten, ist der zur Verfügung gestellte Speicher wahrscheinlich zu gering.
Daumenregel: fli4l als Standard-Router benötigt ca. 10 MB Speicherplatz (8 - 12, je nach Konfiguration). Bei einem 32-MB-Router mit einem Drucker kann man dann LPD_RAM auf '16384' stellen.
Standard-Einstellung: LPD_RAM='4096'
Wer wenig Arbeitsspeicher im Rechner hat oder fli4l sowieso auf einer Festplatte installiert hat, der möchte den zur Verfügung stehenden Festplattenplatz wahrscheinlich auch bei der Verarbeitung von Druckjobs benutzen. Diese Einstellung ist nur möglich, wenn man mit OPT_MOUNT eine Datenpartition mit ext2-Filesystem schreibbar eingemountet hat, da dorthin die Spooldateien immer mit bestimmten Unix-Rechten geschrieben werden. Also noch einmal:
Es muß eine beschreibbare (MOUNT_x_OPTION='rw'), ext2-Datenpartition (MOUNT_x_FS='ext2') in das System eingemontet sein, die nicht die Boot- und nicht die OPT-Partition ist, um diese Funktion nutzen zu können. Ist das nicht der Fall, wird sich die Druckfunktionalität nicht nutzen lassen. Man erhält beim Booten eine entsprechende Fehlermeldung.
Dabei verhält sich das Script rc.lpd so, daß bei gefüllter Variable LPD_RAM_x immer in der RAM-Disk gespoolt wird und bei gefüllter Variable LPD_SPOOLPATH immer versucht wird, auf die Festplatte zu spoolen. Im letzten Fall ist es unerheblich, ob die Variable LPD_RAM gefüllt ist oder nicht. Im angegebenen Pfad, der einfach aus MOUNT_x_POINT übernommen werden kann, wird von fli4l ein Verzeichnis mit dem Namen "lp_spooldir" erzeugt.
Wenn also mittels
OPT_MOUNT='yes' MOUNT_N='1' MOUNT_1_DEV='hda4' MOUNT_1_POINT='/usr/local/data' MOUNT_1_FS='ext2' MOUNT_1_CHECK='yes' MOUNT_1_OPTION='rw'
die vierte primäre Partition der ersten Festplatte unter /usr/local/data in das Dateisystem eingemountet wird, kann man die Variable folgendermaßen füllen:
LPD_SPOOLPATH='/usr/local/data'
Standard-Einstellung: LPD_SPOOLPATH=''
Über LPD_REMOTE_N wird die Anzahl der zu konfigurierenden Remote-Drucker eingestellt. Damit ist es möglich, einen Druckauftrag von einem Client an fli4l zu schicken, der diesen Druckauftrag seinerseits an einen entfernten LPD-kompatiblen Printserver weiterleitet.
Das Ganze funktioniert auch im Zusammenspiel mit Samba. Wenn man einen Remote-Drucker über einen entfernten Printserver über fli4l ansprechen möchte, ist
LPD_REMOTE_N='1'
einzutragen.
Bei 2 entfernten Printservern oder einem entfernten Printserver mit 2 Druckerwarteschlangen ist LPD_REMOTE_N zu inkrementieren, also
LPD_REMOTE_N='2'
Weiterhin müssen dann auch die korrespondierenden Einstellungen
LPD_REMOTE_1_IP LPD_REMOTE_2_IP LPD_REMOTE_1_QUEUENAME LPD_REMOTE_2_QUEUENAME
und, wenn zusätzlich Samba genutzt wird, auch
SAMBA_LPD_REMOTE_1_NET
und
SAMBA_LPD_REMOTE_2_NET
vorhanden sein.
Standard-Einstellung: LPD_REMOTE_N='0'
Mit LPD_REMOTE_x_IP wird die IP des x'ten Remote-Printservers eingestellt.
In der Standardeinstellung wird von einem zweiten fli4-Rechner ausgegangen, der unter der IP 192.168.6.99 erreichbar ist.
Standard-Einstellung: LPD_REMOTE_1_IP='192.168.6.99'
Mit LPD_REMOTE_x_QUEUENAME wird der Warteschlangenname des x'ten Remote-Druckers eingestellt.
In der Standardeinstellung wird von einem zweiten fli4-Rechner ausgegangen, dessen Warteschlangenname des ersten Druckers pr1 lautet.
Standard-Einstellung: LPD_REMOTE_1_QUEUENAME='pr1'
Auf einem Linux-Rechner kann der fli4l-Netzwerkdrucker in der Datei /etc/printcap eingetragen werden.
Beispiel (Name des Druckers: "drucker"):
drucker:\ :lp=:\ :rm=fli4l:\ :rp=pr1:\ :sd=/var/spool/lpd/drucker:\ :sh:mx#0:
Dabei wird mit "rm=fli4l" der Rechnername des fli4l-Routers angegeben. Dieser ist gegebenenfalls anzupassen. Soll die Linux-Drucker-Queue anders heißen, ist "drucker" ebenfalls anzupassen.
Der Drucker an der ersten für das Drucken in der samba_lpd.txt konfigurierten
Schnittstelle (LPD_PORT_1) heißt immer "pr1", der an der
zweiten konfigurierten Schnittstelle (LPD_PORT_2) "pr2" usw.
Ist ein Drucker auf LPD_PORT_1='0x3bc' und ein Drucker auf
LPD_PORT_2='0x278' konfiguriert, da das Paket OPT_LCD
mit der Option LCD_ADDRESS='0x0378'
genutzt wird, ist der Remote-Druckerqueuename für den Drucker an 0x3bc "pr1",
da das der erste Drucker ist und der Remote-Druckerqueuename für den Drucker
an 0x278 "pr2", da das der zweite Drucker ist.
Der Remote-Warteschlangenname in "rp=pr1" muß also bei nur einem an fli4l angeschlossenen Drucker immer
:rp=pr1:\
lauten.
Wichtig: Nach Einfügen des Eintrages in der Datei /etc/printcap muss das Verzeichnis /var/spool/lpd/drucker mit dem mkdir-Kommando selbst eingerichtet werden.
Mit dem Kommando "lpr -P drucker DATEINAME" kann man nun Dateien vom Linux-Rechner über fli4l ausdrucken.
Unter Windows NT 4.0/2000 ist für den Zugriff auf den LPD von fli4l die Installation der Druckdienste für Unix notwendig, da beim Drucken über den Standard-TCP/IP-Port von Windows NT ungeeignete Ports benutzt werden.
Die Druckdienste für Unix können über
Start/Einstellungen/Systemsteuerung/Software/Windows-Komponenten hinzufügen/... ...Weitere Datei- und Druckdienste für das Netzwerk/Details/Druckdienste für UNIX
hinzugefügt werden.
Damit ist ein neuer Druckerport mit dem Namen "LPR Port" verfügbar.
Nun richtet man mit dem Druckerassistenten unter Windows NT 4.0 / 2000 einen
neuen Drucker mit dem Treiber des an fli4l hängenden Druckers ein. Dazu
geht man auf
Start/Einstellungen/Drucker
und macht einen Doppelklick auf "Neuer Drucker". Hier bestätigt
man die Einleitung mit "Weiter", wählt "Lokaler Drucker"
aus, deaktiviert "Automatische Druckererkennung und Installation von
Plug & Play-Druckern" und bestätigt mit "Weiter".
Unter "Druckeranschluß auswählen" aktiviert man "Einen
neuen Anschluß erstellen" und wählt unter "Typ"
den oben erstellten "LPR Port". Nachdem man diese Einstellungen
mit dem Drücken von "Weiter" bestätigt hat, trägt
man in das Feld "Name oder Adresse des Servers für LPD" die
richtige IP-Adresse des fli4l-Rechners ein und schreibt in das Feld "Name
des Druckers oder der Druckerwarteschlange auf dem Server" den Namen
der richtigen Druckerqueue . Dabei ist beim ersten an fli4l angeschlossenen
Drucker "pr1", beim zweiten an fli4l angeschlossenen Drucker "pr2"
und beim dritten an fli4l angeschlossenen Drucker "pr3" einzutragen.
Auf dem nächsten Konfigurationsbildschirm wählt man auf der linken
Seite den Hersteller des an fli4l hängenden Druckers und auf der rechten
Seite den entsprechenden Typ aus und bestätigt abermals mit "Weiter".
Im Feld "Druckername" kann man nun einen Namen für den Drucker
festlegen.
Unter Druckerfreigabe wählt man "Diesen Drucker nicht freigeben",
da der Drucker am fli4l-Rechner freigegeben ist. Nach dem Klick auf "Weiter"
verneint man die Frage, ob eine Testseite gedruckt werden soll, da noch nicht
alle Einstellungen vorgenommen worden sind und bestätigt wieder mit "Weiter".
Nun erscheint ein Fenster mit der Zusammenfassung der bisherigen Konfiguration.
Wenn alles korrekt eingegeben wurde, drückt man "Fertig stellen".
Nach dem Kopieren des Druckertreibers erscheint ein neues Icon für diesen
Drucker im Druckerordner.
Das Icon für den fli4l-Drucker klickt man mit der rechten Maustaste an
und wählt aus dem Kontextmenü "Eigenschaften". Auf der
Lasche "Anschlüsse"
deaktiviert man "Bidirektionale Unterstützung aktivieren".
Auf der Lasche "Erweitert" betätigt man die Schaltfläche
"Druckprozessor" und stellt unter "Druckprozessor" "WinPrint",
unter "Standarddatentyp" "RAW" ein und verläßt
diese Dialogbox mit "OK" (bei Windows NT 4.0 ist hier noch ein
Häckchen bei "Raw-Datentyp immer spoolen" zu setzen).
Wieder auf der Lasche "Erweitert" aktiviert man "Über
Spooler drucken, um Druckvorgänge schneller abzuschließen"
und "Drucken beginnen, nachdem letzte Seite gespoolt wurde". Bei
"Erweiterte Druckfunktionen aktivieren" entfernt man den Haken,
damit diese Funktionen nicht genutzt werden.
Jetzt übernimmt man alle bisher gemachten Einstellungen mit der Schaltfläche
"Übernehmen" und verläßt das komplette Konfigurationsfenster
über "OK", da Windows NT 4.0/2000 die Einstellungen sonst
nicht korrekt abspeichert.
Die Einrichtung eines Windows-SMB-Clients wird im Kapitel über OPT_SAMBA beschrieben.