Install required packages:
sudo pacman -S --needed weston xorg-server-xwayland libvncserverGenerate TLS certificates:
mkdir -p $HOME/.config/weston;
openssl req -new -x509 -days 365 -nodes -out "$HOME/.config/weston/vnc-cert.pem" -keyout "$HOME/.config/weston/vnc-key.pem";
ls -Flavh "$HOME/.config/weston/";Configure Weston:
nano ~/.config/weston.iniExample ~/.config/weston.ini:
[core]
xwayland = true
[launcher]
icon = /usr/share/icons/hicolor/22x22/apps/yakuake.png
path = /usr/bin/konsole
[launcher]
icon = /usr/share/icons/hicolor/22x22/apps/firefox-developer-edition.png
path = /usr/bin/firefox-developer-edition
[vnc]
port = 5900
tls-cert = /home/YOUR_USERNAME/.config/weston/vnc-cert.pem
tls-key = /home/YOUR_USERNAME/.config/weston/vnc-key.pem๐ Replace
YOUR_USERNAMEwith your actual user directory path.
Allow VNC through the firewall:
sudo firewall-cmd --permanent --zone=public --add-service=vnc-server
sudo firewall-cmd --reloadStart Weston with VNC backend:
weston --backend=vnc-backend.so --debugFrom another machine, connect using a VNC viewer:
vncviewer -AutoSelect=0 -QualityLevel=5 YOUR.SERVER.IP:5900Create a service:
sudo nano /etc/systemd/system/weston-vnc.servicePaste the following:
[Unit]
Description = Weston VNC backend
After = network.target
[Service]
ExecStart = /usr/bin/weston --backend=vnc-backend.so --socket=wayland-1
Restart = always
TimeoutSec = 900
User = YOUR_USERNAME
PAMName = login
[Install]
WantedBy = multi-user.targetReload and enable:
sudo systemctl daemon-reload
sudo systemctl enable --now weston-vnc.service
sudo systemctl status weston-vnc.service