Hylafax CUPS-Drucker auf dem Linux-Server von Linux-Terminals/Clients aus benutzen, wie?

51 views
Skip to first unread message

Paul Merlin

unread,
Jul 3, 2019, 2:17:22 PM7/3/19
to yajhfc-user
Hi,
ich bin neuer user.  Ich habe den Hylafax-Server auf einem Raspberry eingerichtet. Auf meinem Debian-Hauptrechner arbeiten einige Linux-Clients wie Terminals und erstellen dort Dokumente. Diese sollen von den Terminals/Clientrechnern aus auf dem Hauptrechner mit Hylafax versendet werden. Wenn ich ein Dokument drucken möchte, wähle ich dafür den Drucker "yajhfc" (alles vom Terminal/Client aus) auf dem Hauptrechner. Ich hatte gehofft, dass ich dann den Hylafax-Client auf dem Server vom Terminal/Intranet-Client aus ansehen und so die Faxnummer eingeben kann, aber der Hylafax-Client auf dem Hauptrechner lässt sich vom Terminal aus nicht öffnen: "ssh -X user@server yajhfc" lässt das Taskleistensymbol kurz wackeln, aber sonst passiert nichts. (Ein installierter lokaler Hylafax-Client auf dem Terminal/Intranetclient hilft nicht).  Hat vielleicht jemand eine Lösung für mich? 


Thomas Bohl

unread,
Jul 5, 2019, 9:51:58 AM7/5/19
to yajhf...@googlegroups.com
Hallo,

mir ist die Art und Weise der Verbindung nicht klar. Werden einzelne Anwendungen über ssh getunnelt oder wird ein vollständige Desktopumgebung übertragen? Wir haben letzteres im Einsatz. Auf dem Hauptrechner muss YajHFC samt Drucker[1] installiert sein. Die Benutzer müssen YajHFC ausgeführt haben (einfach per Autostart), bevor ein Druckauftrag erstellt wird, sonst wird er IIRC verworfen. Läuft YajHFC, öffnet sich bei einem Druck wie gewünscht ein Fenster zur Eingabe der Faxnummer.

[1]
Abhängig von der Distribution. Im zweifel Manuell:
/usr/sbin/lpadmin -p FAX -D 'Fax - Fragt per YajHFC nach Faxnummer.' -L localhost -v 'yajhfc:/var/spool/yajhfc/printer-$USERNAME' -E -P /opt/yajhfc.ppd -o "printer-error-policy=abort-job" -o "printer-is-shared=false"





Paul Merlin schrieb am 03.07.2019 um 20:17 Uhr


Hi,
ich bin neuer user.  Ich habe den Hylafax-Server auf einem Raspberry eingerichtet. Auf meinem Debian-Hauptrechner arbeiten einige Linux-Clients wie Terminals und erstellen dort Dokumente. Diese sollen von den Terminals/Clientrechnern aus auf dem Hauptrechner mit Hylafax versendet werden. Wenn ich ein Dokument drucken möchte, wähle ich dafür den Drucker "yajhfc" (alles vom Terminal/Client aus) auf dem Hauptrechner. Ich hatte gehofft, dass ich dann den Hylafax-Client auf dem Server vom Terminal/Intranet-Client aus ansehen und so die Faxnummer eingeben kann, aber der Hylafax-Client auf dem Hauptrechner lässt sich vom Terminal aus nicht öffnen: "ssh -X user@server yajhfc" lässt das Taskleistensymbol kurz wackeln, aber sonst passiert nichts. (Ein installierter lokaler Hylafax-Client auf dem Terminal/Intranetclient hilft nicht).  Hat vielleicht jemand eine Lösung für mich? 
 
 

 

--
You received this message because you are subscribed to the Google Groups "yajhfc-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to yajhfc-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/yajhfc-user/b1cc479d-7ce9-4128-891d-7d82bb659bf4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



Jonas Wolz

unread,
Jul 5, 2019, 10:41:49 AM7/5/19
to Paul Merlin, yajhf...@googlegroups.com
Hallo,

mich würde hier auch interessieren, wie das Setup genau aussieht.
Der Faxdrucker ist genau genommen ein kleiner "Hack", da sowas meines Wissens in CUPS nicht wirklich vorgesehen ist.

Die Funktionsweise des Faxdruckers unter Linux ist grob wie folgt:

1. YajHFC öffnet beim Start eine Named Pipe mit Namen "/var/spool/yajhfc/printer-$USER" und "lauscht", ob jemand darauf schreibt.

2. Wenn der Benutzer auf den Drucker druckt, schreibt das yajhfc-CUPS-Backend die Daten nach
/var/spool/yajhfc/printer-$USER

3. YajHFC erkennt, dass Daten in die Pipe geschrieben wurde und zeigt den Sendedialog an.

Das alles setzt voraus, dass YajHFC auf dem selben Rechner gestartet wurde, wo auch CUPS läuft, und, dass der Benutzer, unter dem es läuft, der selbe ist, wie der, der gedruckt hat.

Wenn hier die Anwendungen über ssh-Tunnel o.ä. gestartet werden, kann ich mir gut vorstellen, dass irgendetwas dann nicht mehr ganz richtig funktioniert.

Zum zweiten Punkt:
YajHFC sollte eigentlich grundsätzlich über ssh-Tunnel laufen.

Was passiert, wenn statt "ssh -X user@server yajhfc" zunächst ein "ssh -X user@server" gemacht wird und in der erscheinenden Shell dann yajhfc eingegeben wird?

Viele Grüße
Jonas Wolz

Am 03.07.19 um 20:17 schrieb Paul Merlin:
Hi,
ich bin neuer user.  Ich habe den Hylafax-Server auf einem Raspberry eingerichtet. Auf meinem Debian-Hauptrechner arbeiten einige Linux-Clients wie Terminals und erstellen dort Dokumente. Diese sollen von den Terminals/Clientrechnern aus auf dem Hauptrechner mit Hylafax versendet werden. Wenn ich ein Dokument drucken möchte, wähle ich dafür den Drucker "yajhfc" (alles vom Terminal/Client aus) auf dem Hauptrechner. Ich hatte gehofft, dass ich dann den Hylafax-Client auf dem Server vom Terminal/Intranet-Client aus ansehen und so die Faxnummer eingeben kann, aber der Hylafax-Client auf dem Hauptrechner lässt sich vom Terminal aus nicht öffnen: "ssh -X user@server yajhfc" lässt das Taskleistensymbol kurz wackeln, aber sonst passiert nichts. (Ein installierter lokaler Hylafax-Client auf dem Terminal/Intranetclient hilft nicht).  Hat vielleicht jemand eine Lösung für mich? 


Paul Merlin

unread,
Jul 6, 2019, 9:46:28 AM7/6/19
to yajhfc-user
Hallo Thomas,

obwohl ich den yajhf Drucker intsalliert hatte, habe ich trotzdem den Befehl (1)  ausprobiert: die Konsole bleibt dann aber immer hängen mit einem ">" in der nächsten Zeile.

Hallo Jonas,

wenn auf dem Hauptrechner  YAJHFC läuft oder vorher lief, und ich am Terminla zunächst "ssh - X user@server" befehle und  dann erst "yajhfc", leuchtet das Faxgerät-Logo mitten auf dem Bildschirm kurz auf: in der Konsole erscheint: "connecting to old instance, wechsele zur laufenden Instanz, übertrage alle Informationen..." .

Habe ich aber den Hauptrechner vorher einmal ab- und wieder  angemeldet, erscheint in der Konsole des Terminals :

X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
Error starting YajHFC:
java.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
        at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
        at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:132)
        at java.lang.Class.forName0(Native Method)                                           
        at java.lang.Class.forName(Class.java:264)                                           
        at java.awt.Toolkit$2.run(Toolkit.java:860)                                          
        at java.awt.Toolkit$2.run(Toolkit.java:855)                                          
        at java.security.AccessController.doPrivileged(Native Method)                        
        at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)                              
        at java.awt.Toolkit.getEventQueue(Toolkit.java:1736)                                 
        at java.awt.EventQueue.invokeLater(EventQueue.java:1294)                             
        at javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1295)                  
        at yajhfc.util.AWTExceptionLogger.register(AWTExceptionLogger.java:67)               
        at yajhfc.Utils.initializeUIProperties(Utils.java:456)                               
        at yajhfc.launch.Launcher2.setupFirstStage(Launcher2.java:177)                       
        at yajhfc.launch.Launcher2.main(Launcher2.java:109)                                  
        at yajhfc.Launcher.startRealLauncher(Launcher.java:94)                               
        at yajhfc.Launcher.main(Launcher.java:79)                                            
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment                                                                      
        at java.lang.Class.forName0(Native Method)                                           
        at java.lang.Class.forName(Class.java:264)                                           
        at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)               
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)                                                                                          
        at java.awt.Window.initGC(Window.java:475)                                           
        at java.awt.Window.init(Window.java:495)                                             
        at java.awt.Window.<init>(Window.java:537)                                           
        at java.awt.Frame.<init>(Frame.java:420)                                             
        at java.awt.Frame.<init>(Frame.java:385)                                             
        at yajhfc.Launcher.showMessage(Launcher.java:99)                                     
        at yajhfc.Launcher.main(Launcher.java:87)

Diese Meldung erscheint mit und ohne am Terminal gestarteten YAJHFC.

Viele Grüße und Danke schon mal!

P.S.: Wenn gar nichts anderes geht, werde ich wohl an einem Terminal den Faxserver plus den Faxclient plus den Faxdrucker einrichten: dann wäre zumindest von diesem Arbeitsplatz aus rausfaxen möglich, glaube ich.




Paul Merlin

unread,
Jul 9, 2019, 6:45:29 AM7/9/19
to yajhfc-user
Hallo,

habe es jetzt geschafft, von einem Client aus auf dem Hauptrechner ein Fax zu verschicken

Habe zunächst im Taskmanager auf dem Hauptrechner java beendet.

Dann auf dem Client "ssh -X user@server",

dann als user@server "yajhfc" und das Programm ging auf!

Dann vom Client aus  einen Text auf dem Server geöffnet, dann als Drucker "yahjhfc" ausgeweählt, und es öffnete sich tatsächlich das  Telefon-Nr.-Eingabe Fenster. Fax ist erfolreich angekommen.

Jetzt müsste man also nur dem Faxclient auf dem Hauptrechner nicht gestatten, zu starten, dann müsste es gehen, zumindestens von einem Client aus, vielleicht sogar von allen anderen, oder?

Viele Grüße!




Am Mittwoch, 3. Juli 2019 20:17:22 UTC+2 schrieb Paul Merlin:

Paul Merlin

unread,
Jul 9, 2019, 1:10:57 PM7/9/19
to yajhfc-user

Hallo,


Solange das Fenster zur Telefonnr.eingabe auf dem Terminal-Client geöffnet ist, kann man gut Faxe versenden.


Beim Versuch, das Fenster zu verkleinern, verschwindet es allerdings vom Bildschirm. dann bekommt man bei erneutem Startversuch wieder die Fehlermeldung, dass schon eine andere Instanz des Programms läuft: erst nach Beenden des Java im Taskmanger des Hauptrechners geht es dann wieder.


 Es wäre schön, wenn man das Java oder das Programm auf dem Hauptrechner vom Terminal-Client aus beenden könnte, noch besser mit voriger Warnung: "Achtung,  anderer Benutzer angemeldet, wirklich beenden?"


Vielleicht ist es ja irgendwann sogar möglich, mehrere Instanzen nebeneinander auf dem Hauptrechner laufen zu lassen, dann könnte man von mehreren Rechnern gleichzeitig faxen?


Viele Grüße!

 


Am Mittwoch, 3. Juli 2019 20:17:22 UTC+2 schrieb Paul Merlin:

Jonas Wolz

unread,
Jul 11, 2019, 5:34:04 AM7/11/19
to Paul Merlin, yajhf...@googlegroups.com
Hallo Paul,

Beim Versuch, das Fenster zu verkleinern, verschwindet es allerdings vom Bildschirm. dann bekommt man bei erneutem Startversuch wieder die Fehlermeldung, dass schon eine andere Instanz des Programms läuft: erst nach Beenden des Java im Taskmanger des Hauptrechners geht es dann wieder.

Standardmäßig versucht YajHFC, in die System-"Tray" zu minimieren. Wahrscheinlich funktioniert das über den ssh-Tunnel nicht richtig.

Das lässt sich über Optionen->Allgemein ausschalten: "In System-Tray minimieren" und "Bei Schließen des Hauptfensters in Tray minimieren"


 Es wäre schön, wenn man das Java oder das Programm auf dem Hauptrechner vom Terminal-Client aus beenden könnte, noch besser mit voriger Warnung: "Achtung,  anderer Benutzer angemeldet, wirklich beenden?"


Vielleicht ist es ja irgendwann sogar möglich, mehrere Instanzen nebeneinander auf dem Hauptrechner laufen zu lassen, dann könnte man von mehreren Rechnern gleichzeitig faxen?

Man kann mehrere Instanzen nebeneinander laufen lassen.

Wenn das verschiedene Benutzer auf dem "Hauptrechner" sind, sollte das eigentlich ganz problemlos gehen; wenn die alle mit dem selber Benutzer laufen sollen, muss man den verschiedenen Instanzen ein eigenes "Configdir" mitgeben über den Parameter--configdir.

Allerdings würde das dann auch mit dem Faxdrucker weiter nicht wie gewünscht funktionieren. Das CUPS-Backend hat als Information zur Zuordnung nur den Benutzer, der gedruckt hat, d.h. das Fax würde dann bei einer beliebigen Instanz für den Benutzer rauskommen.

Und zu dem Punkt:

Jetzt müsste man also nur dem Faxclient auf dem Hauptrechner nicht gestatten, zu starten, dann müsste es gehen, zumindestens von einem Client aus, vielleicht sogar von allen anderen, oder?

Wenn YajHFC mit Faxdrucker installiert wird unter Linux, wird das per Default als Autostart gesetzt, damit der Drucker  funktioniert.

Das lässt sich mittels "dpkg-reconfigure yajhfc-faxprinter" abstellen.


Viele Grüße
Jonas



Am Mittwoch, 3. Juli 2019 20:17:22 UTC+2 schrieb Paul Merlin:
Hi,
ich bin neuer user.  Ich habe den Hylafax-Server auf einem Raspberry eingerichtet. Auf meinem Debian-Hauptrechner arbeiten einige Linux-Clients wie Terminals und erstellen dort Dokumente. Diese sollen von den Terminals/Clientrechnern aus auf dem Hauptrechner mit Hylafax versendet werden. Wenn ich ein Dokument drucken möchte, wähle ich dafür den Drucker "yajhfc" (alles vom Terminal/Client aus) auf dem Hauptrechner. Ich hatte gehofft, dass ich dann den Hylafax-Client auf dem Server vom Terminal/Intranet-Client aus ansehen und so die Faxnummer eingeben kann, aber der Hylafax-Client auf dem Hauptrechner lässt sich vom Terminal aus nicht öffnen: "ssh -X user@server yajhfc" lässt das Taskleistensymbol kurz wackeln, aber sonst passiert nichts. (Ein installierter lokaler Hylafax-Client auf dem Terminal/Intranetclient hilft nicht).  Hat vielleicht jemand eine Lösung für mich? 


--
You received this message because you are subscribed to the Google Groups "yajhfc-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to yajhfc-user...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages