AnyBot/box/start.sh

20 lines
1.0 KiB
Bash
Raw Normal View History

#!/bin/bash
# Boots the desktop: X server, window manager, VNC and the noVNC web viewer.
set -u
mkdir -p /home/bot/.fluxbox /home/bot/Desktop && cp -n /etc/anybot/fluxbox-init /home/bot/.fluxbox/init 2>/dev/null
cp -n /etc/anybot/overlay /home/bot/.fluxbox/overlay 2>/dev/null
cp -n /etc/anybot/Xresources /home/bot/.Xresources 2>/dev/null
cp /etc/anybot/menu /home/bot/.fluxbox/menu 2>/dev/null
chown -R bot:bot /home/bot
rm -f /tmp/.X1-lock /tmp/.X11-unix/X1
Xvfb :1 -screen 0 "${SCREEN_SIZE}" -nolisten tcp &
for i in $(seq 1 50); do xdpyinfo -display :1 >/dev/null 2>&1 && break; sleep 0.1; done
su bot -c "DISPLAY=:1 xrdb -nocpp -merge /home/bot/.Xresources"
su bot -c "DISPLAY=:1 fluxbox >/tmp/fluxbox.log 2>&1 &"
(sleep 1.5; xsetroot -display :1 -solid '#2b2f36') &
xsetroot -display :1 -solid '#2b2f36'
x11vnc -display :1 -forever -shared -nopw -quiet -rfbport 5900 -localhost >/tmp/x11vnc.log 2>&1 &
websockify --web /usr/share/novnc 6080 localhost:5900 >/tmp/novnc.log 2>&1 &
echo "anybot-box ready" > /tmp/anybot-box.ready
wait