Warum schlagen sowohl x11vnc als auch x0vncserver in Gnome Ubuntu 22.04 auf ähnliche Weise fehl?

Warum schlagen sowohl x11vnc als auch x0vncserver in Gnome Ubuntu 22.04 auf ähnliche Weise fehl?

Ich möchte mich bei meinem Remote-Ubuntu 22.04 anmelden und den Desktop sehen könnenwie auf dieser Maschine gezeigt. (Ich weiß, wie man ein vncservermit einer separaten Desktopinstanz erstellt.) Ich habe separate Probleme mit dem integrierten Remotedesktop, daher geht es hier speziell um x11vncund x0vncserver.

Bei mir haben sie jahrelang unter 18.04 unter Xfce einwandfrei funktioniert.

Jetzt, auf 22.04, versagen sie auf ähnliche Weise, also vermute ich, dass es sich wirklich um ein Gnome- oder Xorg-Problem handelt (oder - gibt es Compiz überhaupt noch?). Dieser Verdacht wird durch die Tatsache verstärkt, dass es problemlos funktioniert mitgnome-session-flashback.

x11vncIch habe mit vielen Optionen für und herumgespielt x0vncserver, aber mein Problem besteht weiterhin.

Kurzfassung: Wenn ich ein Fenster verschiebe, sehe ich sowohl das Originalfenster an seiner ursprünglichen Position als auch das Fenster an der neuen Position. Und vielleicht ein oder zwei Fenster in dem Pfad, in den das Fenster verschoben wurde. Hier habe ich beispielsweise mit einem einzelnen Terminal begonnen:

Originales Einzelfenster

Dann habe ich das Fenster verschoben:

Verschobenes Fenster

Nur die untere rechte ist interaktiv ...

Jetzt kommt der Trick... Wenn ich sowohl den Client als auch den VNC-Server stoppe und andere Clients und VNC-Server starte, bleiben die Verschiebungsartefakte bestehen. Hier ist ein Reproduktionsrezept (hier ist „Client“ die Debian-Maschine, auf der der VNC-Client läuft, „Server“ ist die Ubuntu 22.04-Maschine, auf der ein VNC-Server läuft):

  • Beginnen Sie mit einem frisch neu gestarteten Server.
  • Zum ersten Mal verbinden
    • Starten x11vnc -usepw -display :0 -forever -rfbport 5901auf dem Server
    • Stellen Sie vom Client aus eine Verbindung mit Remmina her
    • Im VNC-Client:
      • Siehe ein Fenster (erster Screenshot oben)
      • Verschieben Sie das Fenster
      • Zwei oder mehr Fenster anzeigen (zweiter Screenshot oben)
    • Beenden Sie den Remmina-Client
    • Beenden Sie den x11vncServerprozess
  • Ein zweites Mal verbinden
    • Starten x0vncserver -rfbport=5901 -PasswordFile=/home/peter/.vnc/passwd -display=:0 -fgauf dem Server
    • Verbindung xtigervncviewerzum Client herstellen
    • Sehen Sie zwei oder mehr Fenster!!! Das ursprüngliche, bereits verschobene Fenster ist immer noch da. Das „Artefakt der alten Position“ bleibt bestehen (sieht aber etwas anders aus. Beachten Sie, dass sich oben rechts tatsächlich zwei überlappende Fenster befinden):

zweite VNC-Verbindung

Der Verlauf der ursprünglichen Fensterposition wird also irgendwie auf dem Server gespeichert und übersteht einen x11vncNeustart x0vncserver. Das lässt mich glauben, dass dies wirklich ein Gnome/Xorg/Compiz-Problem ist.

Bearbeiten:Zusätzliche Datenpunkte

  • Ich habe versucht, es zu installieren, gnome-session-flashbackund bei Verwendung einer Flashback-Sitzung x11vncfunktioniert es wie erwartet. Aber ich möchte es eigentlich nicht gnome-session-flashbackewig laufen lassen. Ich gehe davon aus (habe es aber nicht getestet), dass z. B. XFCE auch einwandfrei funktionieren wird.

  • Ich verwende den Open-Source- amdgpuTreiber für meine Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] [1002:67ff] (rev ff)Grafikkarte. Ich habe versucht, die proprietären AMD-Treiber zu installieren und zu verwenden, aber es hat keinen Unterschied gemacht.

  • Es funktioniert auch einwandfrei in einer virtuellen VirtualBox-Maschine, die offensichtlich nicht die AMD-Grafiktreiber verwendet.

Hat jemand so etwas schon einmal gesehen? Und weiß, wie man es behebt?

Antwort1

Es stellte sich heraus, dass dies daran lag, dass ich einen KVM-Switch verwende. Ich habe einen Desktop laufen x11vncund einen anderen (einen Laptop) mit dem VNC-Client. Jedes Mal, wenn ich den Laptop benutzte, tat ich dies, indem ich den KVM-Switch umschaltete, um den Laptop anzuzeigen.wodurch der Monitor von der laufenden Maschine getrennt wirdx11vnc.

Wenn ich den KVM-Switch am x11vnc1Rechner lasse und den VNC-Client über den Laptop-Bildschirm ausführe, ist alles in Ordnung. Sobald ich den KVM-Switch vom x11vncServer wegschalte, tritt das Problem auf.

Ich habe eingereicht:LibVNC/x11vnc#234: „x11vnc weist Anzeigeartefakte auf und arbeitet langsam, wenn der Monitor getrennt oder mit einem KVM-Switch verwendet wird.“ dafür.

Und ich habe vor, dieses Problem mit einem EDID-Emulator zu umgehen. Ich habe bestelltDieses hier. Dadurch denkt der Computer hoffentlich, dass das Display noch angeschlossen ist. Und wenn ich das nächste Mal den KVM-Switch aktualisiere, hole ich mir einen mit integriertem EDID-Emulator. Ich werde versuchen, daran zu denken, diesen Thread zu aktualisieren, wenn der EDID-Emulator eintrifft und ich ihn ausprobiert habe.

verwandte Informationen