51 lines
1.1 KiB
Bash
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 1920x920x24 &
|
|
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
|