Kaynağa Gözat

Resolve race condition

Seungmin Kim 1 yıl önce
ebeveyn
işleme
fdb5f0733b
4 değiştirilmiş dosya ile 9 ekleme ve 11 silme
  1. 2 4
      entrypoint.sh
  2. 3 3
      kasmvnc-entrypoint.sh
  3. 3 3
      selkies-gstreamer-entrypoint.sh
  4. 1 1
      supervisord.conf

+ 2 - 4
entrypoint.sh

@@ -8,10 +8,8 @@ set -e
 
 trap "echo TRAPed signal" HUP INT QUIT TERM
 
-# Create and modify permissions of XDG_RUNTIME_DIR
-mkdir -pm700 "${XDG_RUNTIME_DIR}"
-chown -f ubuntu:ubuntu "${XDG_RUNTIME_DIR}"
-chmod -f 700 "${XDG_RUNTIME_DIR}"
+# Wait for XDG_RUNTIME_DIR
+until [ -d "${XDG_RUNTIME_DIR}" ]; do sleep 0.5; done
 # Make user directory owned by the default ubuntu user
 chown ubuntu:ubuntu /home/ubuntu || sudo-root chown ubuntu:ubuntu /home/ubuntu || chown ubuntu:ubuntu /home/ubuntu/* || sudo-root chown ubuntu:ubuntu /home/ubuntu/* || echo 'Failed to change user directory permissions, there may be permission issues'
 # Change operating system password to environment variable

+ 3 - 3
kasmvnc-entrypoint.sh

@@ -6,6 +6,9 @@
 
 set -e
 
+# Wait for XDG_RUNTIME_DIR
+until [ -d "${XDG_RUNTIME_DIR}" ]; do sleep 0.5; done
+
 # Set default display
 export DISPLAY="${DISPLAY:-:0}"
 # PipeWire-Pulse server socket path
@@ -15,9 +18,6 @@ export PIPEWIRE_RUNTIME_DIR="${PIPEWIRE_RUNTIME_DIR:-${XDG_RUNTIME_DIR:-/tmp}}"
 export PULSE_RUNTIME_PATH="${PULSE_RUNTIME_PATH:-${XDG_RUNTIME_DIR:-/tmp}/pulse}"
 export PULSE_SERVER="${PULSE_SERVER:-unix:${PULSE_RUNTIME_PATH:-${XDG_RUNTIME_DIR:-/tmp}/pulse}/native}"
 
-# Wait for XDG_RUNTIME_DIR
-until [ -d "${XDG_RUNTIME_DIR}" ]; do sleep 0.5; done
-
 # Configure NGINX
 if [ "$(echo ${SELKIES_ENABLE_BASIC_AUTH} | tr '[:upper:]' '[:lower:]')" != "false" ]; then htpasswd -bcm "${XDG_RUNTIME_DIR}/.htpasswd" "${SELKIES_BASIC_AUTH_USER:-${USER}}" "${SELKIES_BASIC_AUTH_PASSWORD:-${PASSWD}}"; fi
 echo "# Selkies KasmVNC NGINX Configuration

+ 3 - 3
selkies-gstreamer-entrypoint.sh

@@ -6,6 +6,9 @@
 
 set -e
 
+# Wait for XDG_RUNTIME_DIR
+until [ -d "${XDG_RUNTIME_DIR}" ]; do sleep 0.5; done
+
 # Set default display
 export DISPLAY="${DISPLAY:-:0}"
 # PipeWire-Pulse server socket path
@@ -15,9 +18,6 @@ export PIPEWIRE_RUNTIME_DIR="${PIPEWIRE_RUNTIME_DIR:-${XDG_RUNTIME_DIR:-/tmp}}"
 export PULSE_RUNTIME_PATH="${PULSE_RUNTIME_PATH:-${XDG_RUNTIME_DIR:-/tmp}/pulse}"
 export PULSE_SERVER="${PULSE_SERVER:-unix:${PULSE_RUNTIME_PATH:-${XDG_RUNTIME_DIR:-/tmp}/pulse}/native}"
 
-# Wait for XDG_RUNTIME_DIR
-until [ -d "${XDG_RUNTIME_DIR}" ]; do sleep 0.5; done
-
 # Configure NGINX
 if [ "$(echo ${SELKIES_ENABLE_BASIC_AUTH} | tr '[:upper:]' '[:lower:]')" != "false" ]; then htpasswd -bcm "${XDG_RUNTIME_DIR}/.htpasswd" "${SELKIES_BASIC_AUTH_USER:-${USER}}" "${SELKIES_BASIC_AUTH_PASSWORD:-${PASSWD}}"; fi
 echo "# Selkies-GStreamer NGINX Configuration

+ 1 - 1
supervisord.conf

@@ -38,7 +38,7 @@ autorestart=true
 priority=1
 
 [program:dbus]
-command=bash -c "until [ -d "${XDG_RUNTIME_DIR}" ]; do sleep 0.5; done; dbus-daemon --session --nosyslog --address=\"${DBUS_SESSION_BUS_ADDRESS}\""
+command=bash -c "mkdir -pm700 \"${XDG_RUNTIME_DIR}\"; chown -f ubuntu:ubuntu \"${XDG_RUNTIME_DIR}\"; chmod -f 700 \"${XDG_RUNTIME_DIR}\"; dbus-daemon --session --nosyslog --address=\"${DBUS_SESSION_BUS_ADDRESS}\""
 environment=DISPLAY="%(ENV_DISPLAY)s",XDG_RUNTIME_DIR="%(ENV_XDG_RUNTIME_DIR)s",DBUS_SESSION_BUS_ADDRESS="%(ENV_DBUS_SESSION_BUS_ADDRESS)s"
 stdout_logfile=/tmp/dbus.log
 stdout_logfile_maxbytes=5MB