Hallo ich habe einige Server von LPRng auf CUPS umgestellt. Läuft soweit auch super gut. Nur bräuchte ich für ein Skript, dass auf den Servern läuft, Zugriff auf einige Druckaufträge in Dateiformat. Früher wurden unter LPRng die Druckjobs immer pro Drucker ab- gelegt. Also z.B. /var/spool/lpd/DRUCKERNAME. Unter CUPS liegen die alle immer unter /var/spool/cups/ - kann man das irgendwie ändern, so dass für jeden Drucker ein Spoolverzeichnis angelegt wird ? -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun ------------------------------------- __________________________________________________________ Raiffeisen Waren-Zentrale Rhein-Main eG 50668 Koeln, Altenberger Str. 1a Tel: 0221/1638-0 Fax: 0221/1638-254 Sitz: Koeln Amtsgericht Koeln, GnR 728 Geschaeftsfuehrender Vorstand: Hans-Josef Hilgers (Sprecher) Markus Stuettgen Dr. Karl-Heinrich Suemmermann Vorstand: Friedhelm Decker (Vorsitzender) Ingo Steitz Vorsitzender des Aufsichtsrates: Peter Bleser (MdB) St.Nr.: 215/5938/0152 Bankverbindung: WGZ Bank AG, Duesseldorf (BLZ 300 600 10) Konto-Nr.: 300 011 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Jens Strohschnitter wrote:
Hallo
ich habe einige Server von LPRng auf CUPS umgestellt. Läuft soweit auch super gut. Nur bräuchte ich für ein Skript, dass auf den Servern läuft, Zugriff auf einige Druckaufträge in Dateiformat. Früher wurden unter LPRng die Druckjobs immer pro Drucker ab- gelegt. Also z.B. /var/spool/lpd/DRUCKERNAME. Unter CUPS liegen die alle immer unter /var/spool/cups/ - kann man das irgendwie ändern, so dass für jeden Drucker ein Spoolverzeichnis angelegt wird ?
Da keine Antworten gekommen sind der Hinweis das du vielleicht mittels Script vor oder nach jedem Druckjob die Aufträge weiter verarbeiten kannst. Gruß -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
ich habe einige Server von LPRng auf CUPS umgestellt. Läuft soweit auch super gut. Nur bräuchte ich für ein Skript, dass auf den Servern läuft, Zugriff auf einige Druckaufträge in Dateiformat. Früher wurden unter LPRng die Druckjobs immer pro Drucker ab- gelegt. Also z.B. /var/spool/lpd/DRUCKERNAME. Unter CUPS liegen die alle immer unter /var/spool/cups/ - kann man das irgendwie ändern, so dass für jeden Drucker ein Spoolverzeichnis angelegt wird ?
Da keine Antworten gekommen sind der Hinweis das du vielleicht mittels Script vor oder nach jedem Druckjob die Aufträge weiter verarbeiten kannst.
Yep. hatte ich auch schon dran gedacht, nur weiss ich leider nicht wie ich bei CUPS einen Filter eintrage wie man ihn früher mal in LPRng eintragen konnte. Dann würde ich als Filterprg. mal ein Bashscript hinterlegen, dass den Druckauftrag in ein explizites Verzeichnis verschiebt. Hat da evtl. einer eine Idee wie man das machen könnte? -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun ------------------------------------- __________________________________________________________ Raiffeisen Waren-Zentrale Rhein-Main eG 50668 Koeln, Altenberger Str. 1a Tel: 0221/1638-0 Fax: 0221/1638-254 Sitz: Koeln Amtsgericht Koeln, GnR 728 Geschaeftsfuehrender Vorstand: Hans-Josef Hilgers (Sprecher) Markus Stuettgen Dr. Karl-Heinrich Suemmermann Vorstand: Friedhelm Decker (Vorsitzender) Ingo Steitz Vorsitzender des Aufsichtsrates: Peter Bleser (MdB) St.Nr.: 215/5938/0152 Bankverbindung: WGZ Bank AG, Duesseldorf (BLZ 300 600 10) Konto-Nr.: 300 011 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, On Oct 17 10:12 Jens Strohschnitter wrote (shortened):
nur weiss ich leider nicht wie ich bei CUPS einen Filter eintrage wie man ihn früher mal in LPRng eintragen konnte.
Vor Bastelarbeiten am Drucksystem zuerst http://de.opensuse.org/SDB:CUPS_in_aller_K%C3%BCrze am besten auswendig lernen und dann z.B. http://de.opensuse.org/SDB:Selbst_erstellte_Filter_zum_Ausdruck_mit_CUPS durcharbeiten.
Dann würde ich als Filterprg. mal ein Bashscript hinterlegen, dass den Druckauftrag in ein explizites Verzeichnis verschiebt.
Die perfekte Idee, dem cupsd seine Dateien mal irgendwohin zu verschieben, um beliebige Schwierigkeiten zu bekommen. Kopieren und dann nur mit der Kopie arbeiten ist sicher o.k., aber bei "Verschieben" bleibt mir echt die Luft weg. Ganz nebenbei wäre es nett gewesen, erfahren zu dürfen, was der letztendliche Zweck der ganzen Übung ist. Vielleicht ist ja das ganze Vorgehen schon vom Ansatz her eher ungeschickt? Gruß Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex
On Oct 17 10:12 Jens Strohschnitter wrote (shortened):
nur weiss ich leider nicht wie ich bei CUPS einen Filter eintrage wie man ihn früher mal in LPRng eintragen konnte.
Vor Bastelarbeiten am Drucksystem zuerst http://de.opensuse.org/SDB:CUPS_in_aller_K%C3%BCrze am besten auswendig lernen und dann z.B. http://de.opensuse.org/SDB:Selbst_erstellte_Filter_zum_Ausdruck_mit_CUPS durcharbeiten.
Dann würde ich als Filterprg. mal ein Bashscript hinterlegen, dass den Druckauftrag in ein explizites Verzeichnis verschiebt.
Die perfekte Idee, dem cupsd seine Dateien mal irgendwohin zu verschieben, um beliebige Schwierigkeiten zu bekommen. Kopieren und dann nur mit der Kopie arbeiten ist sicher o.k., aber bei "Verschieben" bleibt mir echt die Luft weg.
Ganz nebenbei wäre es nett gewesen, erfahren zu dürfen, was der letztendliche Zweck der ganzen Übung ist. Vielleicht ist ja das ganze Vorgehen schon vom Ansatz her eher ungeschickt?
Hallo zweck der ganzen Übung ist, dass ein Druckjob vor dem Ausdruck von einem Skript angepasst und dann auf einem anderen System (HP-UX) gedruckt werden soll. Klingt sehr abenteuerlich, aber bis Dato war es so, dass wir einen Ausdruck aus SAP, dass auf einem SuSE SLES8 lief mittels LPRng erzeugten, die erzeugten Spooldateien dann aus dem lpd-Verzeichnis auf die HP-UX-Maschine übertragen und dort dann nach der Anpassung ausgedruckt haben. Nachdem wir das SuSE SLES8 auf SLES10 migriert hatten, wurde CUPS statt LPRng verwendet. Und dort klappte der beschriebene Weg nicht mehr. Das Ganze klingt mir ehrlich gesagt auch sehr abenteuerlich, muss aber lt. IT-Leitung so bleiben. :-( -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun ------------------------------------- __________________________________________________________ Raiffeisen Waren-Zentrale Rhein-Main eG 50668 Koeln, Altenberger Str. 1a Tel: 0221/1638-0 Fax: 0221/1638-254 Sitz: Koeln Amtsgericht Koeln, GnR 728 Geschaeftsfuehrender Vorstand: Hans-Josef Hilgers (Sprecher) Markus Stuettgen Dr. Karl-Heinrich Suemmermann Vorstand: Friedhelm Decker (Vorsitzender) Ingo Steitz Vorsitzender des Aufsichtsrates: Peter Bleser (MdB) St.Nr.: 215/5938/0152 Bankverbindung: WGZ Bank AG, Duesseldorf (BLZ 300 600 10) Konto-Nr.: 300 011 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, On Oct 17 11:50 Jens Strohschnitter wrote:
zweck der ganzen Übung ist, dass ein Druckjob vor dem Ausdruck von einem Skript angepasst und dann auf einem anderen System (HP-UX) gedruckt werden soll.
Klingt sehr abenteuerlich, aber bis Dato war es so, dass wir einen Ausdruck aus SAP, dass auf einem SuSE SLES8 lief mittels LPRng erzeugten, die erzeugten Spooldateien dann aus dem lpd-Verzeichnis auf die HP-UX-Maschine übertragen und dort dann nach der Anpassung ausgedruckt haben.
Nachdem wir das SuSE SLES8 auf SLES10 migriert hatten, wurde CUPS statt LPRng verwendet. Und dort klappte der beschriebene Weg nicht mehr.
D.h. das was von SAP kommt, wird nur mit dem Script für HP-UX angepasst (also ohne die normalerweise übliche CUPS Filterkette) und dann an HP-UX geschickt. Das Script ist also etwas, was men bei LPRng als "if" (Input Filter) in /etc/printcap eingetragen hätte. Der passende Ersatz dafür bei CUPS ist das sog. "System V style interface script", siehe "man filter", "man lpadmin" und http://de.opensuse.org/SDB:Selbst_erstellte_Filter_zum_Ausdruck_mit_CUPS Jegliche Filter bei CUPS (also auch ein "System V style interface script") müssen die Kommandozeilenparameter gemäß "man filter" verarbeiten können. Insbes. ist argv[6] entweder leer, dann kommt die Eingabe via stdin oder es ist nicht leer, dann enthält es den Namen der (Spool)-Datei von wo die Eingabe gelesen werden muß. Die Weiterleitung der fertig angepassten Daten an HP-UX macht das sog. CUPS "Backend". Je nachdem wie HP-UX Daten annehmen kann, nimmt man normalerweise eines der fertigen Backends, siehe http://de.opensuse.org/SDB:CUPS_in_aller_K%C3%BCrze "Die Backends" oder für Spezialfälle kann man sich auch eines selbermachen, siehe "man backend", z.B. wie aus einer anderen Mail vor mir: ======================================================================== Here a very simple example for a selfmade "LP0" backend for the parallel port whith everything hardcoded in the backend and a possible (but unlikely) race condition: ---------------------------------------------------------------------- #! /bin/bash # see the "CUPS Software Programmers Manual": # "Writing Filters" and "Writing Backends" # and see the man page "man backend". # debug info in /var/log/cups/error_log set -x # output "Device Discovery" information on stdout if test "$#" = "0" then echo 'direct LP0:/dev/lp0 "Unknown" "lp0 device"' exit 0 fi # have the input at fd0 (stdin) in any case if test -n "$6" then exec <"$6" fi # infinite retries to access the device until cat /dev/null >/dev/lp0 do echo 'INFO: cannot access /dev/lp0 - retry in 30 seconds' 1>&2 sleep 30 done echo 'INFO: sending the data to /dev/lp0' 1>&2 # forward the data from stdin to the device if cat - >/dev/lp0 then echo 'INFO:' 1>&2 exit 0 else echo 'ERROR: failed to send the data to /dev/lp0' 1>&2 exit 1 fi ---------------------------------------------------------------------- Place it with file name "LP0" (i.e. what the "Device Discovery" information shows) in the directory where the other backends are with same owner, group and permissions as the other backends. Restart cupsd and verify with "lpinfo -v" that the cupsd has recognized the new backend "LP0". ======================================================================== Gruß Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex
zweck der ganzen Übung ist, dass ein Druckjob vor dem Ausdruck von einem Skript angepasst und dann auf einem anderen System (HP-UX) gedruckt werden soll.
Klingt sehr abenteuerlich, aber bis Dato war es so, dass wir einen Ausdruck aus SAP, dass auf einem SuSE SLES8 lief mittels LPRng erzeugten, die erzeugten Spooldateien dann aus dem lpd-Verzeichnis auf die HP-UX-Maschine übertragen und dort dann nach der Anpassung ausgedruckt haben.
Nachdem wir das SuSE SLES8 auf SLES10 migriert hatten, wurde CUPS statt LPRng verwendet. Und dort klappte der beschriebene Weg nicht mehr.
D.h. das was von SAP kommt, wird nur mit dem Script für HP-UX angepasst (also ohne die normalerweise übliche CUPS Filterkette) und dann an HP-UX geschickt.
Das Script ist also etwas, was men bei LPRng als "if" (Input Filter) in /etc/printcap eingetragen hätte.
Der passende Ersatz dafür bei CUPS ist das sog. "System V style interface script", siehe "man filter", "man lpadmin" und http://de.opensuse.org/SDB:Selbst_erstellte_Filter_zum_Ausdruck_mit_CUPS
Jegliche Filter bei CUPS (also auch ein "System V style interface script") müssen die Kommandozeilenparameter gemäß "man filter" verarbeiten können. Insbes. ist argv[6] entweder leer, dann kommt die Eingabe via stdin oder es ist nicht leer, dann enthält es den Namen der (Spool)-Datei von wo die Eingabe gelesen werden muß.
Die Weiterleitung der fertig angepassten Daten an HP-UX macht das sog. CUPS "Backend". Je nachdem wie HP-UX Daten annehmen kann, nimmt man normalerweise eines der fertigen Backends, siehe http://de.opensuse.org/SDB:CUPS_in_aller_K%C3%BCrze "Die Backends" oder für Spezialfälle kann man sich auch eines selbermachen, siehe "man backend", z.B. wie aus einer anderen Mail vor mir:
Yep! Das wäre die sauberste, aber leider auch umfangreichste Lösung. Fürs erste habe ich, da es in SAP eine Möglichkeit gibt, vor dem Druck ein Skript aufzurufen, den Druckjob hierüber auf das HPUX-System kopiert. Der Anwendungsentwicklung habe ich aber mal den Ansatz mit dem Filter für CUPS vorgeschlagen. Diese werden sich dann mal an die Migration bzw. Erstellung des Filterscripts für den Backend von CUPS kümmern. Vielen Dank schon mal für die Fülle von Infos. -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun ------------------------------------- __________________________________________________________ Raiffeisen Waren-Zentrale Rhein-Main eG 50668 Koeln, Altenberger Str. 1a Tel: 0221/1638-0 Fax: 0221/1638-254 Sitz: Koeln Amtsgericht Koeln, GnR 728 Geschaeftsfuehrender Vorstand: Hans-Josef Hilgers (Sprecher) Markus Stuettgen Dr. Karl-Heinrich Suemmermann Vorstand: Friedhelm Decker (Vorsitzender) Ingo Steitz Vorsitzender des Aufsichtsrates: Peter Bleser (MdB) St.Nr.: 215/5938/0152 Bankverbindung: WGZ Bank AG, Duesseldorf (BLZ 300 600 10) Konto-Nr.: 300 011 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
zweck der ganzen Übung ist, dass ein Druckjob vor dem Ausdruck von einem Skript angepasst und dann auf einem anderen System (HP-UX) gedruckt werden soll.
Klingt sehr abenteuerlich, aber bis Dato war es so, dass wir einen Ausdruck aus SAP, dass auf einem SuSE SLES8 lief mittels LPRng erzeugten, die erzeugten Spooldateien dann aus dem lpd-Verzeichnis auf die HP-UX-Maschine übertragen und dort dann nach der Anpassung ausgedruckt haben.
Nachdem wir das SuSE SLES8 auf SLES10 migriert hatten, wurde CUPS statt LPRng verwendet. Und dort klappte der beschriebene Weg nicht mehr.
D.h. das was von SAP kommt, wird nur mit dem Script für HP-UX angepasst (also ohne die normalerweise übliche CUPS Filterkette) und dann an HP-UX geschickt.
Das Script ist also etwas, was men bei LPRng als "if" (Input Filter) in /etc/printcap eingetragen hätte.
Der passende Ersatz dafür bei CUPS ist das sog. "System V style interface script", siehe "man filter", "man lpadmin" und http://de.opensuse.org/SDB:Selbst_erstellte_Filter_zum_Ausdruck_mit_CUPS
Jegliche Filter bei CUPS (also auch ein "System V style interface script") müssen die Kommandozeilenparameter gemäß "man filter" verarbeiten können. Insbes. ist argv[6] entweder leer, dann kommt die Eingabe via stdin oder es ist nicht leer, dann enthält es den Namen der (Spool)-Datei von wo die Eingabe gelesen werden muß.
Die Weiterleitung der fertig angepassten Daten an HP-UX macht das sog. CUPS "Backend". Je nachdem wie HP-UX Daten annehmen kann, nimmt man normalerweise eines der fertigen Backends, siehe http://de.opensuse.org/SDB:CUPS_in_aller_K%C3%BCrze "Die Backends" oder für Spezialfälle kann man sich auch eines selbermachen, siehe "man backend", z.B. wie aus einer anderen Mail vor mir:
Juhu - Cups sei dank klappt der Ausdruck doch tatsächlich jetzt auch direkt aus SAP->Cups->Drucker. Es scheint als würde Cups die Steuerzeichen, die zuvor mit LPRng nicht verarbeitet werden konnten, nun korrekt umgesetzt. -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun ------------------------------------- __________________________________________________________ Raiffeisen Waren-Zentrale Rhein-Main eG 50668 Koeln, Altenberger Str. 1a Tel: 0221/1638-0 Fax: 0221/1638-254 Sitz: Koeln Amtsgericht Koeln, GnR 728 Geschaeftsfuehrender Vorstand: Hans-Josef Hilgers (Sprecher) Markus Stuettgen Dr. Karl-Heinrich Suemmermann Vorstand: Friedhelm Decker (Vorsitzender) Ingo Steitz Vorsitzender des Aufsichtsrates: Peter Bleser (MdB) St.Nr.: 215/5938/0152 Bankverbindung: WGZ Bank AG, Duesseldorf (BLZ 300 600 10) Konto-Nr.: 300 011 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, On Oct 15 11:03 Jens Strohschnitter wrote (shortened):
Früher wurden unter LPRng die Druckjobs immer pro Drucker ab- gelegt. Also z.B. /var/spool/lpd/DRUCKERNAME. Unter CUPS liegen die alle immer unter /var/spool/cups/ - kann man das irgendwie ändern, so dass für jeden Drucker ein Spoolverzeichnis angelegt wird ?
Siehe http://www.cups.org/newsgroups.php?s1+gcups.general+v2+T0+Q%2Fvar%2Fspool%2F... http://www.cups.org/newsgroups.php?s1+gcups.general+v3+T0+Q%2Fvar%2Fspool%2F... Gruß Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex
participants (3)
-
Jens Strohschnitter
-
Johannes Meixner
-
rprengel