Aus LinuxUser 02/2003

Printserver mit Samba

Beein-druckend

Wenn Sie ein heterogenes Netzwerk betreiben, in dem es Windows- und Linux-Workstations gibt, ist es sinnvoll, die Druckdienste des Linux-Servers für alle Plattformen zur Verfügung zu stellen. Die zentrale Bereitstellung von Druckern erleichtert deren Verwaltung.

Als Basis für die Umsetzung dieses Vorhabens dient Samba. Grundsätzlich stellt sich bei jeder Art von Netzwerkdruck, so auch beim Drucken über Samba, die Frage, wer eigentlich die Aufbereitung der Druckdaten übernimmt. Schließlich müssen diese genau wie beim lokalen Druck in ein druckerspezifisches Format umgewandelt werden.

Bei Samba sind zwei Verfahren möglich: Im ersten Szenario benutzt der Windows-Rechner seinen eigenen Windows-Druckertreiber (sofern ein solcher existiert) und ist damit selbst für die Erzeugung der druckerspezifischen Daten verantwortlich. Ein Vorteil des zentralen Netzwerkdrucks, nämlich die einfache Verwaltung sämtlicher Treiber auf dem Server, ist dann aber nicht mehr gegeben, weil zusätzliche Installationsmaßnahmen auf dem Client nötig sind. Dafür werden bei diesem Verfahren nahezu alle Drucker unterstützt. Außerdem muss Samba die Daten dann lediglich weiterleiten, was zu einem geringeren Ressourcenverbrauch auf dem Server beiträgt. Der Nachteil ist, dass für jeden Drucker, der auf dem Server verfügbar ist, auf dem Client ein spezieller Treiber installiert werden muss. Das erhöht den Verwaltungsaufwand für den Administrator.

Es gibt aber noch einen anderen Weg. Da die Server-Seite (genauer: das cups-Drucksystem) hervorragend mit dem Postscript-Format zurecht kommt, ist es auch möglich, auf dem Windows-Rechner einfach eine Postscript-Datei zu erzeugen. Dazu brauchen Sie auf Client-Seite lediglich einen generischen Postscript-Treiber zu installieren. Der Client sendet dann einfach die fertige Postscript-Datei an den Server. Das hat in erster Linie den Vorteil, dass sämtliche Windows-Clients nur einen einzigen Treiber benötigen, etwa den Postscript-Treiber von Adobe oder CUPS. Bei Verwendung des CUPS-Drucksystems auf Linux-Seite sollte der Postscript-Treiber sogar automatisch auf dem Server gefunden werden. Außerdem ist der CUPS-Server in diesem Fall selbst und ausschließlich für die Aufbereitung der Druckdaten verantwortlich, d. h. auf dem Server muss für jeden angeschlossenen Drucker ein Treiber vorhanden sein. Jetzt steigt allerdings der Ressourcenverbrauch auf der Server-Seite, da CUPS sämtliche Druckdaten aller Clients aufbereiten muss. Dieser Weg ist vor allem dann der bessere und komfortablere, wenn Sie ohnehin über einen Postscript-Drucker verfügen oder ihr Drucker zumindest optimal von CUPS unterstützt wird, also eine funktionierende PPD-Datei existiert.

Samba-Basics

Samba wird bei jeder Linux-Distribution mitgeliefert, bei nahezu jeder Distribution standardmäßig installiert und oft sogar aktiviert. Die meisten Samba-Konfigurationen sind heutzutage auch bereits derart vorkonfiguriert, dass die am Linux-Server zum Installationszeitpunkt installierten Drucker automatisch unter Samba freigegeben werden. Prinzipiell müssen Sie dazu die Samba-Konfiguration derart abändern, dass der lokale Linux-Drucker als Standardfreigabe fungiert. Trotz Automatismus sehen wir uns im Detail an, wie ein am Linux-Server angeschlossener Drucker für Windows-Benutzer im Netzwerk freigegeben wird. Dabei ist es zunächst unerheblich, mit welchem Drucksystem Sie arbeiten. (Samba unterstützt in der aktuellen Version 2.2.5 auch CUPS.)

Wir setzen voraus, dass Samba korrekt installiert ist und läuft (siehe Artikel ab Seite 37). Außerdem müssen Sie einen lokalen Drucker auf dem Rechner installiert haben, auf dem Samba läuft. Hinsichtlich des Druckertyps machen wir zunächst keine Unterscheidung; am komfortabelsten sind allerdings Postscript-Drucker einzurichten. Sehen wir uns zunächst an, wie die Samba-Konfiguration zum gemeinsamen Nutzen eines Druckers abgeändert werden muss.

