refactor: clean VPS code, keep only host solution in main\n

- Removed all VPS-specific scripts and configs from main branch\n- VPS solution archived in archive/vps-rustdesk-server\n- Rewrote README.md to focus on Intel Alder Lake-N host setup\n- Added note about archive branch and host-only scope\n
Fixes #6 (wontfix for VPS GUI, host solution restored)
This commit is contained in:
Orchestrator
2026-05-16 00:52:54 +01:00
parent 038b9791c5
commit 7319689814
12 changed files with 60 additions and 615 deletions

View File

@@ -1,23 +0,0 @@
Section "Device"
Identifier "DummyHeadless"
Driver "dummy"
Option "ConstantDPI" "true"
VideoRam 256000
EndSection
Section "Monitor"
Identifier "DummyMonitor"
HorizSync 28-80
VertRefresh 48-75
EndSection
Section "Screen"
Identifier "DummyScreen"
Device "DummyHeadless"
Monitor "DummyMonitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080" "1280x720"
EndSubSection
EndSection

View File

@@ -1,17 +0,0 @@
[Unit]
Description=RustDesk with Dummy Display
After=xorg-dummy.service
Requires=xorg-dummy.service
[Service]
Type=simple
User=root
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/root/.Xauthority"
ExecStartPre=/bin/sleep 3
ExecStart=/usr/share/rustdesk/rustdesk --server
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

View File

@@ -1,34 +0,0 @@
#!/bin/bash
# RustDesk VPS Headless Client Startup Script
# Starts Xvfb :99, waits for display, then launches RustDesk client via DBus
set -e
# Kill old Xvfb
pkill -9 Xvfb 2>/dev/null || true
sleep 1
# Start Xvfb
/usr/bin/Xvfb :99 -screen 0 1920x1080x24 -ac -nolisten tcp -nolisten unix &
XVFB_PID=$!
sleep 2
# Wait for display to be ready
for i in $(seq 1 30); do
if xdpyinfo -display :99 > /dev/null 2>&1; then
break
fi
sleep 1
done
# Verify display is up
if ! xdpyinfo -display :99 > /dev/null 2>&1; then
echo "ERROR: Xvfb failed to start on :99"
kill $XVFB_PID 2>/dev/null || true
exit 1
fi
export DISPLAY=:99
# Start RustDesk client inside DBus session (required for headless GUI apps)
exec /usr/bin/dbus-run-session -- /usr/share/rustdesk/rustdesk --server

View File

@@ -1,19 +0,0 @@
[Unit]
Description=RustDesk + XFCE Desktop on VPS
After=network-online.target
[Service]
Type=forking
User=root
Environment="DISPLAY=:99"
Environment="XAUTHORITY=/root/.Xauthority"
# Start Xvfb, wait for display, then launch XFCE + RustDesk
ExecStartPre=/bin/bash -c 'pkill -9 -f rustdesk 2>/dev/null || true; pkill -9 -f xfce4-session 2>/dev/null || true; sleep 1; pkill -9 Xvfb 2>/dev/null || true; rm -f /tmp/.X11-unix/X99; sleep 1'
ExecStart=/bin/bash -c 'Xvfb :99 -screen 0 1920x1080x24 -ac +extension RANDR > /dev/null 2>&1 &; sleep 3; for i in $(seq 1 30); do export DISPLAY=:99; export XAUTHORITY=/root/.Xauthority; xrandr --listmonitors > /dev/null 2>&1 && break; sleep 1; done; nohup dbus-run-session -- xfce4-session > /tmp/xfce-session.log 2>&1 &; sleep 5; nohup dbus-run-session -- /usr/share/rustdesk/rustdesk --server > /tmp/rustdesk-session.log 2>&1 &; sleep 2; exit 0'
ExecStop=/bin/bash -c 'pkill -9 -f rustdesk; pkill -9 -f xfce4-session; pkill -9 Xvfb; rm -rf /tmp/RustDesk'
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

View File

@@ -1,51 +0,0 @@
#!/bin/bash
# RustDesk + XFCE Desktop Auto-Start for VPS
# Systemd runs this script; script waits for Xvfb to exit
set -e
# Kill old
pkill -9 -f rustdesk 2>/dev/null || true
pkill -9 -f xfce4-session 2>/dev/null || true
pkill -9 Xvfb 2>/dev/null || true
rm -f /tmp/.X11-unix/X99 /tmp/.X*-lock
sleep 2
# Start Xvfb :99
Xvfb :99 -screen 0 1920x1080x24 -ac +extension RANDR +extension RENDER +extension GLX > /dev/null 2>&1 &
XVFB_PID=$!
sleep 3
# Wait for display ready
export DISPLAY=:99
export XAUTHORITY=/root/.Xauthority
for i in $(seq 1 30); do
xrandr --listmonitors > /dev/null 2>&1 && break
if ! kill -0 $XVFB_PID 2>/dev/null; then
echo "ERROR: Xvfb died"
exit 1
fi
sleep 1
done
xrandr --listmonitors > /dev/null 2>&1 || { echo "ERROR: Display :99 not ready"; exit 1; }
# Start XFCE desktop in background
nohup dbus-run-session -- xfce4-session > /tmp/xfce-session.log 2>&1 &
echo "XFCE PID: $!"
sleep 5
# Wait for window manager
for i in $(seq 1 20); do
ps aux | grep xfwm4 | grep -v grep > /dev/null 2>&1 && break
sleep 1
done
# Start RustDesk client in background
nohup dbus-run-session -- /usr/share/rustdesk/rustdesk --server > /tmp/rustdesk-session.log 2>&1 &
echo "RustDesk PID: $!"
sleep 3
# Wait for Xvfb (main process) - systemd tracks this script
# If Xvfb dies, systemd will restart the service
wait $XVFB_PID

View File

@@ -1,51 +0,0 @@
#!/bin/bash
# RustDesk + XFCE Desktop Auto-Start for VPS
# Systemd runs this script; script waits for Xvfb to exit
set -e
# Kill old
pkill -9 -f rustdesk 2>/dev/null || true
pkill -9 -f xfce4-session 2>/dev/null || true
pkill -9 Xvfb 2>/dev/null || true
rm -f /tmp/.X11-unix/X99 /tmp/.X*-lock
sleep 2
# Start Xvfb :99
Xvfb :99 -screen 0 1920x1080x24 -ac +extension RANDR +extension RENDER +extension GLX > /dev/null 2>&1 &
XVFB_PID=$!
sleep 3
# Wait for display ready
export DISPLAY=:99
export XAUTHORITY=/root/.Xauthority
for i in $(seq 1 30); do
xrandr --listmonitors > /dev/null 2>&1 && break
if ! kill -0 $XVFB_PID 2>/dev/null; then
echo "ERROR: Xvfb died"
exit 1
fi
sleep 1
done
xrandr --listmonitors > /dev/null 2>&1 || { echo "ERROR: Display :99 not ready"; exit 1; }
# Start XFCE desktop in background
nohup dbus-run-session -- xfce4-session > /tmp/xfce-session.log 2>&1 &
echo "XFCE PID: $!"
sleep 5
# Wait for window manager
for i in $(seq 1 20); do
ps aux | grep xfwm4 | grep -v grep > /dev/null 2>&1 && break
sleep 1
done
# Start RustDesk client in background
nohup dbus-run-session -- /usr/share/rustdesk/rustdesk --server > /tmp/rustdesk-session.log 2>&1 &
echo "RustDesk PID: $!"
sleep 3
# Wait for Xvfb (main process) - systemd tracks this script
# If Xvfb dies, systemd will restart the service
wait $XVFB_PID

View File

@@ -1,16 +0,0 @@
[Unit]
Description=Xorg Dummy Display
After=network.target
[Service]
Type=simple
User=root
Environment="DISPLAY=:0"
ExecStartPre=/bin/bash -c 'test -f /root/.Xauthority || (xauth -f /root/.Xauthority add :0 . $(mcookie) \u0026\u0026 chmod 600 /root/.Xauthority)'
ExecStartPre=/bin/mkdir -p /tmp/.X11-unix
ExecStart=/usr/lib/xorg/Xorg :0 -auth /root/.Xauthority -nolisten tcp -config /etc/X11/xorg.conf.d/20-dummy-headless.conf +extension GLX +extension RANDR +extension RENDER -novtswitch -keeptty
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target