On Day 29 of Chaos 3171, Wolfgang Jeltsch wrote: > Wenn ich einen Druckjob absetze und der Drucker ist aus, dann wird natürlich > erstmal nichts gedruckt. Wenn ich den Drucker dann aber anschalte, wird immer > noch nichts gedruckt, bis ich über das Webfrontend von CUPS (oder vielleicht > auch über die Kommandozeile) den Drucker "starte". Dieses Starten kann aber > anscheinend nur ein Administrator erledigen. Wie verhindere ich, dass normale > Nutzer nicht mehr drucken können, bloß weil sie zu spät den Drucker > eingeschaltet haben?
Laß mich raten. Der Drucker ist über usb angeschlossen und du benutzt udev. Dann hast du folgendes Problem. Das Device wird erst erzeugt wenn der Drucker angeschaltet/angestöpselt wird. Schickst du jetzt vorher einen Druckauftrag ab, stellt CUPS fest das es das Device nicht gibt und deaktiviert den Drucker. Wird jetzt der Drucker angeschaltet/angestöpselt wird das Device zwar angelegt aber CUPS bekommt das nicht mit. Die Lösung ist jetzt udev zu sagen das es den Drucker aktivieren soll wenn das Device erstellt wird. Den Fall "CUPS wird bei ausgeshaltetem Drucker gestartet (der Drucker ist dann aktiv da CUPS zu diesem Zeitpunkt nicht überprüft ob das Device überhaupt exstiert) und der Drucker wird eingeschaltet bevor ein Druckauftrag abgesetzt wird" braucht man nicht abzufangen da das aktivieren eines aktivierten Druckers keinerlei Auswirkungen hat. Das ganze sieht dann etwa so aus: In udev.rules wird die Zeile BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k" um ein PROGRAM="/etc/udev/scripts/cupsenable.sh" ergänzt. In cupsenable.sh könnte dann so aussehen #!/bin/sh for PRINTER in /etc/cups/ppd/* do cupsenable $(basename $PRINTER .ppd) done Da diese Frage an verschidenen Stellen immer wieder auftaucht würden mich auch mal ein paar andere Meinungen zu der Idee Interessieren, da bei breiterer Akzeptanz ich mir dann auch noch ein paar Ideen über die Integration machen und dann das ganze entweder ins BTS werfen oder gleich beimm entsprechenden Maintainer anfragen. ttyl8er, t.k. -- "Ich dachte immer, UNIX ist was für Leute, denen es gefällt, auf einen Bildschirm zu starren, auf dem es aussieht, als hätte sich gerade ein Gürteltier auf der Tastatur gewälzt." (Stefan Schneider)