Seite 1 von 1

efaCLI versucht sich an X11 zu verbinden und bleibt hängen

Verfasst: Di 17. Nov 2015, 03:04
von thomasp
efaCLI versucht offenbar, sich an den X11 Window Server zu verbinden, bei falsch gesetzter DISPLAY Variable führt dies intern zu Fehler, aber efaCLI bleibt auf der Meldung INF002 hängen (2.Ausgabezeile), ohne dass ein Grund sichtbar wird oder Eingaben irgendetwas bewirken. Im Log file gibt es eine Fehlermeldung "Can't connect to X11 window server using 'foobar:0' as the value of the DISPLAY variable."

Bei korrektem DISPLAY Wert wird tatsächlich eine Verbindung zum X11 Server aufgebaut, ohne dass dort mehr passiert, da die ja auch keinen Sinn macht. Trennt man diese Verbindung (auf TCP Ebene) zwangsweise, beendet sich efaCLI ohne Meldung (getestet auf dem Password prompt).
Löscht man die DISPLAY Variable, läuft efaCLI wie es soll.

Meiner Meinung nach darf efaCLI als Batch Programm überhaupt nicht eine X11 Verbindung versuchen, egal ob und wie DISPLAY gesetzt ist.

Als Sicherheitsmaßnahme lösche ich jetzt in efaCLI.sh die DISPLAY Variable.
(Aufgefallen ist das bei SSH über mehrere NAT Verbindungen, wo DISPLAY schon mal falsch gesetzt wird, was ja aber auf der command line keine Auswirkung hat/haben sollte)

System. efa221_20 auf Raspberry Pi 2B / Raspbian Wheezy / Oracle Java 1.8

Re: efaCLI versucht sich an X11 zu verbinden und bleibt häng

Verfasst: So 22. Nov 2015, 10:04
von nick
Hallo Thomas,

danke für den Hinweis. Ja, das ist ein Fehler. Ich werde den Fehler in Version 2.2.2 korrigieren.

Bis dahin, kannst du als Workaround die Datei runefa.sh bearbeiten und dort zwischen

Code: Alles auswählen

JVMOPTIONS="-Xmx$EFA_JAVA_HEAP -XX:NewSize=$EFA_NEW_SIZE -XX:MaxNewSize=$EFA_NEW_SIZE"
und

Code: Alles auswählen

# Run Program
folgende Zeilen einfügen:

Code: Alles auswählen

if [ "$CLASSNAME" = "de.nmichael.efa.cli.Main" ] ; then
  JVMOPTIONS="$JVMOPTIONS -Djava.awt.headless=true"
fi
Viele Grüße,
Nick