¿Por qué tanto x11vnc como x0vncserver fallan de manera similar en Gnome Ubuntu 22.04?

¿Por qué tanto x11vnc como x0vncserver fallan de manera similar en Gnome Ubuntu 22.04?

Me gustaría poder iniciar sesión en mi Ubuntu 22.04 remoto y ver el escritoriocomo se muestra en esa máquina. (Sé cómo crear una vncserverinstancia de escritorio separada). Tengo problemas separados con el Escritorio remoto integrado, por lo que esto se trata específicamente de x11vncy x0vncserver.

Me han funcionado bien durante años en 18.04 bajo Xfce.

Ahora, en 22.04, fallan de manera similar, por lo que sospecho que esto es realmente un problema de Gnome o Xorg (o, ¿Compiz ya existe?). Esta sospecha se ve reforzada por el hecho de que funciona bien usandognome-session-flashback.

He jugueteado con muchas opciones para ambos x11vncy x0vncserver, pero mi problema persiste.

Versión corta: cuando muevo una ventana, veo tanto la ventana original en su posición original como la ventana en la nueva posición. Y tal vez una o dos ventanas en la ruta en la que se movió la ventana. Por ejemplo, aquí comencé con una sola terminal:

ventana única original

Luego moví la ventana:

Ventana movida

Sólo el de abajo a la derecha es interactivo...

Ahora el truco... Si detengo tanto el cliente como el servidor vnc, e inicio diferentes clientes y servidores vnc, los artefactos de movimiento permanecen. Aquí hay una receta de reproducción (aquí, "cliente" es la máquina Debian que ejecuta el cliente vnc, "servidor" es la máquina Ubuntu 22.04 que ejecuta un servidor vnc):

  • Comience con un servidor recién reiniciado.
  • Conéctate la primera vez
    • Iniciar x11vnc -usepw -display :0 -forever -rfbport 5901en el servidor
    • Conéctate con Remmina del cliente.
    • En el cliente vnc:
      • Ver una ventana (primera captura de pantalla arriba)
      • mover la ventana
      • Ver dos o más ventanas (segunda captura de pantalla arriba)
    • Mata al cliente Remmina
    • Mata el x11vncproceso del servidor
  • Conéctate por segunda vez
    • Iniciar x0vncserver -rfbport=5901 -PasswordFile=/home/peter/.vnc/passwd -display=:0 -fgen el servidor
    • Conectar con xtigervncviewerel cliente
    • ¡¡¡Vea dos o más ventanas!!! La ventana original ya movida todavía está allí. El "artefacto de posición anterior" permanece (pero se ve un poco diferente; en la parte superior derecha hay dos ventanas superpuestas):

segunda conexión vnc

Entonces, de alguna manera, el historial de la posición original de la ventana se almacena en el servidor y sobrevive a un x11vncreinicio x0vncserver. Lo que me lleva a creer que esto realmente es un problema de Gnome/Xorg/Compiz.

Editar:Puntos de datos adicionales

  • Intenté instalar gnome-session-flashbacky cuando uso una sesión de flashback x11vncfunciona como esperaba. Pero en realidad no quiero correr gnome-session-flashbackpara siempre. Espero (pero no lo he probado) que, por ejemplo, XFCE también funcione bien.

  • Estoy usando el amdgpucontrolador de código abierto para mi Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] [1002:67ff] (rev ff)tarjeta Graphcis. Intenté instalar y utilizar los controladores propietarios de AMD y no hubo diferencia.

  • También funciona bien en una máquina virtual VirtualBox, que obviamente no utiliza los controladores de gráficos AMD.

¿Alguien ha visto algo como esto antes? ¿Y sabe cómo solucionarlo?

Respuesta1

Resulta que esto se debió a que estoy usando un conmutador KVM. Tengo una computadora de escritorio ejecutándose x11vncy otra (una computadora portátil) con el cliente VNC. Cada vez que usaba la computadora portátil, lo hacía cambiando el conmutador KVM para mostrar la computadora portátil,que desconecta el monitor de la máquina en funcionamientox11vnc.

Si dejo el conmutador KVM en la x11vnc1máquina y uso la pantalla de la computadora portátil para ejecutar el cliente VNC, todo está bien. Tan pronto como alejo el conmutador KVM del x11vncservidor, aparece el problema.

He presentado:LibVNC/x11vnc#234: "x11vnc tiene artefactos en la pantalla y funciona lentamente si el monitor está desconectado o se usa con un conmutador KVM". para esto.

Y planeo solucionar este problema con un emulador EDID. he ordenadoÉste. Con suerte, le permitirá a la computadora pensar que la pantalla todavía está conectada. Y luego, la próxima vez que actualice el conmutador KVM, conseguiré uno con un emulador EDID incorporado. Intentaré recordar actualizar este hilo cuando llegue el emulador EDID y lo haya probado.

información relacionada