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

Einen Fehler in efa2 melden

Moderator: nick

Forumsregeln
Beim Melden eines Fehlers, gib bitte die verwendete efa2-Version und Dein Betriebssystem an, sowie eine genaue Beschreibung der Fehlersituation und ggf. der Fehlermeldungen.
Antworten
thomasp
Beiträge: 22
Registriert: Sa 14. Feb 2015, 15:59
Wohnort: Fleckeby, S-H
Kontaktdaten:

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

Beitrag von thomasp » Di 17. Nov 2015, 03:04

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
Thomas
DRC Domschulruderclub Schleswig
efa2 auf Raspberry Pi 2/3 - Raspbian - Openbox

nick
Beiträge: 1293
Registriert: Sa 10. Jul 2010, 11:45

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

Beitrag von nick » So 22. Nov 2015, 10:04

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

Antworten