-
-
Save TripleDogDare/9474b79486f6742a5630d805c62e407b to your computer and use it in GitHub Desktop.
Steam Deck VNC Installation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Script for installing x11vnc on Steam Deck. | |
# | |
# Install: | |
# | |
# This will modify root filesystem so it will probably get | |
# overwrite on system updates but is totally ok executing | |
# it several times, so if something stops working just | |
# launch it again. | |
# | |
# If you like seeing the terminal window, change | |
# "Terminal=false" to "Terminal=true" for the desktop entries below. | |
# | |
# Original script: àngel "mussol" bosch ([email protected]) | |
# Modified to remove piping this gist over curl into sh. Just save this file to the desktop and execute it to reinstall. | |
# | |
echo -n "Checking root permissions: " | |
if [ "$(id -ru)" == "0" ]; then | |
echo "OK" | |
else | |
echo "user is $(whoami), try again as root" | |
exit 1 | |
fi | |
## system related comands | |
echo "Disabling readonly filesystem" | |
steamos-readonly disable | |
if [ ! -e "/etc/pacman.d/gnupg/trustdb.gpg" ]; then | |
echo "Initalizing pacman keys" | |
pacman-key --init | |
pacman-key --populate archlinux | |
fi | |
echo "Installing package" | |
pacman -Sy --noconfirm x11vnc libvncserver | |
echo "Re-enabling readonly filesystem" | |
steamos-readonly enable | |
## user related commands | |
DECK_USER=$(grep "^User=" /etc/sddm.conf.d/steamos.conf | cut -d"=" -f2) | |
echo "Creating desktop entries" | |
mkdir -p "/home/${DECK_USER}/Desktop/VNC/" | |
LAUNCHER_TEXT='[Desktop Entry] | |
Name=Start VNC | |
Exec=x11vnc -noxdamage -usepw -display :0 -no6 -forever -bg | |
Icon=/usr/share/app-info/icons/archlinux-arch-community/64x64/x11vnc_computer.png | |
Terminal=false | |
Type=Application | |
StartupNotify=false' | |
echo "$LAUNCHER_TEXT" > "/home/${DECK_USER}/Desktop/VNC/Start VNC.desktop" | |
chown "${DECK_USER}" "/home/${DECK_USER}/Desktop/VNC/Start VNC.desktop" | |
chmod +x "/home/${DECK_USER}/Desktop/VNC/Start VNC.desktop" | |
LAUNCHER_TEXT='[Desktop Entry] | |
Name=Stop VNC | |
Exec=killall x11vnc | |
Icon=/usr/share/app-info/icons/archlinux-arch-community/64x64/x11vnc_computer.png | |
Terminal=false | |
Type=Application | |
StartupNotify=false' | |
echo "$LAUNCHER_TEXT" > "/home/${DECK_USER}/Desktop/VNC/Stop VNC.desktop" | |
chown "${DECK_USER}" "/home/${DECK_USER}/Desktop/VNC/Stop VNC.desktop" | |
chmod +x "/home/${DECK_USER}/Desktop/VNC/Stop VNC.desktop" | |
LAUNCHER_TEXT='[Desktop Entry] | |
Name=Set VNC Password | |
Exec=sudo x11vnc -storepasswd; read -s -n 1 -p "Press any key to continue . . ." | |
Icon=/usr/share/app-info/icons/archlinux-arch-community/64x64/x11vnc_computer.png | |
Terminal=true | |
Type=Application | |
StartupNotify=false' | |
echo "$LAUNCHER_TEXT" > "/home/${DECK_USER}/Desktop/VNC/Set VNC Password.desktop" | |
chown "${DECK_USER}" "/home/${DECK_USER}/Desktop/VNC/Set VNC Password.desktop" | |
chmod +x "/home/${DECK_USER}/Desktop/VNC/Set VNC Password.desktop" | |
SCRIPT_TEXT='#!/bin/bash | |
x11vnc -noxdamage -usepw -display :0 -no6 -forever -bg' | |
echo "$SCRIPT_TEXT" > "/home/${DECK_USER}/Desktop/VNC/vnc_startup.sh" | |
chown "${DECK_USER}" "/home/${DECK_USER}/Desktop/VNC/vnc_startup.sh" | |
chmod +x "/home/${DECK_USER}/Desktop/VNC/vnc_startup.sh" | |
if [ ! -f "/home/${DECK_USER}/.vnc/passwd" ]; then | |
echo "Creating VNC password" | |
sudo -H -u "${DECK_USER}" bash -c "x11vnc -storepasswd" | |
fi | |
echo "Done!" | |
read -s -n 1 -p "Press any key to continue . . ." | |
echo "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment