Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions image-files/scripts/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ apply_settings() {
if [ "$CUSTOM_CONFIG" != "yes" ]; then
echo ".> Appling settings to IBC's config.ini"

file_env 'TWS_USERID'
file_env 'TWS_PASSWORD'
# replace env variables
envsubst <"${IBC_INI_TMPL}" >"${IBC_INI}"
unset_env 'TWS_USERID'
unset_env 'TWS_PASSWORD'
# set config.ini readable by user only
chmod 600 "${IBC_INI}"
Expand Down
5 changes: 3 additions & 2 deletions image-files/scripts/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,9 @@ start_vnc() {
# start VNC server
file_env 'VNC_SERVER_PASSWORD'
if [ -n "$VNC_SERVER_PASSWORD" ]; then
echo ".> Starting VNC server"
x11vnc -ncache_cr -display :1 -forever -shared -bg -noipv6 -passwd "$VNC_SERVER_PASSWORD" &
VNC_PORT="${VNC_PORT:-5900}"
echo ".> Starting VNC server on port ${VNC_PORT}"
x11vnc -ncache_cr -display :1 -forever -shared -bg -noipv6 -rfbport "$VNC_PORT" -passwd "$VNC_SERVER_PASSWORD" &
unset_env 'VNC_SERVER_PASSWORD'
else
echo ".> VNC server disabled"
Expand Down
20 changes: 20 additions & 0 deletions stable/scripts/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -263,3 +263,23 @@ start_socat() {
fi

}

wait_x_socket() {
DISPLAY_NUM=${DISPLAY#:}
# wait for X11 socket
if [ -S "/tmp/.X11-unix/X${DISPLAY_NUM}" ]; then
return 0
fi
echo ".> Waiting for Xvfb socket on $DISPLAY..."
timeout=50 # 50 * .2 = 10 seconds max wait
elapsed=0
while [ ! -S "/tmp/.X11-unix/X${DISPLAY_NUM}" ]; do
sleep 0.2
elapsed=$((elapsed + 1))
if [ $elapsed -ge $timeout ]; then
echo "Error: Timed out waiting for Xvfb socket!"
exit 1
fi
done
echo ".> Xvfb socket ready!"
}
17 changes: 13 additions & 4 deletions stable/scripts/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,27 @@ stop_ibc() {
start_xvfb() {
# start Xvfb
echo ".> Starting Xvfb server"
DISPLAY=:1
# Use display :99 to avoid conflicts with host X servers
DISPLAY=:99
export DISPLAY
rm -f /tmp/.X1-lock
# Kill any existing Xvfb processes
pkill -9 Xvfb 2>/dev/null || true
sleep 0.5
# Clean up stale X lock and socket
rm -f /tmp/.X99-lock
rm -f /tmp/.X11-unix/X99
Xvfb $DISPLAY -ac -screen 0 1024x768x16 &
# Wait for Xvfb socket to be ready
wait_x_socket
}

start_vnc() {
# start VNC server
file_env 'VNC_SERVER_PASSWORD'
if [ -n "$VNC_SERVER_PASSWORD" ]; then
echo ".> Starting VNC server"
x11vnc -ncache_cr -display :1 -forever -shared -bg -noipv6 -passwd "$VNC_SERVER_PASSWORD" &
VNC_PORT="${VNC_PORT:-5900}"
echo ".> Starting VNC server on port ${VNC_PORT}"
x11vnc -ncache_cr -display $DISPLAY -forever -shared -bg -noipv6 -rfbport "$VNC_PORT" -passwd "$VNC_SERVER_PASSWORD" &
unset_env 'VNC_SERVER_PASSWORD'
else
echo ".> VNC server disabled"
Expand Down