[OT] Lokale cups-Queue per Port freigeben
Hallo Liste, ich grübele nun schon eine ganze Weile darüber nach, ob es möglich ist, eine lokale Queue als Port freizugeben. (Also etwa den cups-PDF-Drucker nicht als \\cups-Server\pdf freigeben, sondern bspw. als %ip-Adresse%:9100). Hat jemand eine Idee? Oder sowas schon umsetzen können? Hintergrund ist, daß einige Medizingeräte, z. B. der Fa. Mindray, Untersuchungsergebnisse auf einem Netzwerkdrucker ausgeben können, diese Drucker aber nur per ip-Adresse & zugehörigem Port eingetragen werden können. Eine Angabe á la \\cups-Server\pdf ist nicht möglich. Danke & Gruß Torsten -- 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
Am Tue, 08 Mar 2011 12:31:53 +0100
schrieb "T. Ermlich"
Hallo Liste,
ich grübele nun schon eine ganze Weile darüber nach, ob es möglich ist, eine lokale Queue als Port freizugeben. (Also etwa den cups-PDF-Drucker nicht als \\cups-Server\pdf freigeben, sondern bspw. als %ip-Adresse%:9100). Hat jemand eine Idee? Oder sowas schon umsetzen können?
Hintergrund ist, daß einige Medizingeräte, z. B. der Fa. Mindray, Untersuchungsergebnisse auf einem Netzwerkdrucker ausgeben können, diese Drucker aber nur per ip-Adresse & zugehörigem Port eingetragen werden können. Eine Angabe á la \\cups-Server\pdf ist nicht möglich.
Versuche mal ipp://hostip:631/printers/pdf -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E -- 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 Torsten,
Am Tue, 08 Mar 2011 12:31:53 +0100
schrieb "T. Ermlich"
Hallo Liste,
ich grübele nun schon eine ganze Weile darüber nach, ob es möglich ist, eine lokale Queue als Port freizugeben. (Also etwa den cups-PDF-Drucker nicht als \\cups-Server\pdf freigeben, sondern bspw. als %ip-Adresse%:9100). Hat jemand eine Idee? Oder sowas schon umsetzen können?
Hintergrund ist, daß einige Medizingeräte, z. B. der Fa. Mindray, Untersuchungsergebnisse auf einem Netzwerkdrucker ausgeben können, diese Drucker aber nur per ip-Adresse & zugehörigem Port eingetragen werden können. Eine Angabe á la \\cups-Server\pdf ist nicht möglich.
Der Hinweis auf Port 9100 machte micht stutzig, das kenne ich doch von der FritzBox. Ich fand dann diesen Hinweis http://technet.microsoft.com/en-us/library/cc976760.aspx Wie du allerdings cupsd dazu bringst, lpr zu sprechen, vermag ich nicht zu sagen. -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E -- 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 Dieter :) -------- Original-Nachricht --------
Datum: Tue, 8 Mar 2011 15:16:29 +0100 Von: Dieter Kluenter
An: opensuse-de@opensuse.org Betreff: Re: [OT] Lokale cups-Queue per Port freigeben
Hallo Torsten,
Am Tue, 08 Mar 2011 12:31:53 +0100 schrieb "T. Ermlich"
:
[...]
Der Hinweis auf Port 9100 machte micht stutzig, das kenne ich doch von der FritzBox.
Auch so ziemlich alle HP-PrintServer lauschen auf 9100.
Ich fand dann diesen Hinweis http://technet.microsoft.com/en-us/library/cc976760.aspx
Genau - aber das ist für die Clientseite. Und ich möchte ja, das der cups-Server einen Drucker über Port 9100 "anbietet". Sprich, ein Client druckt auf \\cups-server:9100, und eine PDF-Datei wird abgelegt - eigentlich genau so, wie es FritzBox & PrintServer auch tun ...
Wie du allerdings cupsd dazu bringst, lpr zu sprechen, vermag ich nicht zu sagen.
lpr-cups ist, wenn ich mich recht entsinne, im cups Paket enthalten - zumindest gab es das, afair, früher einmal ...
-Dieter
-- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E -- -- 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 Torsten,
Am Tue, 08 Mar 2011 15:35:54 +0100
schrieb "T. Ermlich"
Hallo Dieter :)
-------- Original-Nachricht --------
Datum: Tue, 8 Mar 2011 15:16:29 +0100 Von: Dieter Kluenter
An: opensuse-de@opensuse.org Betreff: Re: [OT] Lokale cups-Queue per Port freigeben Hallo Torsten,
Am Tue, 08 Mar 2011 12:31:53 +0100 schrieb "T. Ermlich"
: [...]
Der Hinweis auf Port 9100 machte micht stutzig, das kenne ich doch von der FritzBox.
Auch so ziemlich alle HP-PrintServer lauschen auf 9100.
Ich fand dann diesen Hinweis http://technet.microsoft.com/en-us/library/cc976760.aspx
Genau - aber das ist für die Clientseite.
Und ich möchte ja, das der cups-Server einen Drucker über Port 9100 "anbietet". Sprich, ein Client druckt auf \\cups-server:9100, und eine PDF-Datei wird abgelegt - eigentlich genau so, wie es FritzBox & PrintServer auch tun ...
Wie du allerdings cupsd dazu bringst, lpr zu sprechen, vermag ich nicht zu sagen.
lpr-cups ist, wenn ich mich recht entsinne, im cups Paket enthalten - zumindest gab es das, afair, früher einmal ...
Ja richtig war mir entfallen, aber man cups-lpd(8) beschreibt ja, dass cups-lpd als daemon über init oder xinit gestartet werden kann, Konfigurationsparamter gibt es auch als Beispiel. -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E -- 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
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 T. Ermlich [08.03.2011 12:31]:
Hallo Liste,
ich grübele nun schon eine ganze Weile darüber nach, ob es möglich ist, eine lokale Queue als Port freizugeben. (Also etwa den cups-PDF-Drucker nicht als \\cups-Server\pdf freigeben, sondern bspw. als %ip-Adresse%:9100). Hat jemand eine Idee? Oder sowas schon umsetzen können?
Hintergrund ist, daß einige Medizingeräte, z. B. der Fa. Mindray, Untersuchungsergebnisse auf einem Netzwerkdrucker ausgeben können, diese Drucker aber nur per ip-Adresse & zugehörigem Port eingetragen werden können. Eine Angabe á la \\cups-Server\pdf ist nicht möglich.
Danke & Gruß Torsten
Hallo Torsten, ich könnte mir vorstellen, dass man dazu einen cups-lpd missbrauchen kann, der so konfiguriert wird[1], dass er auf einem speziellen Port lauscht. Wie man dem aber beibringt, dann wiederum auf einem bestimmten Drucker zu druckern, entzieht sich meiner Kenntnis :-( - ich finde keine Aufstellung, welche Optionen das Ding unterstützt. Man kann zwar mit -h hostname[:port] den Drucker angeben, wenn der einen eigenen Printserver mitbringt - aber dann könntest Du ihn ja auch gleich direkt eintragen... Gruß Werner [1] dafür ist das einleitende "service printer" in der Datei /etc/xinetd.d/cups-lpd.conf in ein (z. B.) "service 9100" zu ändern. Danach den xinetd durchstarten. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAk12QQEACgkQk33Krq8b42PRRwCbBhrr3nYTjyTiK7mVp9812H7g 38MAn11sVp3olQ81U2prHiAwuCs3/XI4 =R2dV -----END PGP SIGNATURE----- -- 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 Werner,
Werner Flamme
Hallo Torsten,
ich könnte mir vorstellen, dass man dazu einen cups-lpd missbrauchen kann, der so konfiguriert wird[1], dass er auf einem speziellen Port lauscht. Wie man dem aber beibringt, dann wiederum auf einem bestimmten Drucker zu druckern, entzieht sich meiner Kenntnis :-( - ich finde keine Aufstellung, welche Optionen das Ding unterstützt.
Man kann zwar mit -h hostname[:port] den Drucker angeben, wenn der einen eigenen Printserver mitbringt - aber dann könntest Du ihn ja auch gleich direkt eintragen...
Gruß Werner
[1] dafür ist das einleitende "service printer" in der Datei /etc/xinetd.d/cups-lpd.conf in ein (z. B.) "service 9100" zu ändern. Danach den xinetd durchstarten.
Jau - Dieter hat es vorhin auch schon erwähnt ... da hab ich gar nicht mehr dran gedacht :( Das teste ich nachher mal cu Torsten -- 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 Mar 8 12:31 T. Ermlich wrote (excerpt):
ich grübele nun schon eine ganze Weile darüber nach, ob es möglich ist, eine lokale Queue als Port freizugeben. (Also etwa den cups-PDF-Drucker nicht als \\cups-Server\pdf freigeben, sondern bspw. als %ip-Adresse%:9100). ... Hintergrund ist, daß einige Medizingeräte, z. B. der Fa. Mindray, Untersuchungsergebnisse auf einem Netzwerkdrucker ausgeben können, diese Drucker aber nur per ip-Adresse & zugehörigem Port eingetragen werden können. Eine Angabe á la \\cups-Server\pdf ist nicht möglich.
Grundprinzip:
while true ; do netcat -l -p 9100 | lp -d
Hallo Johannes,
Johannes Meixner
Hallo,
On Mar 8 12:31 T. Ermlich wrote (excerpt):
[...]
Grundprinzip:
while true ; do netcat -l -p 9100 | lp -d
; done Damit wird alles, was von irgendwoher am Port 9100 ankommt, an die Warteschlange "queue_name" weitergeleitet.
Etwas "hübscher":
Eine Datei -rw-r--r-- 1 root root ... /etc/xinetd.d/pdl-datastream wie folgt anlegen: -------------------------------------------------------------------- service pdl-datastream { disable = no socket_type = stream protocol = tcp wait = no user = lp server = /usr/bin/lp server_args = -d
} --------------------------------------------------------------------
Da werd ich wohl nachher mal ganz Hemmungslos zum Guttenberg ;)
und dann den xinetd starten mit rcxinetd start so dass netstat -nap | grep 9100 folgendes anzeigt: -------------------------------------------------------------------- tcp 0 0 0.0.0.0:9100 0.0.0.0:* LISTEN 12345/xinetd --------------------------------------------------------------------
Auf dem Client-Rechner kann man dann mit echo -en '\rHello\r\f' | netcat Server-Rechner 9100 testen, ob der Client-Rechner Daten an den Server-Rechner schicken kann.
Grundsätzlich funktioniert beides bei mir. Ich habe das jetzt aber nicht unter hoher Last getestet.
Danke Dir vielmals!
Gruß Johannes Meixner
-- 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
Nur der Vollständigkeit halber: es funktioniert nun einwandfrei, getestet habe ich es mit Eingaben á la echo -en '\rHello\r\f' | netcat Server-Rechner 9100 (wie von Johannes Meixner aufgeführt), als auch direkt durch Angabe von Dateien. Die Datei /etc/xinetd.d/pdl-datastream sieht nun wie folgt aus: service pdl-datastream { disable = no socket_type = stream protocol = tcp port = 9100 wait = no user = lp server = /usr/bin/lp server_args = -d Virtual_PDF_Printer } (sprich, ich habe die port-Angabe hinzugefügt). Wenn nun die Konfiguration des cups-pdf-Treibers in /etc/cups/cups-pdf korrekt erfolgt ist, sollte ein Ausdruck in Form einer PDF-Datei erfolgen (hier nun bspw. in der Art "job_78-_stdin_.pdf"). Noch nicht getestet habe ich einen Ausdruck direkt durch das Sono-Gerät, aber zumindest liegt es bei einem nicht-funktionieren wohl nicht mehr am Linuxteil. Danke euch! Biba Torsten -- 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 Mar 9 09:42 T. Ermlich wrote (excerpt):
Die Datei /etc/xinetd.d/pdl-datastream sieht nun wie folgt aus: service pdl-datastream { disable = no socket_type = stream protocol = tcp port = 9100 wait = no user = lp server = /usr/bin/lp server_args = -d Virtual_PDF_Printer } (sprich, ich habe die port-Angabe hinzugefügt).
Der Port sollte durch den "pdl-datastream" Eintrag in /etc/services automatisch 9100 sein: -------------------------------------------------------- pdl-datastream 9100/tcp # Printer PDL Data Stream --------------------------------------------------------
Wenn nun die Konfiguration des cups-pdf-Treibers in /etc/cups/cups-pdf korrekt erfolgt ist, sollte ein Ausdruck in Form einer PDF-Datei erfolgen
Mit cups-pdf kenne ich mich nicht gut aus, aber gemäß http://en.opensuse.org/SDB:Printing_to_PDF --------------------------------------------------------------- The default location for the PDF files is /var/spool/cups-pdf/yourusername/ --------------------------------------------------------------- könnte es hilfreich sein, den "user = lp" Eintrag in /etc/xinetd.d/pdl-datastream auf etwas geeigneteres anzupassen - eben auf den User auf dem Server-Rechner, der diese spezielle Art des Ausdrucks dort machen soll. Gruß Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex
[...]
Der Port sollte durch den "pdl-datastream" Eintrag in /etc/services automatisch 9100 sein: -------------------------------------------------------- pdl-datastream 9100/tcp # Printer PDL Data Stream --------------------------------------------------------
Da habe ich nun gar nicht nachgeschaut ... dachte die Zeile wäre dir untergegangen ... sry
Wenn nun die Konfiguration des cups-pdf-Treibers in /etc/cups/cups-pdf korrekt erfolgt ist, sollte ein Ausdruck in Form einer PDF-Datei erfolgen
Mit cups-pdf kenne ich mich nicht gut aus, aber gemäß http://en.opensuse.org/SDB:Printing_to_PDF --------------------------------------------------------------- The default location for the PDF files is /var/spool/cups-pdf/yourusername/ --------------------------------------------------------------- könnte es hilfreich sein, den "user = lp" Eintrag in /etc/xinetd.d/pdl-datastream auf etwas geeigneteres anzupassen - eben auf den User auf dem Server-Rechner, der diese spezielle Art des Ausdrucks dort machen soll.
Ja, aber ... ;) Da es sich um reine Anwender handelt, welche die PDF-Dateien händisch umbenennen (Patientennummer-Untersuchungsart-Datum.pdf, bspw. 8720-LLZR-20110309.pdf) und an die elektronischen Karteikarten der Patienten anhängen, haben wir uns damals für einen zentralen Sammelort der erstellten PDF-Dateien entschieden. Die Einstellungen lauten nun ganz bewußt: ### Key: Out ## CUPS-PDF output directory ## special qualifiers: ## ${HOME} will be expanded to the user's home directory ## ${USER} will be expanded to the user name ## in case it is an NFS export make sure it is exported without ## root_squash! ### Default: /var/spool/cups-pdf/${USER} #Out /var/spool/cups-pdf/${USER} Out /srv/cups/pdf ### Key: AnonDirName ## ABSOLUTE path for anonymously created PDF files ## if anonymous access is disabled this setting has no effect ### Default: /var/spool/cups-pdf/ANONYMOUS #AnonDirName /var/spool/cups-pdf/ANONYMOUS AnonDirName /srv/cups/pdf Auf /srv/cups/pdf kann jeder Praxismitarbeiter zugreifen, die Dateien herauskopieren (sie sind als Beleg der KV gegenüber schreibgeschützt), umbenennen und w. o. b. anhängen. Dies wird nun bei Langzeit-EKG, -Blutdruck, Belastungs-EKG und hoffentlich die Tage auch für die Sono-Untersuchungen genutzt.
Gruß Johannes Meixner
cu Torsten -- 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
participants (5)
-
Dieter Kluenter
-
Johannes Meixner
-
T. Ermlich
-
T. Ermlich
-
Werner Flamme