Vorbereitungen

Zunächst sollten Sie prüfen, ob Samba korrekt funktioniert, d. h. auf den Windows-Clients wird der Samba-Server in der Netzwerkumgebung angezeigt. Dann muss die Samba-Konfigurationsdatei smb.conf angepasst werden, damit ein Drucker am Samba-Server auch für Windows-Benutzer im Netz benutzbar wird. Versierte Anwender können /etc/samba/smb.conf oder /etc/smb.conf (je nach Distribution) direkt im Editor bearbeiten. Dazu benötigen Sie root-Rechte. Maus-Fans können die Anpassungen aber auch mit Hilfe von grafischen Werkzeugen wie Webmin (siehe Abbildung 1) oder dem Samba-eigenen Konfigurationswerkzeug SWAT erledigen. Allerdings müssen Sie dann auch wissen, mit welchem Samba-Parameter der jeweilige GUI-Eintrag korrespondiert.

Abbildung 1: Sie können Die für das Drucken verantwortlichen Samba-Parameter auch bequem über webmin einstellen
Abbildung 1: Sie können Die für das Drucken verantwortlichen Samba-Parameter auch bequem über webmin einstellen

Nativer Drucker-Treiber am Client

Bevor Sie smb.conf so abändern, dass der oder die lokalen Drucker des Linux-Servers für Windows freigeben sind, muss sichergestellt sein, dass dieser unter Linux am Server funktioniert. Eilige sollten anschließend den gleichen Drucker auf einem der Windows-Clients installieren, wozu Sie natürlich die Windows-Treiber für diesen Drucker benötigen. Aktivieren Sie je nach Windows-Version den Assistenten zur Druckerinstallation. Wenn Sie zur Auswahl eines Treibers aus der Geräteliste aufgefordert werden, sollten Sie sich den exakten Namen dieses Druckers aufschreiben. Auch Groß- und Kleinschreibung ist hierbei zu beachten. Vervollständigen Sie die Installation und starten Sie Windows neu. Wir gehen im weiteren Verlauf des Beitrags noch einmal gezielt auf die Treiber-Installation auf Client-Seite ein und zeigen auch, wie sich die benötigten Druckertreiber für die Clients auf dem Server verwalten und automatisch beziehen lassen.

Allgemeine Samba-Konfiguration

Anschließend melden Sie sich am Samba-Server als root an und öffnen /etc/smb.conf bzw. /etc/samba/smb.conf mit einem beliebigen Editor. Die Datei ist in einzelne „Sektionen“ unterteilt. Beginnen Sie mit der Sektion [global]. Da Samba die Rolle des Vermittlers zwischen Windows und Linux spielt und Druckaufträge der Windows-Clients an das unter Linux eingerichtete Drucksystem weiterleitet, müssen Sie zunächst einige grundlegende Einstellungen vornehmen. Dabei müssen Sie Samba u. a. mitteilen, welches Drucksystem unter Linux verwendet wird, wo die Druckerkonfigurationsdatei printcap zu finden ist und ob alle unter Linux angeschlossenen lokalen Drucker für Windows verfügbar gemacht werden sollen. Dazu dienen die folgenden Parameter:

printcap name = /etc/printcap
load printers = yes

Bedenken Sie dabei, dass Samba für jeden der etwa 200 verfügbaren Parameter jeweils eine Default-Belegung bereithält, auch wenn diese in der Konfigurationsdatei nicht aufgeführt ist. So liegt etwa die Drucker-Konfigurationsdatei meist unter /etc/printcap, d. h. normalerweise brauchen Sie an diesen Parametern keine Veränderungen vorzunehmen. Das von Samba zu verwendende Drucksystem wird durch den Parameter printing gekennzeichnet und ist oft mit dem Wert BSD vorbelegt. Bei Einsatz von CUPS müssen Sie folgende Einträge vornehmen:

printing = cups

Außerdem muss die obige „printcap name“-Zeile für CUPS geändert werden:

printcap name = cups

Je nach verwendetem Drucksystem unterscheidet bzw. vereinfacht sich auch die weitere Vorgehensweise, da Samba für alle das Drucken betreffenden Parameter mit sinnvollen Standardwerten arbeitet. Solche Parameter müssen also nicht explizit gesetzt werden. Der Parameter print command, mit dem Sie Samba mitteilen können, welches Druckerkommando zum Drucken verwendet wird, besitzt z. B. den Defaultwert

LinuxUser 02/2003 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: