Linux: desktop remote-control using vino-server and vinagre remote desktop client

Install remote desktop server software (vino)

The vino VNC desktop server software needs to be installed on the computer that will be controlled. In Ubuntu Linux, here are the steps to install it: First, install vino: sudo apt install vino After it is installed, set up any parameters, for example, if you will be using this over a secure network, you might want to turn off the encryption requirement and prevent it from requiring a prompt:
gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.Vino prompt-enabled false
You can start the vino server from the command-line by typing /usr/lib/vino/vino-server --display=:0.0 & Alternatively, you can have it start automatically by adding it to your auto-start list of programs. Another option is to add a file such as Vino.desktop to your ~/.config/autostart/ directory. Here is an example of what that file might look like:
[Desktop Entry]
Type=Application
Exec=/usr/lib/vino/vino-server
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[en_US]=Vino
Comment[en_US]=No description
X-GNOME-Autostart-Delay=5

Install your remote-desktop client (vinagre)

There are many options for remote-desktop clients. vinagre is a remote desktop client that has very good performance and reasonable colors. After installing the server, you can install vinagre by typing: sudo apt install vinagre An Ubuntu start menu item to initiate your remote session might have the syntax: vinagre %U Use the VNC protocol to connect to your server.

Securing the server by binding to your VPN

Beware! The vino VNC server is naturally not secured. This means that if you set this up, your desktop and much more will be exposed to anyone on your local wifi or possibly the world. If you have a secure virtual private network (VPN) (such as tinc) set up, then you can secure your VNC server by binding to the VPN network interface by setting the Vino server network-interface setting: gsettings set org.gnome.Vino network-interface examplenetworkinterface The available network interfaces can be found by looking for them with the ifconfig command. Currently active networking information can be found with netstat -tlnp After binding your vino-server to a network interface, you will need to reload the vino server.

Errors

If you are working through ssh, when running gsettings, you might get an error about failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY. This is because dbus is not running in the remote session. To overcome, preface your gsettings commands with dbus-launch .
4 / 2021