Im Katalog suchen

Linux - Wegweiser für Netzwerker

Online-Version

Copyright © 2001 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser für Netzwerker oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel



Drucken in eine NetWare-Druckerwarteschlange

Das ncpfs-Paket enthält ein kleines Hilfsprogramm namens nprint, mit dem man Druckaufträge über eine NCP-Verbindung an eine NetWare-Druckerwarteschlange senden kann. Dieser Befehl erzeugt automatisch eine Verbindung, sofern sie gerade nicht besteht, und benutzt die Datei ~/.nwclient, die wir bereits beschrieben haben, um den Benutzernamen und das Paßwort vor neugierigen Blicken zu verbergen. Die Befehlszeilenargumente, die für den Login-Prozeß verwendet werden, sind dieselben wie bei ncpmount, so daß wir hier nicht näher auf sie eingehen. In unseren Beispielen betrachten wir nur die wichtigsten Kommandozeilenargumente. Details können Sie der Manpage nprint(1) entnehmen.

Das einzige für nprint erforderliche Argument ist der Name der Datei, die gedruckt werden soll. Ist als Dateiname – oder überhaupt kein Dateiname angegeben, erwartet nprint den Druckauftrag von der Standardeingabe stdin. Die wichtigsten Optionen von nprint geben den Dateiserver und die Druckerwarteschlange an, an die Sie den Druckauftrag senden wollen. Siehe dazu Tabelle 15.4.

Tabelle 15.4: Kommandozeilenoptionen von nprint

Option Beschreibung
-S server_name

Der Name des NetWare-Dateiservers, der für die Druckerwarteschlange zuständig ist, an die Sie Druckaufträge schicken wollen. Für gewöhnlich ist es bequem, für den Server einen Eintrag in ~/.nwclient vorzusehen. Diese Option ist obligatorisch.

-q queue_name

Die Druckerwarteschlange, an die Sie den Druckauftrag schicken wollen. Diese Option ist obligatorisch.

-d job_description

Text, der im Druckerkonsolen-Utility erscheint, wenn die Liste der Druckaufträge in der Warteschlange angezeigt wird.

-l lines

Die Anzahl der Zeilen pro gedruckter Seite. Vorgabewert ist 66.

-r columns

Die Anzahl der Spalten pro gedruckter Seite. Vorgabewert ist 80.

-c copies

Die Anzahl der Kopien des Druckauftrags. Vorgabewert ist 1.

Ein einfaches Anwendungsbeispiel von nprint sieht wie folgt aus:

$ nprint -S REDS01 -q PSLASER -c 2 /home/matt/ethylene.ps
Diese Anweisung druckt zwei Kopien der Datei /home/matt/ethylene.ps auf dem Drucker PSLASER auf dem Dateiserver REDS01 und benutzt dabei einen Benutzernamen und ein Paßwort aus der Datei ~/.nwclient.

Anwendung von nprint mit dem Line-Printer-Dämon

Sie erinnern sich bestimmt daran, daß wir bereits erwähnten, daß die Option –c für den Befehl ncpmount nützlich zum Drucken ist. Wir erläutern nun abschließend, warum das so ist und wie es funktioniert.

Linux nutzt normalerweise eine BSD-artige Druckersoftware. Der Line Printer Daemon (lpd) ist ein Dämon, der ein lokales Spool-Verzeichnis nach dort abgelegten Druckjobs durchsucht. lpd liest den Druckernamen und einige andere Parameter aus einer speziell formatierten Spool-Datei und schickt die Daten an den Drucker. Optional werden die Daten durch einen Filter geschickt, um sie auf irgendeine Weise zu transfomieren oder zu manipulieren.

Der lpd-Dämon benutzt eine einfache Datei namens /etc/printcap, in der die Drucker-Konfigurationsdaten abgespeichert werden (welche Filter benutzt werden sollen etc.). lpd läuft normalerweise mit den Zugriffsrechten eines speziellen Systembenutzers namens lp.

Sie könnten nprint als Filter für lpd konfigurieren, wodurch Benutzer Ihrer Linux-Maschine ihre Druckjobs direkt auf Remote-Drucker senden könnten, die von einem NetWare-Dateiserver gehostet werden. Dazu muß der Benutzer lp in die Lage versetzt werden, NCP-Anfragen an die NCP-Verbindung zum Server zu schreiben.

