Big Cat to the Rescue
Charly's Column – Tiger VNC
Sys admin columnist Charly enumerates the computers in his household and makes it clear that commuting between them would be an unreasonable burden on his personal energy balance. Instead he lets a tiger go the distance for him.
My powerful Linux workstation is in my study up in the attic, because its fan would unnecessarily heat up my living room. The family PC is quiet; it's in the small hobby corner along with a couple of half-finished Lego sets, a few Raspberry Pis, a laptop, and a MIDI controller, which I dabble with for relaxation. Then there are the two small test servers in the storeroom next to the kitchen where I try out software before I write about it.
SSH prevents me from burning too many calories when running between the dispersed machines. But if I want to show a host's whole desktop, then it's time for Virtual Network Computing (VNC). To access all of these machines, I recently checked out Tiger VNC [1]. On the workstation in my study, I typed the following command for quick installation:
sudo apt install tigervnc-standalone-server tigervnc-xorg-extension
In /etc/vnc.conf
, I replaced the
$vncStartup = "/etc/X11/Xvnc-session";
line with
$vncStartup = "$ENV{HOME}/.vnc/xstartup";
and saved the file from Listing 1 in the Ohm/.vnc
directory. vncpasswd
sets a VNC password, which should not be identical to that of the user. Now I can choose whether the user can only watch from a distance or actually do something.
Listing 1
xstartup
01 #!/bin/sh 02 # Start Desktop 03 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup 04 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources 05 vncconfig -iconic & 06 dbus-launch --exit-with-session gnome-session &
This completes everything on the server side. I fired up the VNC server by typing vncserver
(without sudo
; root rights are not required). It launched, but I only saw a Connection refused
when trying to connect. What's going on? The output from lsof | grep LISTEN
sheds light on the subject. The VNC server has only bound to localhost
. I stop the server with vncserver -kill
. The man page, which you only read when something goes wrong, provides the solution:
vncserver :1 -localhost no
Now the server accepts connections on all interfaces. Time to move on to the clients.
Tigers, Everywhere
I installed the Tiger VNC client on all my Linux computers by typing
sudo apt install tigervnc-viewer
The server connection is opened with:
xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /home/<charly>/.vnc/passwd <10.0.0.54>:1
Of course, you need to adapt the IP address to match your own server.
From the selection of clients [2], I tried the macOS version on the living room laptop. (My favorite audio tool is unfortunately not available for Linux.) However, the macOS Tiger doesn't convince me. Since VNC is widespread, an alternative was quickly found; Chicken [3] was swapped in as a replacement (Figure 1). Another handful of calories that I don't have to waste by moving my legs.
Infos
- Tiger VNC: https://tigervnc.org
- Tiger VNC Clients: https://bintray.com/tigervnc/stable/tigervnc/1.9.0
- Chicken: https://sourceforge.net/projects/chicken/
Buy this article as PDF
(incl. VAT)