Building a Custom OS Template (Linux)
While DaDesktop already provides a range of popular Linux distributions, there may be times when you need a specific distro that isn't on our list. We're pleased to accommodate most mainstream Linux versions. Just let us know the download location for the ISO file, and indicate which server you'd like to host the custom OS template on.
Important:
Disk Partitioning Guidelines
1. Custom templates should use either a single partition, or two partitions: one for EFI/Boot and another for the system and data.
2. LVM partitions are not supported – please avoid using LVM.
3. An incorrect partition layout will prevent automatic disk resizing and other features from functioning correctly.
Linux Template
Once we've transferred the ISO file to the server, you'll find it under Admin Menu → OS IMAGES → ISO FILES within your account.
From there, you can prepare the template via Admin Menu → OS IMAGES → CUSTOM OS TEMPLATES
Be sure to follow this guide closely and complete every step – otherwise, full DaDesktop functionality may not work as expected.
- Install the operating system.
- Set the default username to "student" and the password to "student".
- Configure the "student" account for automatic login.
-
Apply the DaDesktop wallpaper or your own branded background
-
Some distros now default to Wayland for the display driver. Although Wayland does work within DaDesktop, for the time being we recommend switching back to X11.
Here's how 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 back in again.
-
Install spice-vdagent using your package manager – this is usually the simplest method. It may already be present depending on your distribution.
- After a successful installation, reboot the machine. You should see two processes running: spice-vdagent and spice-vdagentd.
-
- Install qemu-guest-agent, again using your package manager for the easiest setup.
- Install X11VNC. For some distros, you may need to add extra repositories – for example, the 'epel' repo on Red Hat-based systems like Oracle Linux or Rocky Linux.
-
Configure X11VNC
- Verify that X11VNC is installed.
-
Run the command
sudo -ito open a root shell. -
Execute the following command to ensure X11VNC starts 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
-
Create a desktop notification script by running the following commands:
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 - Reboot the system.
-
Check the firewall settings to make sure TCP port 5900 is open, for example:
ss -pntl - Disable the sudo password (recommended).
-
Confirm that everything works.
When you connect, if the URL changes to include a
tokenquery parameter, you're all set – this indicates X11VNC is functioning. The text box at the bottom left of the screen, used for copying and pasting between your physical desktop and the virtual one, should now be operational as well.
Please Note
To incorporate optional extras like:
- DDWebdav – enables the trainer's content folders to sync with each participant's machine,
- or DDUpload – simplifies uploading files directly into a DaDesktop environment;
Please reach out to DaDesktop Tech Support.