Files
platform/scripts/setup-desktop.sh
T
pastilhasandClaude Opus 4.6 daf5580c39 vnc sidecar: per-user desktop sessions via sidecar architecture
replaces the single hardcoded systemd VNC service with a dynamic
sidecar that manages per-user VNC sessions on demand. any authenticated
user can now access their own desktop, not just Super Admin.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 10:49:53 +00:00

69 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
# Officer Remote Desktop Setup — System packages only.
# Per-user VNC config is handled by user provisioning (provision.ts).
# Usage: ./scripts/setup-desktop.sh
echo "=== Officer Remote Desktop Setup ==="
echo ""
# --- Step 1: Install system packages ---
echo "[1/4] Installing system packages..."
sudo apt update -qq
sudo apt install -y -qq \
xfce4 xfce4-goodies \
tigervnc-standalone-server tigervnc-common \
dbus-x11 \
> /dev/null 2>&1
echo " Done."
# --- Step 2: Install Brave browser (native .deb, not snap) ---
echo "[2/4] Installing Brave browser..."
if ! command -v brave-browser-stable > /dev/null 2>&1; then
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg \
https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" \
| sudo tee /etc/apt/sources.list.d/brave-browser-release.list > /dev/null
sudo apt update -qq
sudo apt install -y -qq brave-browser > /dev/null 2>&1
fi
# Fix launcher symlink
if [ -f /opt/brave.com/brave/brave-browser ]; then
sudo rm -f /usr/bin/brave-browser-stable
sudo ln -s /opt/brave.com/brave/brave-browser /usr/bin/brave-browser-stable
fi
# Tell Brave to use basic password store (no GNOME Keyring prompts)
sudo mkdir -p /etc/brave
echo '--password-store=basic' | sudo tee /etc/brave/brave-flags.conf > /dev/null
echo " Done."
# --- Step 3: Remove GNOME Keyring (prevents password prompts on login) ---
echo "[3/4] Removing GNOME Keyring..."
sudo apt remove -y --purge gnome-keyring > /dev/null 2>&1 || true
rm -rf ~/.local/share/keyrings
echo " Done."
# --- Step 4: Set default browser ---
echo "[4/4] Setting default browser..."
if command -v brave-browser-stable > /dev/null 2>&1; then
sudo update-alternatives --set x-www-browser /opt/brave.com/brave/brave 2>/dev/null || true
echo " Brave set as default."
else
echo " No supported browser found, skipping."
fi
# --- Cleanup old systemd service if it exists ---
if systemctl list-unit-files officer-vnc.service &>/dev/null; then
echo ""
echo "Removing old officer-vnc systemd service..."
sudo systemctl stop officer-vnc 2>/dev/null || true
sudo systemctl disable officer-vnc 2>/dev/null || true
sudo rm -f /etc/systemd/system/officer-vnc.service
sudo systemctl daemon-reload
echo " Done."
fi
echo ""
echo "Setup complete. Per-user VNC sessions are managed by the VNC sidecar."