Por que x11vnc e x0vncserver falham de maneira semelhante no Gnome Ubuntu 22.04?

Por que x11vnc e x0vncserver falham de maneira semelhante no Gnome Ubuntu 22.04?

Gostaria de poder fazer login no meu Ubuntu 22.04 remoto e ver a área de trabalhocomo mostrado naquela máquina. (Eu sei como criar uma vncserverinstância de desktop separada). Tenho problemas separados com a Área de Trabalho Remota integrada, portanto, trata-se especificamente de x11vnce x0vncserver.

Eles funcionaram bem para mim durante anos no 18.04 no Xfce.

Agora, em 22.04, eles falham de maneira semelhante, então suspeito que isso seja realmente um problema do Gnome ou do Xorg (ou - o Compiz ainda existe?). Essa suspeita é reforçada pelo fato de que funciona bem usandognome-session-flashback.

Eu brinquei com muitas opções para ambos x11vnce x0vncserver, mas meu problema permanece.

Versão resumida: quando movo uma janela, vejo a janela original em sua posição original e a janela na nova posição. E talvez uma ou duas janelas no caminho em que a janela foi movida. Por exemplo, aqui comecei com um único terminal:

janela única original

Então mudei a janela:

Janela movida

Apenas o canto inferior direito é interativo...

Agora o truque... Se eu parar o cliente e o servidor vnc e iniciar clientes e servidores vnc diferentes, os artefatos de movimentação permanecerão. Aqui está uma receita de reprodução (aqui, “cliente” é a máquina Debian executando o cliente vnc, “servidor” é a máquina Ubuntu 22.04 executando um servidor vnc):

  • Comece com um servidor recém-reinicializado.
  • Conecte pela primeira vez
    • Comece x11vnc -usepw -display :0 -forever -rfbport 5901no servidor
    • Conecte-se com Remmina do cliente
    • No cliente vnc:
      • Veja uma janela (primeira imagem acima)
      • Mova a janela
      • Veja duas ou mais janelas (segunda imagem acima)
    • Mate o cliente Remmina
    • Mate o x11vncprocesso do servidor
  • Conecte uma segunda vez
    • Comece x0vncserver -rfbport=5901 -PasswordFile=/home/peter/.vnc/passwd -display=:0 -fgno servidor
    • Conecte-se com xtigervncviewero cliente
    • Veja duas ou mais janelas!!! A janela original já movida ainda está lá. O "artefato de posição antiga" permanece (mas parece um pouco diferente, observe que o canto superior direito são na verdade duas janelas sobrepostas):

segunda conexão vnc

Então, de alguma forma, o histórico da posição original da janela é armazenado no servidor e sobrevive a uma reinicialização x11vnc/ x0vncserverreinicialização. O que me leva a acreditar que este é realmente um problema do Gnome/Xorg/Compiz.

Editar:Pontos de dados adicionais

  • Tentei instalar gnome-session-flashbacke ao usar uma sessão de flashback x11vncfunciona como esperado. Mas na verdade não quero correr gnome-session-flashbackpara sempre. Espero (mas não testei) que, por exemplo, o XFCE também funcione bem.

  • Estou usando o amdgpudriver de código aberto para minha Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] [1002:67ff] (rev ff)placa gráfica. Tentei instalar e usar os drivers proprietários da AMD e não fez diferença.

  • Também funciona bem em uma máquina virtual VirtualBox, que obviamente não usa drivers gráficos AMD.

Alguém já viu algo assim antes? E sabe como consertar isso?

Responder1

Acontece que isso ocorreu porque estou usando um switch KVM. Tenho um desktop rodando x11vnce outro (um laptop) com o cliente VNC. Cada vez que usei o laptop, mudei o switch KVM para mostrar o laptop,que desconecta o monitor da máquina em funcionamentox11vnc.

Se eu deixar o switch KVM na x11vnc1máquina e usar a tela do laptop para executar o cliente VNC, tudo estará bem. Assim que eu desligo o switch KVM do x11vncservidor, o problema aparece.

Eu arquivei:LibVNC/x11vnc#234: "x11vnc possui artefatos de exibição e funciona lentamente se o monitor for desconectado ou usado com um switch KVM." por esta.

E pretendo solucionar esse problema com um emulador EDID. eu encomendeiEste. Esperamos que isso permita que o computador pense que a tela ainda está conectada. E da próxima vez que eu atualizar o switch KVM, compre um com um emulador EDID integrado. Tentarei me lembrar de atualizar este tópico quando o emulador EDID chegar e eu experimentar.

informação relacionada