X11-Weiterleitung wirkt sich auf Java-Swing-GUI-Dropdowns aus - Nicht auswählbare Elemente, Menüs werden sofort reduziert und so weiter

1242
marlhammer

Lassen Sie eine Java-Swing-App haben, die auf einem Linux-Server ausgeführt wird und X über X11-Weiterleitung wieder angezeigt wird. Cygwin läuft auf meiner Workstation. Die Verbindung zum Server wird unter Verwendung von PuTTY mit X11-Weiterleitung und dann mit ssh -XY hergestellt.

Das Starten von Anwendungen ist gut, aber bestimmte GUI-Elemente (meist Dropdown-Menüs) verhalten sich nicht richtig. Einige Menüs werden sofort nach dem Öffnen geschlossen (Blinken öffnen / schließen, wenn Sie darauf klicken.) Andere wählen keine Elemente mit der Maus aus. Andere wählen andere Gegenstände als die, die in meinem Haus schweben.

Die Anwendung funktioniert einwandfrei unter Windows oder Linux, wenn sie direkt aufgerufen wird. Das Problem scheint speziell auf die Anzeige durch X11 zurückzuführen zu sein.

Ist es möglich, dass X11 einige GUI-Ereignisse verschluckt oder nicht schnell genug neu gemalt wird?

4
Sie hatten ein ähnliches Problem und stellten fest, dass die Mausposition und der reagierende Klickpunkt der App im Laufe der Zeit mit der Verwendung langsam nicht mehr synchron sind. (z. B. Menüs öffnen und schließen und mit der Maus wackeln, und nach und nach wird es schlimmer) Walt Stoneburner vor 10 Jahren 0

1 Antwort auf die Frage

2
mdpc

Ich habe festgestellt, dass einige Anwendungen die von ssh ausgeführte X-Weiterleitung wirklich nicht mögen. In solchen Fällen musste ich die reale IP-Nummer in der DISPLAY-Variablen festlegen, um die Fenster wieder ordnungsgemäß an den angegebenen Host zu übergeben.

Stellen Sie außerdem sicher, dass Sie die Berechtigungen zum Anzeigen von Fenstern auf dem Remote-Host geöffnet haben, indem Sie den Befehl 'xhost' (siehe Manpage) auf dem Host ausführen, auf dem Sie Seiten erhalten möchten, und alle Hosts auflisten die dürfen Seiten senden. NICHT EMPFOHLEN: xhost +Zur Not verwende ich die Anzeige für alle IPs.

Das hat sehr gut funktioniert. Vielen Dank! marlhammer vor 10 Jahren 0
Concur - das hat auch mein Problem gelöst. Neugierig zu wissen, was unter der Haube tatsächlich passiert, löst das Problem. Walt Stoneburner vor 10 Jahren 0