Is there an equivalent of Windows' Remote Desktop?
I would like to be able to graphically log in to another Ubuntu machine (the server) from my Ubuntu desktop machine (the client), much like with Windows' Remote Desktop.
The "Desktop Sharing" settings that come installed by default seem to use VNC. VNC is a bit of a bandwidth hog, can only work at the resolution of whatever screen is attached to the host, requires you to log in at the machine itself, and mirrors every action on the host.
I know about X tunnelling, but that's annoying to use and doesn't always work properly (or, more accurately, some apps don't work properly).
Is there any kind of tool in between the two, similar to Remote Desktop used for Windows? Specifically, something with the following features:
- can run at a different resolution to the host screen (if there is one)
- can run at full screen
- has adjustable quality settings for different bandwidths
- doesn't require a user to be logged in locally
- saves credentials or uses SSH keys
- starts automatically on the server
- client works under Gnome 3 and Unity
- can be restricted to work with non-compositing DEs on the server (eg. XFCE)
I've been using X2go for a while, but unfortunately it no longer works fullscreen on Gnome 3 due to a couple of bugs (#1072 and #982), so if there's a better solution out there I'd like to try it.
I would recommend X2go. It's very similar to RDP and highly efficient even over low-bandwidth, high-latency connections. Clients for all systems, including a plugin for Firefox, etc. It works over ssh and integrates with PulseAudio so you can use VoIP, for instance. Read more on http://www.x2go.org
The x2go
client requires a session command to execute upon logging in. For example, to use Unity 2D, use the session command: gnome-session --session=ubuntu-2d
. This was found by looking in the file (on the host) /usr/share/xsessions/ubuntu-2d.desktop
and copying value of the Exec=...
line. If you want to use some other session, you can use the value from another file in /usr/share/xsessions/
, but it seems that anything requiring 3D acceleration will not work.
In general, xrdp
will do what you want. And is compatible with many RDP clients out there.
The drawback is that Unity, the default WM in Ubuntu, no longer supports it. I believe, although I've never tried it, that it works with GNOME.
For my personal use, I just installed MATE desktop (as it has less "flair" then GNOME) and configured Ubuntu to use that whenever remotely logging in.
See here for information on setting it up (This answer uses XFCE for remote-desktop. You may choose something else):
https://askubuntu.com/a/592544/595510
Chrome Remote Desktop BETA
★★★★½
This is a Chrome extension by google, which installs a plugin in chrome for enabling remote desktop sharing. The sharing is much simpler compared to other solutions, and is easy to setup.
Chrome Remote Desktop BETA allows users to remotely access another computer through Chrome browser or a Chromebook. Computers can be made available on an short-term basis for scenarios such as ad hoc remote support, or on a more long-term basis for remote access to your applications and files. All connections are fully secured.