Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:drucken:drucker_auf_linux-clients_automatisch_einrichten]] 

Drucker auf Linux-Clients automatisch einrichten

Ich benutze seit Jahren openSUSE-Linux-Clients im Schulnetz (aktuell mit der paedML 5.0). Das vorgestellt Verfahren benutzt keine spezifischen Funktionen der paedML 5.0 und sollte auch auf früheren Versionen funktionieren. Die Einrichtung aller Clients ist identisch, sodass sich Installationen leicht kopieren lassen. Eine Ausnahme davon bildet die Druckerinstallation. Sie ist bei mir für jeden Raum spezifisch. Das hat mich lange geärgert und ich habe das folgende Verfahren ersonnen, um dem abzuhelfen.

Jeder Client sieht jeden Drucker

Eine einfache Möglichkeit, das Problem zu beheben, ist alle Drucker für jeden verfügbar zu machen. Dabei sieht jeder alle verfügbaren Drucker, darf aber nur auf diejenigen Drucker drucken, die in der Schulkonsole für den betreffenden Raum freigegeben sind. Welche das sind, erfährt man durch Versuch und Irrtum, durch geschickte Namensgebung kann man die Anzahl der Fehlversuche sicherlich reduzieren. Diesen Weg möchte ich nicht gehen.

Jeder Client sieht nur die im Raum verfügbaren Drucker

Die Installation in meiner Schule ist so, dass die Netzwerkdrucker für einen Rechner automatisch beim Starten des Rechners durch ein Linux-Startskript auf dem Client installiert werden. Der Zeitbedarf dafür beträgt für 2 - 3 Drucker etwa 1 Sekunde. Die hier vorgestellte Lösung kann entweder den jeweils ersten im Raum verfügbaren Drucker als Standarddrucker einrichten oder einen Drucker (bei mir der PDF-Printer) als Standarddrucker für alle Räume einrichten).

Beschreibung des Systems

Auf dem Server liegt an einem durch die folgenden zwei Variablen1) festgelegten Ort

PRINTERSHARE=${PROGSDIR}
PRINTERACCESS=/dienst/drucker/printers

die Datei printers, die durch den cron-Job

/etc/cron.daily/linuxmuster-printer

täglich dorthin kopiert wird und für alle Rechner im Netz lesbar die Raumzuordnungen für die Drucker enthält.

Jeder Linux-Client führt beim Start das Skript

/etc/init.d/linuxmuster-printer start

aus, das feststellt, in welchem Raum der Client steht, dann die oben genannte Datei per smb-Protokoll vom Server liest und die dem Raum zugeordneten, dem Client zugeordneten bzw. frei verfügbaren Drucker installiert sowie nach den Vorgaben den Standarddrucker festlegt.

Einrichtung bei openSUSE Linux

Einrichtung auf dem openSUSE-Linux-Client

Für die Einrichtung auf dem Linux-Client habe ich das Paket linuxmuster-printer erstellt. Das Paket ist für verschiedene openSUSE-Linux-Versionen unter Paketquelle Frank Schütte verfügbar, also für openSUSE Linux 12.1 muss http://download.opensuse.org/repositories/home:/fschuett/openSUSE_12.1 als Paketquelle mit YaST2) eingebunden werden3).

Danach können Sie das Paket über YaST auswählen und installieren. Durch einen anschließenden Neustart wird das Paket aktiv.

Nach dem Neustart sollten die Drucker wie vorgesehen zur Verfügung stehen4).

Hinweis: Das Client-Paket funktioniert erst einwandfrei, nachdem die unten beschriebene Einrichtung auf dem Server durchgeführt worden ist.

Einrichtung auf dem Server

Die Installation auf dem Client installiert die Datei

/usr/share/doc/packages/linuxmuster-printer/cron.server.linuxmuster-printer

Kopieren Sie diese Datei auf den paedML-Server und installieren Sie sie als

/etc/cron.daily/linuxmuster-printer

mit den Rechten 755 und Besitzer root.root.

Passen Sie die Variablen GLOBALDEFAULT, PRINTERSHARE und PRINTERACCESS nach ihren Wünschen an5).

Führen Sie die Datei anschließend einmal aus, um die herunterladbare Datei für die Clients zu erstellen. Kontrollieren Sie, dass die Datei

${PRINTERSHARE}${PRINTERACCESS}

auf dem Server entstanden ist.

Einrichtung auf z.B. einem Ubuntu-Linux-Client

Hinweis: Ich selbst habe kein Ubuntu-Linux-System zur Verfügung, um die folgenden Informationen zu testen. Es wäre schön, wenn jemand mit einem solchen System die Angaben testen und den Artikel entsprechend aktualisieren würde.

Sie finden die benötigten Skripte und die README in einem Quellenarchiv namens linuxmuster-printer-0.3.tar.gz in meiner Paketquelle. Laden Sie die Datei herunter und entpacken Sie sie als root auf dem Client:

tar -xvzf linuxmuster-printer-0.3.tar.gz

Es entsteht das Verzeichnis linuxmuster-printer mit den Dateien

linuxmuster-printer
README
cron.server.linuxmuster-printer
sysconfig.linuxmuster-printer

Einrichtung auf dem Client

Das Skript linuxmuster-printer muss in den Ordner /etc/init.d kopiert und mit den üblichen Rechten root.root 755 versehen werden. Der Befehl zur Aktivierung lautet unter Ubuntu meines Wissens6):

update-rc.d linuxmuster-printer defaults

Editieren Sie die Datei linuxmuster-printer und fügen Sie möglichst weit oben7) die zwei Variablen aus sysconfig.linuxmuster-client ein:

...
GLOBALDEFAULT=
PRINTERSHARE=pgm
PRINTERACCESS=/dienst/drucker/printers

Einrichtung auf dem Server

Die Einrichtung auf dem Server ist oben im Abschnitt über den openSUSE-Linux-Client unter Einrichtung auf dem Server beschrieben.

1)
diese befinden sich in der cron-Datei
2)
YaST → Sofware → Paketquellen → Hinzufügen… → URL eingeben
3)
Mit zypper folgenden Befehl in einer root-Shell eingeben:
zypper ar --refresh http://download.opensuse.org/repositories/home:/fschuett/openSUSE_12.1 "Frank Schütte"
4)
manuell installierte Drucker werden durch das Skript nicht angetastet, solange deren Name sich von den Netzwerkdruckern unterscheiden.
5)
Erläuterungen finden Sie in einer beiligenden README bzw. in dem cron-Skript selbst.
6)
Der Befehl zur Deaktivierung lautet update-rc.d linuxmuster-printer remove
7)
am besten unterhalb von GLOBALDEFAULT=
 [[anwenderwiki:drucken:drucker_auf_linux-clients_automatisch_einrichten]] anwenderwiki/drucken/drucker_auf_linux-clients_automatisch_einrichten.txt · Zuletzt geändert: 2013/03/27 22:57 von 127.0.0.1