I mistakenly answered the question in the question section above. Copying the answer here...
Finally, after reading a few articles, I figured out the best possible solution:
- As Vino (Desktop Sharing) has issues, just don't use it.
- Access Ubuntu Software Center
- Search for vnc server
- x11vnc server turns up as the top rated server, install it.
- Enable/Disable SSL encryption, Listening on LocalHost or file
transfer as the need be.
- Use a VNC client of choice on Windows and connect.
(I enabled SSL but my vnc viewer opens an unencrypted connection for some reason.)
Use ssvnc on Windows to fix this problem. I found this link helpful. Note v1.0.29 probably has a virus or a spyware (Firefox or Antivirus blocks it) use the earlier version.
The steps you mentioned that you have performed would be specific if you were on the same network or connecting to a remote machine with it's IP exposed with no firewalls.
If the host machine (as in almost all cases) is connected to a router and have a provide IP you would have to perform port forwarding to the computer you want to connect to. The router port to forward is 5900 TCP. You'll also have to ensure you have not blocked port 5900 though the host's firewall. Also ensure to allow connection from the client's IP via /etc/hosts.allow
.
Summary of client's access to the server:
1) Port forwared to the host IP in the routher (tcp 5900)
2) Firewall's port 5900 open
3) Access granted to the client's IP address via /etc/hosts.allow
/etc/hosts.allow:
# /etc/hosts.allow: list of hosts that are allowed to access the system.
# See the manual pages hosts_access(5) and hosts_options(5).
#
# Example: ALL: LOCAL @some_netgroup
# ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "rpcbind" for the
# daemon name. See rpcbind(8) and rpc.mountd(8) for further information.
#
ALL: [remote desktop client's ip here]
You mentioned Ubuntu's default Desktop Sharing. That is the one I'm addressing. It doesn't use rdp
so you can leave that protocol along. Just concentrate on the VNC capable clients. The Remmina Remote Desktop Client
will work. Just make sure you have it set for VNC and not the other choices.
You have already specified port 22 (ssh
) is working which means that port is forwarded. Now the same way you setup and tested ssh
, you will have to do the same thing with port 5900
, for vnc
.
You have already specified what you need in the Vino configuration which is:
1. Allow other users to view your Desktop (Checkmark)
2. Allow other users to control your Desktop (Checkmark)
3. You must confirm (No Check mark)
4. Require the user to enter password (optional)
5. Automatically configure UpNp router (optional)
6. Show Notification area icon (optional)
Only three settings (highlighted in bold) is required for the connection. The other items are optional.
Just set the above configuration, close and connect with a VNC
enabled client.
While the Remmina
client will work, I used vinagre to test and prepare thses steps.
Best Answer
I also had faced this issue. I just installed vino and it solved my problem
Now I can see Screen Sharing option in Ubuntu Server 20.04 LTS