I'd like to be able to login to my remote Ubuntu 22.04 and see the Desktop as shown on that machine. (I know how to create a vncserver
with a separate desktop instance). I have separate problems with the built-in Remote Desktop, so this is specifically about x11vnc
and x0vncserver
.
They have worked fine for me for years on 18.04 under Xfce.
Now on 22.04, they fail in similar ways, so I suspect this is really a Gnome or Xorg (or - is Compiz even a thing any more?) problem. This suspicion is made stronger by the fact that it works fine using gnome-session-flashback
.
I have fiddled with many options for both x11vnc
and x0vncserver
, but my problem remains.
Short version: When I move a window, I see both the original window in its original position and the window in the new position. And perhaps a window or two in the path that the window was moved. E.g. here I started with a single terminal:
Then I moved the window:
Only the bottom-right one is interactive...
Now the trick... If I stop both the client and the vnc server, and start different client and vncservers, the move artifacts remain. Here is a reproduction recipe (here, "client" is the Debian machine running the vnc client, "server" is the Ubuntu 22.04 machine running a vnc server):
- Start with a freshly rebooted server.
- Connect the first time
- Start
x11vnc -usepw -display :0 -forever -rfbport 5901
on the server - Connect with Remmina from the client
- In the vnc client:
- See one window (first screenshot above)
- Move the window
- See two or more windows (second screenshot above)
- Kill the Remmina client
- Kill the
x11vnc
server process
- Start
- Connect a second time
- Start
x0vncserver -rfbport=5901 -PasswordFile=/home/peter/.vnc/passwd -display=:0 -fg
on the server - Connect with
xtigervncviewer
to the client - See two or more windows!!! The original already-moved window is still there. The "old position artifact" remains (but looks a little different notice that top-right is actually two overlapping windows):
- Start
So somehow the history of the original window position is stored on the server and survives an x11vnc
/x0vncserver
restart. Which leads me to believe that this really is a Gnome/Xorg/Compiz problem.
Edit: Additional data points
I tried installing
gnome-session-flashback
and when using a flashback sessionx11vnc
works as I expect. But I don't actually want to rungnome-session-flashback
forever. I expect (but haven't tested) that e.g. XFCE will work fine too.I'm using the open source
amdgpu
driver for myAdvanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] [1002:67ff] (rev ff)
graphcis card. I tried installing and using the AMD proprietary drivers, and it made no difference.It also works fine in a VirtualBox virtual machine, that obviously doesn't use the AMD graphics drivers.
Has anybody seen something like this before? And knows how to fix it?