Wenn Sie dasselbe erreichen wollen, ohne den Systembenutzer lp zum Aufbau einer eigenen Verbindung und zum Einloggen zu verpflichten, sollten Sie lp als Eigentümer einer Verbindung angeben, die von einem anderen Benutzer aufgebaut wurde. Das folgende Beispiel zeigt in drei Schritten, wie Sie das Drucksystem in Linux so einrichten, daß es Druckjobs von Clients über NetWare verarbeiten kann:

  1. Schreiben Sie ein Wrapper-Skript.

    Die Datei /etc/printcap läßt keine Optionen zu, die an die Druckfilter weitergereicht werden könnten. Dafür müssen Sie erst ein kleines Skript schreiben, das den Befehl mit den gewünschten Optionen ausführt. Wie einfach so ein Wrapper-Skript sein kann, zeigt:

    #!/bin/sh 
    # p2pslaser - einfaches Skript für die Ausgabeumleitung zur 
    # Druckerwarteschlange PSLASER auf dem Server REDS01 
    # 
    /usr/bin/nprint -S REDS01 -U stuart -q PSLASER 
    #
    

    Speichern Sie das Skript in der Datei /usr/local/bin/p2pslaser ab.

  2. Schreiben Sie den /etc/printcap-Eintrag.

    Wir müssen das soeben erzeugte Skript p2pslaser als Ausgabefilter in /etc/printcap eintragen, etwa so:

    pslaser|Postscript Laser Printer hosted by NetWare server:\ 
    :lp=/dev/null:\ 
    :sd=/var/spool/lpd/pslaser:\ 
    :if=/usr/local/bin/p2pslaser:\ 
    :af=/var/log/lp-acct:\ 
    :lf=/var/log/lp-errs:\ 
    :pl#66:\ 
    :pw#80:\ 
    :pc#150:\ 
    :mx#0:\ 
    :sh:
    

  3. Fügen Sie dem Befehl ncpmount die Option –c hinzu.

    ncpmount -S REDS01 .... -c lp ....
    

    Unser lokaler Benutzer stuart muß dann lp als Eigentümer der Verbindung angeben, wenn er den Remote-NetWare-Server mountet.

Nun kann jeder Linux-Anwender pslaser als Druckernamen angeben, wenn er den Befehl lp ausführt. Der Druckjob wird dann zum angegebenen NetWare-Server geschickt und in dessen Druckerwarteschlange eingetragen.

Verwaltung von Druckerwarteschlangen

Der Befehl pqlist listet alle Druckerwarteschlangen auf, die auf dem angegebenen Server verfügbar sind. Wenn Sie in der Befehlszeile keinen Dateiserver mit der Option -S oder auch keinen Benutzernamen und kein Paßwort angeben, werden dafür die Vorgabewerte aus Ihrer ~/.nwclient-Datei genommen:

# pqlist -S vbrew_f1 -U guest -n 
Server: ALES_F1 
Print queue name                                    Queue ID 
------------------------------------------------------------ 
TEST                                                AA02009E 
Q2                                                  EF0200D9 
NPI223761_P1                                        DA03007C 
Q1                                                  F1060004 
I-DATA                                              0D0A003B 
NPI223761_P3                                        D80A0031

Unser Beispiel zeigt eine Liste von Druckerwarteschlangen, die dem Benutzer guest auf dem Dateiserver ALES_F1 zur Verfügung stehen.1

Um die Druckjobs in einer Warteschlange anzeigen zu lassen, benutzen Sie den Befehl pqstat. Er erwartet den Namen der Warteschlange als Argument und listet alle Jobs darin auf. Optional können Sie auch die Anzahl der auszugebenden Aufträge angeben. Das folgende Ausgabebeispiel wurde in der Zeilenlänge etwas gekürzt, damit es auf diese Buchseite paßt:

$ pqstat -S ALES_F1 NPI223761_P1  

Server: ALES_F1     Queue: NPI223761_P1          Queue ID: 6A0E000C 
   Seq  Name      Description                    Status   Form  Job ID 
------------------------------------------------------------------------ 
     1  TOTRAN    LyX document - proposal.lyx    Active      0  02660001

Wir sehen hier nur einen Druckjob in der Warteschlange, dessen Eigentümer TOTRAN ist. Die anderen Optionen enthalten eine Beschreibung des Jobs, seines Zustands sowie die Job-ID.

Der Befehl pqrm dient zum Entfernen von Druckaufträgen aus einer Warteschlange. Um den eben angezeigten Druckjob zu löschen, geben wir folgendes ein:

$ pqrm -S ALES_F1 NPI223761_P1 02660001

Der Befehl ist einfach, aber umständlich zu bedienen, wenn man es eilig hat. Es lohnt sich vielleicht, dafür ein kleines Skript zu schreiben.




1.

Es hat den Anschein, als ob die Systemadministratoren erst einige Kostproben der virtuellen Brauerei genossen hätten, bevor sie sich einige Namen für die Warteschlangen ausdachten. ;-) Hoffentlich sind die Namen, die Sie auswählen, etwas aussagekräftiger.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser für Netzwerker

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home|O'Reilly-Partnerbuchhandlungen|Bestellinformationen
Kontakt|Über O'Reilly|Datenschutz

© 2001, O'Reilly Verlag