Löschen aller Druckaufträge auf einem Samba-Server mit LPRNG

Problem
In Schulen tritt häufig das Problem auf, dass beim Einschalten des Druckers Druckaufträge ausgeführt werden, die nicht mehr benötigt werden oder die gar nicht beabsichtigt waren. Besonders ärgerlich ist es, wenn der Drucker während eines Druckvorgangs ausgeschaltet wurde und nun Blätter mit wirren Zeichen "fördert".

Ziel
Der Lehrer - und nur er! - soll vor dem Einschalten des Druckers auf möglichst einfache Weise alle Druckaufträge löschen können. Dazu meldet er sich am Netzwerk an und klickt auf ein Desktop-Icon "Alle Druckaufträge löschen". Das war's!

Lösung
Für unsere Schule habe ich folgende Lösung gefunden, die evtl. an die jeweiligen Gegebenheiten angepasst werden muss.

Das Spoolerverzeichnis ist /var/spool/lpd/lp0.
Das Spoolsystem legt darin für jeden Druckauftrag folgende Dateien an (Besitzer lp, Gruppe lp):
	cfa*.*
	dfa*.*
	hfa*.*
	lpq.*
 (Hier sollte man überprüfen, ob das bei allen Versionen von LPRNG so ist: Drucker ausschalten, Druckjob abschicken und nachschauen, welche Dateien angelegt wurden)

Für die Lehrer wird die Gruppe grplehrer angelegt. Alle Lehrer sind Mitglieder von lp und von grplehrer.

Dem Verzeichnis /var/spool/lpd/lp0 werden die Rechte 775 zugeordnet.

In smb.conf wird folgendes Share hinzugefügt:

[Drucker0]
path = /var/spool/lpd/lp0
valid users = +grplehrer
write list = +grplehrer
browseable = no
public = no
readonly = yes

Damit haben alle Mitglieder von grplehrer die Möglichkeit, Dateien in diesem Verzeichnis zu löschen.

Den Rest erledigt eine Batch-Datei mit folgendem Inhalt:

del \\Servername\Drucker0\cfa*.*
del \\Servername\Drucker0\dfa*.*
del \\Servername\Drucker0\hfa*.*
del \\Servername\Drucker0\lpq.*

Nun kommt noch eine Verknüpfung auf diese Batch-Datei auf den Desktop, in deren Eigenschaften man "beim Beenden schließen" einstellt, fertig!

Rückmeldungen bitte an Gottfried Siehs: g.siehs@tirol.com