GNOME
GNOME is the most used session manager for workstations and desktop. It provides a good balance between performance and UI experience. GNOME with GDM (display manager) is also the most popular environment for DCV users, with excellent stability and compatibility with advanced 3d rendering applications.
RedHat and Ubuntu Linux based distributions
We recommend to use our script under our github. Click here to check.
The script is compatible with most used Linux versions based in RedHat or Ubuntu. You can check in our github the full list.
You can setup without GPU support, or with NVIDIA or AMD support:
bash DCV_Installer.sh --without-interaction --dcv_server_install=true
bash DCV_Installer.sh --without-interaction --dcv_server_install=true --dcv_server_gpu_nvidia=true
bash DCV_Installer.sh --without-interaction --dcv_server_install=true --dcv_server_gpu_amd=true
The installation will be automatic.
KDE
We have a lot of success cases using DCV over KDE Plasma environment.
RedHat stopped to officialy support KDE since EL8, but with third repositories we can achieve KDE environments under Rocky, Alma and Oracle Linux. As Ubuntu still offer KDE as a supported option, this is an excellent option when Ubuntu is possible.
Here we describe some tweaks to install (from scratch) and improve your KDE environment to get the best DCV experience.
Important notes:
- Is possible to run GDM (display manager) and KDE, but as GNOME not officialy supports KDE, we strongly recommend to use SDDM, the usual display manager for KDE.
- You need to use X11 instead of Wayland.
Ubuntu 24
Relevant notes:
- This tutorial was made and tested for Ubuntu 24, but you can expect same or very similar configuration with other versions and Ubuntu based distros.
- This tutorial was tested with DCV console and virtual types.
- If you will not use GPU, avoid to setup dcv-gl packages.
- Setup Ubuntu server 24.04.
- sudo apt-get update
- sudo apt-get -y upgrade
- sudo apt-get -y install kubuntu-desktop
- Download DCV Server and install all packages: https://www.ni-sp.com/dcv-download/
sudo apt-get install ./*.deb
Use apt-get to setup the .deb files. If you have dependencies issues, execute the command below and install the .deb files again. Do not setup DCV GL packages if you will not use GPU.
sudoapt --fix-broken install
- Edit, or create, the file
/etc/sddm.conf
and set:[General]
DisplayServer=x11
[X11]
DisplayCommand=/usr/share/sddm/scripts/Xsetup sudo dpkg-reconfigure sddm
sudo systemctl daemon-reload
sudo systemctl enable --now sddm
sudo systemctl enable --now dcvserver
- Create the directory:
sudomkdir -p /run/user/$(id -u sddm)
sudo chown sddm:sddm /run/user/$(id -u sddm)
sudo chmod 700 /run/user/$(id -u sddm) - Edit the file
/usr/share/sddm/scripts/Xsetup
and add in the first lines:#!/usr/bin/sh
# Xsetup - run as root before the login dialog appears
# BEGIN-DCV
if (! command -v dcvgladmin || ! dcvgladmin status) > /dev/nullthen
dcvxgrantaccess +dcv
else
dcvxgrantaccess
fi
xhost +si:localuser:sddm
killall -u sddm dcvagentlauncher
XAUTHORITY="" XDG_RUNTIME_DIR=/run/user/$(id -u sddm) /sbin/runuser -u sddm /usr/lib/x86_64-linux-gnu/dcv/dcvxdgagentlauncher &
# END-DCV sudo systemctl restart sddm dcvserver
Final notes:
- If login is not working, make sure that users have home directory created.
- You need to use x11 instead of Wayland.
Rocky 9
Relevant notes:
- This tutorial was made and tested in Rocky 9, but you can expect same or very similar configuration with other versions (except 7) and other RedHat based distros (Oracle, Alma Linux etc).
- This tutorial was tested with DCV console and virtual types.
- If you will not use GPU, avoid to setup dcv-gl packages.
- Setup Rocky 9 or other EL9 environment
sudo dnf -y update
sudo dnf -y install epel-release
sudo dnf config-manager --set-enabled crb
sudo dnf --enablerepo=epel group -y install "KDE Plasma Workspaces" "base-x"
- Edit, or create, the file
/etc/sddm.conf
and set:[General]
DisplayServer=x11
[X11]
SessionDir=/usr/share/xsessions
DisplayCommand=/etc/sddm/Xsetup sudo systemctl set-default graphical
sudo systemctl start graphical.target
- Download DCV Server and install all packages: https://www.ni-sp.com/dcv-download/
Install the .rpm files using dnf. Do not setup DCV GL packages if you will not use GPU.dnf install ./*.rpm
sudo systemctl enable --now sddm dcvserver
- Create the directory:
sudo mkdir -p /run/user/$(id -u sddm)
sudo chown sddm:sddm /run/user/$(id -u sddm)
sudo chmod 700 /run/user/$(id -u sddm) - Edit the file
/etc/sddm/Xsetup
and add (or complete the missing parts):#!/usr/bin/sh
# Xsetup - run as root before the login dialog appears
# BEGIN-DCV
if (! command -v dcvgladmin || ! dcvgladmin status) > /dev/nullthen
dcvxgrantaccess +dcv
else
dcvxgrantaccess
fi
xhost +si:localuser:sddm
killall -u sddm dcvagentlauncher
XAUTHORITY="" XDG_RUNTIME_DIR=/run/user/$(id -u sddm) /sbin/runuser -u sddm /usr/libexec/dcv/dcvxdgagentlauncher &
export KWIN_COMPOSE=O2ES# END-DCV
- Create the file
/usr/share/xsessions/plasma-dcv.desktop
with the content:[Desktop Entry]
Name=Plasma (DCV)
Comment=DCV KDE Plasma
Exec=/usr/bin/dbus-launch --exit-with-session /usr/bin/startplasma-x11
TryExec=/usr/bin/startplasma-x11
Type=XSession
X-Flatpak=false - Backup and move out any other .desktop from
/usr/share/xsessions/
to avoid users selecting not compatible xsessions. sudo systemctl restart sddm dcvserver
MATE
Here are the steps to get a complete environment running MATE environment.
Rocky 9
sudo dnf -y update
sudo dnf config-manager --set-enabled crb
sudo dnf install -y epel-release
sudo dnf install -y NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk mate-utils
sudo dnf install -y xorg-x11-server-Xorg xorg-x11-drivers xorg-x11-utils xorg-x11-xinit plymouth
sudo dnf install -y lightdm-settings lightdm
sudo systemctl set-default graphical.target
- Download DCV Server and install all packages: https://www.ni-sp.com/dcv-download/
Install the .rpm files using dnf. Do not setup DCV GL packages if you will not use GPU.dnf install ./*.rpm
sudo systemctl enable --now dcvserver
CINNAMON
Rocky 8, Using Lightdm
sudo dnf -y update
sudo dnf install -y epel-release
sudo dnf config-manager --set-enabled crb
sudo dnf install -y lightdm lightdm-settings slick-greeter-cinnamon
sudo dnf install -y cinnamon
Rocky 9, using GDM
sudo dnf -y update
sudo dnf install -y epel-release
sudo dnf config-manager --set-enabled crb
sudo dnf install -y cinnamon
sudo dnf install -y gdm tar
- Download DCV Server and install all packages: https://www.ni-sp.com/dcv-download/
Install the .rpm files using dnf. Do not setup DCV GL packages if you will not use GPU.dnf install ./*.rpm
- Create the file
/etc/xdg/autostart/dcvagentlauncher.desktop
with the content:[Desktop Entry]
Version=2024.0.18131
Name=DCV Agent Launcher
Comment=Start the DCV Agent Launcher
Exec=/usr/libexec/dcv/dcvxdgagentlauncher
Terminal=false
Type=Application
Categories=
GenericName=
X-GNOME-Autostart-Phase=WindowManager
X-KDE-autostart-phase=1
NoDisplay=true - Edit the file
/etc/gdm/Init/Default
and check if you have the code below. If not, add in the second line:## BEGIN-DCV
if (! command -v dcvgladmin || ! dcvgladmin status) > /dev/null
then
dcvxgrantaccess +dcv
else
dcvxgrantaccess
fi
## END-DCV sudo systemctl enable --now gdm
sudo systemctl set-default graphical.target
- Edit the file
/etc/gdm/custom.conf
and set:[daemon]
WaylandEnable=false
DefaultSession=cinnamon.desktop sudo -u gdm dbus-launch gsettings set org.gnome.desktop.session session-name "cinnamon"
sudo systemctl enable --now dcvserver
- If you do not need to provide GNOME session environment, please baclup the files and remove:
mv /usr/share/xsessions/gnome* /root/
rm -f /usr/share/xsessions/gnome* - Create the file
/usr/share/gnome-session/sessions/cinnamon.session
and add:[GNOME Session]
Name=Cinnamon
RequiredComponents=cinnamon;cinnamon-settings-daemon;
FallbackSession=cinnamon2d
DesktopName=X-Cinnamon sudo systemctl restart gdm
WINDOWMAKER
Here you can learn how to use WindowMaker with DCV.
Compiling WindowMaker
Rocky 9
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y libXft-devel libXinerama-devel libXpm-devel libXrandr-devel libjpeg-devel giflib-devel
wget https://github.com/window-maker/wmaker/releases/download/wmaker-0.96.0/WindowMaker-0.96.0.tar.gz
tar -xzf WindowMaker-0.96.0.tar.gz
cd WindowMaker-0.96.0
./configure
make
sudo make install
Ubuntu 24
sudo apt-get update
sudo apt-get -y install build-essential autoconf automake libtool pkg-config
sudo apt-get -y install libxft-dev libxinerama-dev libxrandr-dev libxpm-dev libjpeg-dev libgif-dev libpng-dev libdbus-1-dev libfontconfig1-dev
wget https://github.com/window-maker/wmaker/releases/download/wmaker-0.96.0/WindowMaker-0.96.0.tar.gz
tar -xzf WindowMaker-0.96.0.tar.gz
cd WindowMaker-0.96.0
./configure
make
sudo make install
Configuring Ubuntu 24 with GDM
Install the packages:
sudo apt update
sudo apt -y install gdm3 wmaker
sudo dpkg-reconfigure gdm3
Download DCV Server and install all packages: https://www.ni-sp.com/dcv-download/
Install the .rpm files using dnf. Do not setup DCV GL packages if you will not use GPU.
dnf install ./*.rpm
You need to create a .desktop file that will provide WindowMaker as an option for GDM and then a script that will start the WindowMaker.
Create the file /usr/share/gnome-session/sessions/windowmaker.session
with the content:
[GNOME Session]
Name=Window Maker
RequiredComponents=windowmaker;
Also create the file /usr/share/xsessions/windowmaker.desktop
with the content:
[Desktop Entry]
Name=Window Maker
Comment=Window Maker window manager
Exec=/usr/bin/wmaker
Type=Application
Finally, restart GDM:
sudo systemctl restart gdm
Configuring Rocky 9 with GDM
Install the packages:
sudo dnf install -y gdm
sudo systemctl enable --now gdm
sudo systemctl set-default graphical.target
Create the file /usr/share/gnome-session/sessions/windowmaker.session
with the content:
[GNOME Session]
Name=Window Maker
RequiredComponents=windowmaker;
Also create the file /usr/share/xsessions/windowmaker.desktop
with the content:
[Desktop Entry]
Name=Window Maker
Comment=Window Maker window manager
Exec=/usr/local/bin/wmaker
Type=Application
Edit the /etc/gdm/custom.conf and set:
[daemon]
WaylandEnable=false
Finally, restart GDM:
sudo systemctl restart gdm
Download DCV Server and install all packages: https://www.ni-sp.com/dcv-download/
sudo apt-get install ./*.deb
Use apt-get to setup the .deb files. If you have dependencies issues, execute the command below and install the .deb files again. Do not setup DCV GL packages if you will not use GPU.
sudo apt --fix-broken install
Then start DCV server:
sudo systemctl enable --now dcvserver
Using custom script (any display manager)
If you want to start WindowMaker by a customized script, then you need to add this code before start WindowMaker:
# set dbus session if does not exist
if [ ! "$DBUS_SESSION_BUS_ADDRESS" ]
then
exec dbus-run-session -- "$0" "$@"
fi
# launch the dcv agent launcher
/usr/libexec/dcv/dcvxdgagentlauncher &
# execute the windowmaker binary
/usr/local/bin/wmaker
Note: /usr/local/bin/wmaker is just an example of one possible binary path of WindowMaker.