initial commit
This commit is contained in:
53
desktop-wrapper.sh
Normal file
53
desktop-wrapper.sh
Normal file
@@ -0,0 +1,53 @@
|
||||
#!/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
|
||||
|
||||
# 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 &
|
||||
sleep 1
|
||||
|
||||
# NoVNC
|
||||
echo "[desktop-wrapper] Starting noVNC..."
|
||||
websockify --web=/usr/share/novnc/ 0.0.0.0:8080 localhost:5900 &
|
||||
|
||||
# Queue of processes to wait for
|
||||
wait -n
|
||||
Reference in New Issue
Block a user