Skip to content

Instantly share code, notes, and snippets.

@notTGY
Last active April 26, 2023 18:12
Show Gist options
  • Save notTGY/ad7bb791f6c023897e368838aa617747 to your computer and use it in GitHub Desktop.
Save notTGY/ad7bb791f6c023897e368838aa617747 to your computer and use it in GitHub Desktop.
setup cloud gaming server on ubuntu
#!/bin/bash
# ⚠️⚠️⚠️WARNING: This is very important to run this script with sudo.⚠️⚠️⚠️
# otherwise it will not work. And even worse, it will totally ruin your system.
echo "----Install everything and configure vncserver"
curl -q 'https://proget.makedeb.org/debian-feeds/prebuilt-mpr.pub' | gpg --dearmor | sudo tee /usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg 1> /dev/null
echo "deb [signed-by=/usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg] https://proget.makedeb.org prebuilt-mpr $(lsb_release -cs)" | sudo tee /etc/apt/sources.list.d/prebuilt-mpr.list
sudo apt update
sudo apt install xfce4 xfce4-goodies xorg xauth chromium-browser prismlauncher openjdk-17-jdk -y
export TIGERVNC_VERSION=1.13.1
export TIGERVNC_DISTRO=x86_64
sudo wget https://sourceforge.net/projects/tigervnc/files/stable/"${TIGERVNC_VERSION}"/tigervnc-"${TIGERVNC_VERSION}"."${TIGERVNC_DISTRO}".tar.gz \
-P /tmp/cache/tigervnc \
&& sudo tar xzf /tmp/cache/tigervnc/tigervnc-"${TIGERVNC_VERSION}"."${TIGERVNC_DISTRO}".tar.gz --strip 1 -C / \
&& sudo ln -s /usr/libexec/vncserver /usr/bin/vncserver \
&& sudo sed -i 's/exec(@cmd);/print "@cmd";\nexec(@cmd);/g' /usr/libexec/vncserver
# configure display for user
export DISPLAY=:1
export USER=tgy
echo "${DISPLAY}=${USER}" | sudo tee -a /etc/tigervnc/vncserver.users
echo "----Allow external connects by allowing ports in ufw"
sudo ufw allow 5901/tcp
sudo vncpasswd
echo "----Don't foget to check GLX in prismlauncher settings"
sudo vncserver :1 &
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment