Normally, SSH will get you 90% of the way. But today I needed to access the desktop side of things in order to check some settings and well, it involved a little extra work.
What you'll need to install
- xrdp - The remote desktop server that interfaces with a bunch of different protocols (rdesktop, freerdp, and Microsoft Windows remote desktop clients)
- vino - The remote desktop server which allows you to log into your actual current desktop session.
Installation
As with most good libraries in Linux, it's been packaged for easy installation. Open up your terminal and type in:
sudo apt-get install xrdp vino
Configuration
By default, Vino asks the current user to allow remote control over the current desktop. In my case, I don't want this confirmation because it's a headless device protected by xrdp's login screen.
You'll need to perform this from the Linux desktop.
In the terminal, bring up the vino settings dialog by typing:
vino-preferences
Select "Allow other users to view your desktop" and make sure "Allow other users to control your desktop" is selected.
You'll probably also want to customise the security settings to your liking, such as unticking "You must confirm each access to this machine".
Close to save.
Once it's done, you'll need to link xrdp and vino.
vi /etc/xrdp/xrdp.ini
Now add a new entry so xrdp knows how to activate vino (localhost, port 5900)
# set empty username because VNC auth
# doesn't actually use username, so no
# point in asking the user for one.
[xrdp8]
name=Active Local Login
lib=libvnc.so
username=
password=ask
ip=127.0.0.1
port=5900
Extra step for XFCE users
That should be enough get Ubuntu up and running on Gnome. However, if you're on XFCE, you'll need to manually add vino-server to the startup scripts.
Go to "Settings" > "Sessions and startup" > "Application auto start"
Click "Add" and type in:
Name: vino-server
Description: RDP Client
Command: /usr/lib/vino/vino-server
You can either type in "vino-server &" in a terminal to start it or restart the session or computer.