#!/bin/bash
# Set up simple VNC server on Arch
sudo pacman -Syu
sudo pacman -Sy tigervnc tigervnc-server xorg-xdm
sudo tee -a /etc/sudoers <<< "$(id -un) ALL=(ALL) NOPASSWD: /usr/bin/vncserver"
cat << EOG > /etc/systemd/system/vncserver@.service
[Unit]
Description=VNC service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/bin/vncserver %I
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
RestartSec=5s
User=%i
PAMName=login
[Install]
WantedBy=multi-user.target
EOG
sudo systemctl enable vncserver@:0
sudo systemctl start vncserver@:0
read -p "Enter your VNC password: " vncpass
vncpass=$(echo $vncpass | sudo /usr/bin/vncpasswd)
echo "Add config file"
mkdir -p ~/.vnc
cat << EOG > ~/.vnc/xstartup
#!/bin/sh
exec xdm
EOG
chmod +x ~/.vnc/xstartup
echo "VNC setup completed successfully!"
last updated:
