vino
VNC server is no more; even though it still exists in the repositories I would not recommend it these days due to being seemingly unmaintained. First for a tiny bit of description since the issue tends to confuse new users: a VNC server is basically a full X server, just with input and output coming in from resp. going out over the network via VNC rather than from local input devices resp. local graphics adapters. This is to say that, normally, starting a VNC server starts a second and of the "main" X server independent X server; would normally be available on display :1 rather then the :0 of the standard X server. That secondary display one would need/want to configure from scratch with e.g. its own session manager or discrete set of X applications through ~/.vnc/xstartup --- but that's not what we will be doing: we will be installing a so-called "scraping" VNC server that shares the main display :0 over VNC instead.
For a desktop distribution such as Linux Mint this would tend to be more applicable to user desires even if you may want to look into the stand-alone server for e.g. graphical access to a VPS. For a scraping server Mint 19.x has a few alternatives available: x11vnc, TigerVNC and vnc4server, where the latter is based on the externally available RealVNC which is certainly also an option. We will be using vnc4server. Note that the also from the repositories available TightVNC while a fine VNC server in and of itself is/has not a scraping server so isn't applicable here.
The setup is really minimal and for those that like to access remote systems graphically rather than through e.g. SSH therefore quite convenient. Let me however immediately note that "remote" should in this preferably be considered to be within a LAN, i.e., behind a standard firewall and/or NAT-router. VNC is an old and not hugely security focussed protocol: if you'd want VNC access to your system(s) available from the internet you'd preferably set things up through an SSH tunnel which this tutorial will not go into.
Even if only to not spoil the easy and straightforward setup on a LAN: on the server, the system that is to be remotely graphically accessed, you install
Code: Select all
sudo apt-get install vnc4server
Code: Select all
sudo apt-get install xvnc4viewer
Code: Select all
sudo update-alternatives --config x0vncserver
vncserver
, vncviewer
and vncpasswd
to set your preferred ones(s) to the vnc4 ones. Alternatively use explicitly x0vnc4server
, vnc4viewer
and vnc4passwd
rather than the generic names in what follows.Starting the server without any form of authentication is easiest and done simply as, on the server,
Code: Select all
x0vncserver -SecurityTypes=none
Code: Select all
vncviewer <server>
Even on a LAN you may of course want password-based access instead, lest potentially any user on the client logs in over VNC as whichever user runs the VNC server on the server, and this is still about as easy. In that case first on the server generate a password into ~/.vnc/passwd with
Code: Select all
vncpasswd
Code: Select all
x0vncserver -PasswordFile=/home/<user>/.vnc/passwd
Code: Select all
vncviewer <server>
Code: Select all
vncviewer -passwd ~/.vnc/passwd <server>
vncpasswd
with the same password also on the client. I'd as said not make even password-based VNC available directly from the internet without tunnelling things through SSH but on a LAN, most home-user LANs certainly, this should be all there is to it. Hope this is useful.