How do I install GUI (graphical desktop) on Amazon EC2 instances running SUSE Linux Enterprise Server 15 (SLES 15)?
Steps to install desktop environment, desktop manager and and Amazon DCV high performance remote display protocol server on SUSE Linux Enterprise Server 15 (SLES 15)
Notice
Your use of DCV is subject to DCV end user license agreement
Supported OS versions
The following version is supported by Amazon DCV server
- SUSE Linux Enterprise Server 15 with SP5 (x86_64)
64-bit ARM (arm64) architecture is not supported
System Requirements and Prerequisites
- EC2 instance with 2 GiB or more memory
- Attached security group allows inbound TCP and UDP port
8443
from your IP - More than 3 GB free disk space to install graphical desktop components and DCV server
- Attached EC2 IAM role with the below policy. Replace
region
with your instance AWS Region code
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::dcv-license.region/*"
}
]
}
Install desktop environment and desktop manager
Install GNOME desktop and set gdm as the default desktop manager
sudo zypper install -y -t pattern gnome_basic
sudo update-alternatives --set default-displaymanager /usr/lib/X11/displaymanagers/gdm
sudo sed -i "s/DEFAULT_WM=\"\"/DEFAULT_WM=\"gnome\"/" /etc/sysconfig/windowmanager
Install DCV server
Install DCV server, web client and virtual session support, and enable server daemon
cd /tmp
sudo rpm --import https://d1uj6qtbmh3dt5.cloudfront.net/NICE-GPG-KEY
curl -L -O https://d1uj6qtbmh3dt5.cloudfront.net/nice-dcv-sles15-x86_64.tgz
tar -xzf nice-dcv-sles15-x86_64.tgz && cd nice-dcv-*-sles15-x86_64
sudo zypper install -y ./nice-dcv-server-*.rpm
sudo zypper install -y ./nice-dcv-web-viewer-*.rpm
sudo zypper install -y ./nice-xdcv-*.rpm
sudo usermod -a -G video dcv
sudo systemctl enable dcvserver
Configure DCV server
Configure console session, enable session storage and QUIC transport protocol
sudo sed -i "/^\[session-management\/automatic-console-session/a owner=\"ec2-user\"\nstorage-root=\"%home%\"" /etc/dcv/dcv.conf
sudo sed -i "s/^#create-session/create-session/g" /etc/dcv/dcv.conf
sudo sed -i "s/^#enable-quic-frontend=true/enable-quic-frontend=true/g" /etc/dcv/dcv.conf
GPU instance
If you are using a GPU instance, install and configure GPU drivers
Non GPU instance
For other instance types, install and configure XDummy driver
sudo zypper install -y xf86-video-dummy
sudo tee /etc/X11/xorg.conf > /dev/null << EOF
Section "Device"
Identifier "DummyDevice"
Driver "dummy"
Option "UseEDID" "false"
VideoRam 512000
EndSection
Section "Monitor"
Identifier "DummyMonitor"
HorizSync 5.0 - 1000.0
VertRefresh 5.0 - 200.0
Option "ReducedBlanking"
EndSection
Section "Screen"
Identifier "DummyScreen"
Device "DummyDevice"
Monitor "DummyMonitor"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Virtual 4096 2160
EndSubSection
EndSection
EOF
Open firewall ports
Open firewall ports
sudo firewall-offline-cmd --add-port 8443/tcp
sudo firewall-offline-cmd --add-port 8443/udp
Restart X server and DCV server
sudo systemctl isolate multi-user.target && sudo systemctl isolate graphical.target
sudo systemctl stop dcvserver && sudo systemctl start dcvserver
Access graphical desktop environment
Set user password
Specify a strong password for login user
sudo passwd ec2-user
Clients
DCV offers Windows, Linux, macOS and web browser clients.
HTML 5 client for web browser access is at https://<EC2-IP>
:8443 (where <EC2-IP>
is your EC2 instance IP address).
Native clients supports QUIC and can be downloaded from https://www.amazondcv.com/
Login as ec2-user
with your configured password
Web browser client
Install on EC2 launch
To automate install when launching a new EC2 instance, you can use the below user data script.
#!/bin/bash
sudo zypper install -y -t pattern gnome_basic
sudo update-alternatives --set default-displaymanager /usr/lib/X11/displaymanagers/gdm
sudo sed -i "s/DEFAULT_WM=\"\"/DEFAULT_WM=\"gnome\"/" /etc/sysconfig/windowmanager
cd /tmp
sudo rpm --import https://d1uj6qtbmh3dt5.cloudfront.net/NICE-GPG-KEY
curl -L -O https://d1uj6qtbmh3dt5.cloudfront.net/nice-dcv-sles15-x86_64.tgz
tar -xzf nice-dcv-sles15-x86_64.tgz && cd nice-dcv-*-sles15-x86_64
sudo zypper install -y ./nice-dcv-server-*.rpm
sudo zypper install -y ./nice-dcv-web-viewer-*.rpm
sudo zypper install -y ./nice-xdcv-*.rpm
sudo usermod -a -G video dcv
sudo systemctl enable dcvserver
sudo sed -i "/^\[session-management\/automatic-console-session/a owner=\"ec2-user\"\nstorage-root=\"%home%\"" /etc/dcv/dcv.conf
sudo sed -i "s/^#create-session/create-session/g" /etc/dcv/dcv.conf
sudo sed -i "s/^#enable-quic-frontend=true/enable-quic-frontend=true/g" /etc/dcv/dcv.conf
sudo zypper install -y xf86-video-dummy
sudo tee /etc/X11/xorg.conf > /dev/null << EOF
Section "Device"
Identifier "DummyDevice"
Driver "dummy"
Option "UseEDID" "false"
VideoRam 512000
EndSection
Section "Monitor"
Identifier "DummyMonitor"
HorizSync 5.0 - 1000.0
VertRefresh 5.0 - 200.0
Option "ReducedBlanking"
EndSection
Section "Screen"
Identifier "DummyScreen"
Device "DummyDevice"
Monitor "DummyMonitor"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Virtual 4096 2160
EndSubSection
EndSection
EOF
sudo firewall-offline-cmd --add-port 8443/tcp
sudo firewall-offline-cmd --add-port 8443/udp
sudo systemctl isolate multi-user.target && sudo systemctl isolate graphical.target
sudo systemctl stop dcvserver && sudo systemctl start dcvserver
Set ec2-user
password after installation is compete
CloudFormation template
To quickly get up and running with DCV for internal testing, you can use CloudFormation template at DCV CloudFormation page and aws-samples - Github
Additional information
Refer to DCV documentation site
Relevant content
- asked 2 years agolg...
- asked a year agolg...
- AWS OFFICIALUpdated 4 months ago
- AWS OFFICIALUpdated 4 months ago
- AWS OFFICIALUpdated 3 months ago
- AWS OFFICIALUpdated a year ago