This is an old revision of the document!
Setup VNC Server
For 18.04 I decided to go with TigerVNC according to Linuxize How to Install and Configure VNC on Ubuntu 18.04. The main difference is that I can not be bothered using a secure link in my home private network. So to allow a direct connection add -localhost no
to the TigerVNC command line to allow direct connection, see GitHub TigerVNC notes unable to connect to socket: Connection refused(10061) #117
The basic set up is given in have the know how Ubuntu Sever install VNC, with more detailed startup details given in Ubuntu Server: How to run VNC on startup.
I prefer a full xfce desktop to a cut down gnome one, so I installed it instead, see How to Install and Configure VNC on Ubuntu 16.04 from Digitalocean.
A concise setup is here VNC server on Ubuntu 18.04 Bionic Beaver Linux.
I basically follow the Have the know how instructions, but instead of sudo apt install gnome-core
, use sudo apt install xfce4 xfce4-goodies
. I have been using vnc4server, not tightvncserver. Also in ~/.vnc/xstartup, only:
#!/bin/bash unset SESSION_MANAGER startxfce4 &
(Basically the startxfce4 &, instead of metacity &, gnome-settings-daemon &, gnome-panel &)
The xfce screen-saver seems to default on and use significant system resources, and is basically unnecessary on a headless server. To disable perform the following:
- In the xfce desktop go to the
Applications Menu > Settings > Screensaver
and disabled the screensaver, then from theFile
menu choseKill Daemon
. - Then go to the
Applications Menu > Settings > Session and Startup
and uncheckedScreensaver (launch screensaver and locker program)
in theApplication Autostart
tab.
(The xfce screensavers actually look quite nice, and may make sense on a standard desktop install.)
The xfce default shell seems to be sh (/bin/sh), I prefer bash (/bin/bash). To check the current shell, type: echo $SHELL
. To use bash simply type bash
. To make permanent add the line exec /bin/bash
to the end of vim ~/.profile
. You will need to restart VNCserver for this to take effect.
Some other important tips:
*To start server vncserver -geometry 2200×1340
. (I have 2 preferred geometries, one for smaller screens (1880×1040) and one for larger (2200×1340))
*To stop server “vncserver -kill :1” or :2
*The server log files are stored in ~/.vnc, less ~/.vnc/KPTreeServer:1.log
or :2. (A log files may contain a number of errors and warnings, however this does not necessarily mean the vncserver will not operate correctly.)
*The .pid files in ~/.vnc generally show which vnc are currently running, performance can be checked by viewing the log file. The running vnc server process(es) can also be checked with the command ps -A | grep vnc
*The vncserver startup configuration file: vim ~/.vnc/xstartup
*I set up cron to run the following script at boot: vim ~/Myscripts/StartVNC.sh
, StartVNC.sh:
#!/bin/sh /usr/bin/vncserver -geometry 1880x1020 /usr/bin/vncserver -geometry 2350x1335
*The cron script statement is /home/homedirectory/Myscripts/StartVNC.sh >/dev/null 2>&1
(I elected not to use the systemd setup described in the Digitalocean set instructions as I normally run 2 vncservers with different geometries to allow better performance on tablet/laptop/desktop computers.)
Some preferred graphical programs:
- Synaptic package manager - a graphical package manager; package: synaptic (To use:
gksudo synaptic &
, will only work with root privileges.) - Virtual machine manager - a graphical virtual machine manager; package: virt-manager
- XnView - a photo display manipulation program
- Byobu - a fancy terminal; package byobu
- Gnome file manager; package: nautilus. (CLI:
gksudo nautilus &
, but be very careful if using in root…) - Gnome disk utility; package: gnome-disk-utility. (CLI:
gksudo gnome-disk &
, but be care if using in root…) - Gnome disk usage utility; package: boabab. (CLI: boabab &)