Hallo, On Jan 8 10:30 Johannes Meixner wrote (shortened):
Man müsste dann z.B. /dev/lp2 (um ggf. den existierenden Parallelport weiterhin via /dev/lp0 verwenden zu können) durch etwas ersetzten, was Druckdaten annimmt und an die eigentliche Druckerwarteschlange weiterleitet.
Z.B. aud /dev/lp2 ein FIFO (bzw. "named pipe") machen und einen Leser-Prozess starten, der das Weiterleiten macht:
mv /dev/lp2 /dev/lp2.save mkfifo /dev/lp2 chmod a+rw /dev/lp2
while true ; do cat /dev/lp2 | lp -d Warteschlange ; done
Eben habe ich eine ärgerliche Konsequenz daraus entdeckt: Nach so einer Veränderung von /dev/lp2 startet der cupsd nicht mehr ordentlich (bzw. evtl. nur mit grosser Zeitverzögerung). In /var/log/cups/error_log findet sich etwas in der Art "backend did not respond for 30 seconds" und der cupsd hängt ohne Zugriffe von aussen zu akzeptieren (mit "lpstat -r" nachweisbar). Ich habe nicht sehr lange gewartet, ob der cupsd nicht doch noch irgendwann weitermacht. Wenn man keinen Parallelport braucht, kann man das Parallelport-Backend /usr/lib/cups/backend/parallel in ein anderes Verzeichnis verschieben. Hintergrundinformation: Beim Starten ruft der cupsd alle Backends in /usr/lib/cups/backend/ nacheinander auf und interpretiert deren Ausgaben, z.B. root@host # /usr/lib/cups/backend/parallel direct parallel:/dev/lp0 "HP DeskJet 990C" "Parallel Port #1" direct parallel:/dev/lp1 "HP LaserJet 1220" "Parallel Port #2" und ermittelt so, welche Device URIs auf dem System verfügbar sind. Die verfügbaren Device URIs werden z.B. mit "lpinfo -v" angezeigt. Nur die auf dem jeweiligen System verfügbaren Device URIs werden im CUPS Web-Frontend angeboten. Das Parallelport Backend kommt entweder nicht mit einer Gerätedatei /dev/lp* zurecht, wenn diese keine Informationen zurückliefert (wie z.B. obige FIFO), oder es hat einen sehr langen Timeout. Gruss, Johannes Meixner -- SUSE LINUX AG, Maxfeldstrasse 5 Mail: jsmeix@suse.de 90409 Nuernberg, Germany WWW: http://www.suse.de/