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)

Antwort per Email an