Files
kiro-server-dind/desktop-wrapper.sh
2025-09-29 09:14:54 -05:00

51 lines
1.1 KiB
Bash

#!/usr/bin/bash
set -euo pipefail
export DISPLAY=:1
function command_privilege() {
if [ "$(id -u)" -eq 0 ]; then
"$@"
else
sudo "$@"
fi
}
# Docker socket
echo "[entrypoint] Starting Docker daemon..."
command_privilege dockerd > /dev/null 2>&1 &
sleep 1
# Set default browser
echo "[desktop-wrapper] Setting default browser to Firefox..."
#xdg-settings set default-web-browser firefox-esr.desktop
xdg-settings set default-web-browser chromium.desktop
# Xvfb
echo "[desktop-wrapper] Starting Xvfb..."
Xvfb :1 -screen 0 1895x920x24 &
sleep 1
# Openbox
echo "[desktop-wrapper] Starting Openbox..."
openbox-session &
sleep 1
# Set password for VNC if provided
if [ -n "${VNC_PASSWORD:-}" ]; then
echo "[desktop-wrapper] Setting VNC password..."
mkdir -p /home/coder/.vnc
x11vnc -storepasswd "$VNC_PASSWORD" /home/coder/.vnc/passwd
VNC_AUTH="-rfbauth /home/coder/.vnc/passwd"
else
VNC_AUTH="-nopw"
fi
# x11vnc
echo "[desktop-wrapper] Starting x11vnc..."
x11vnc -display :1 $VNC_AUTH -forever -rfbport 5900 -o /tmp/x11vnc-debug.log -v &
sleep 10
# Queue of processes to wait for
wait -n