Building a Custom OS Template for Linux
DaDesktop already supports many well-known Linux distributions, but you might occasionally need one we don't currently offer. We're happy to accommodate most mainstream Linux distros—just provide the download location for the ISO file and specify which server you'd like to use for the custom OS template.
Important:
About Disk Partitioning
Custom templates need either a single partition, or two: one for EFI/Boot and the other for the system and data.
LVM partitioning is not supported, so avoid using it.
Incorrect partitioning will prevent automatic disk resizing and other features from working.
Linux Template
Once the ISO file is downloaded to the server, you can find it in your account under Admin Menu->OS IMAGES->ISO FILES.
Next, set up the template under Admin Menu->OS IMAGES->CUSTOM OS TEMPLATES
Please follow this guide carefully, and complete all the steps as otherwise full DaDesktop operation is likely not to work.
- Install the operating system
- Set both the default username and password to "student"
- Enable auto-login for the "student" account
-
Apply the DaDesktop or your own brand wallpaper
-
Many distributions now default to Wayland as the display driver. While it works with DaDesktop, we currently recommend switching back to X11.
To disable Wayland:Edit /etc/gdm/custom.conf, for example:
# Uncomment the line below to force the login screen to use Xorg WaylandEnable=falseThen log out and log back in.
-
Install spice-vdagent using your package manager (the easiest method). Depending on your distribution, it may already be present.
- After installation, reboot; you should see two processes running: spice-vdagent and spice-vdagentd.
-
- Install qemu-guest-agent, again best done via your package manager.
- Install X11VNC. Note: for certain distributions, you may need to add extra repositories—for example, the 'epel' repo for Red Hat-based systems like Oracle Linux or Rocky Linux.
-
Configure X11VNC
- Make sure X11VNC is installed.
- Run
sudo -ito open a root shell. -
Execute the command below to have X11VNC start automatically after a reboot:
cat > /etc/xdg/autostart/x11vnc.desktop <<EOF [Desktop Entry] Type=Application Exec=/usr/bin/x11vnc -N -no6 -rfbportv6 -1 -allow 10.0.3.1 -nopw -shared -alwaysshared -forever -repeat -nowireframe -noscr -nocursorshape -skip_lockkeys -cursor_drag -grab_buster -deferupdate 10 -speeds 6000,5000,20 -afteraccept announce-vnc-users.sh -gone announce-vnc-users.sh Hidden=false X-MATE-Autostart-enabled=true X-MATE-AutoRestart=true Name[en_US]=X11VNC Name=X11VNC Comment[en_US]=Share desktop over VNC Comment=Share desktop over VNC EOF
-
Set up the desktop notification script using the commands below:
cat > /usr/local/bin/announce-vnc-users.sh <<EOF notify-send -a x11vnc "VNC users connected: $RFB_CLIENT_COUNT" EOF chmod +x /usr/local/bin/announce-vnc-users.sh - Restart the machine.
-
Verify your firewall settings: TCP port 5900 must be open. For example, use
ss -pntl. - Disable the sudo password (recommended).
-
Check that everything is working correctly.
When you connect, if the URL is updated with a
tokenquery parameter, it's a sign that X11VNC is functioning properly. Additionally, the text box in the bottom-left corner—used for copying and pasting between your local desktop and the virtual machine—should also be operational.
Please Note
If you need extra optional features, such as:
- DDWebdav – to synchronise the trainer's content folders across all participant machines,
- or DDUpload – for convenient file uploads into DaDesktop machines;
please get in touch with DaDesktop Tech Support.