RoboLab VLAB server

From techdocs
Jump to navigation Jump to search

Starting from a Desktop install of Ubuntu 20.04:

Setup XDM as the display manager (the program that displays the login screen)

apt-get install xdm

When prompted as by apt-get's post-install, configure XDM to start as default (instead of lightdm, or any other display managers)

Edit /etc/X11/xdm/Xservers:
Comment out the line for display ":0..."

Edit /etc/X11/xdm/xdm-config:
Comment out: "DisplayManager.requestPort: 0"

Edit /etc/X11/xdm/Xaccess:
Allow all hosts (uncomment-out appropriate line, though this could be better targeted to allow 127.0.0.1 only)

Note 1: the default Ubuntu desktop display manager is configured to start up a rich desktop environment with audio, animations, etc. Replacing the display manager with XDM makes the environment much simpler... and this mirrors what we already do with VLAB.

Note 2: may have to reboot after installing XDM to clean out leftover processes and configurations from the original display manager.

Install TigerVNC server

  1. Go to www.tigervnc.org navigate to the download pages
  2. Download tigervnc-1.13.1.x86_64.tar.gz
  3. Untar into /usr/local
  4. Create symlink to tigervnc in same directory

Install xvncrunner

xvncrunner is an eternal, systemd-managed service, written in Tcl, which listens on the various 59XX TCP ports and launches TigerVNC server instances with appropriate command-line parameters to suit the individual incoming connections.

apt-get install tcl tcl-thread

Copy from New World:

  • /etc/systemd/system/xvncrunner.service
  • /usr/local/infrastructure/vlab/xvncrunner(|.sh)

Make it go:

systemctl daemon-reload
systemctl enable xvncrunner
systemctl start xvncrunner

Install xfce4

apt-get install xfce4

Set up a user .xsession file to start xfce4-session (chmod 755)

Notes

Ignore:

  • systemctl set-default graphical
  • systemctl set-default multi-user