Enheter i systemet:
I utstillingen, 3. etasje, rom 390:
2x Pixilab-player, installert på Asus NUC
Kjører siste versjon av Pixilab Player
2x Samsung touchskjerm
I 4. etasje, "teknisk rom", rom 420
2x Asus ROG gaming-nuc, disse er:
se06-04-420-3dnuc02 - dyrehode
Kjører en lettere modifisert utgave av Pixel Streaming signalling server (se egen installasjonsguide for skreddersøm) og 3d-prosjektet ~/DyrehodeV2/MV_Dyrehode_16k/Binaries/Linux/MV_Dyrehode_16k-Linux-Shipping - som kjøres via script MV_Dyrehode_16k.sh
Dette scriptet genereres som standard, men inneholder to tillegg, et for å kjøre prosjektet med Pixel Streaming-plugin på og henvisning til localhost for server, og et for å loggføre crash med timestamp i filen ~/DyrehodeV2/MV_Dyrehode_16k/Linux/crash_log.txt. Scriptet ser ut som dette:
#!/bin/sh
export XDG_RUNTIME_DIR=/run/user/1000
export LANG=en_GB.utf8
export LC_ALL=en_GB.utf8
export DISPLAY=:0
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
UE_TRUE_SCRIPT_NAME=$(echo \"$0\" | xargs readlink -f)
UE_PROJECT_ROOT=$(dirname "$UE_TRUE_SCRIPT_NAME")
chmod +x "$UE_PROJECT_ROOT/MV_Dyrehode_16k/Binaries/Linux/MV_Dyrehode_16k-Linux-Shipping"
"$UE_PROJECT_ROOT/MV_Dyrehode_16k/Binaries/Linux/MV_Dyrehode_16k-Linux-Shipping" MV_Dyrehode_16k "$@" -RenderOffScreen -PixelStreamingUrl=ws://127.0.0.1:8888
LOG_FILE="$UE_PROJECT_ROOT/crash_log.txt"
if [ -f "$LOG_FILE" ]; then
CRASH_COUNT=$(grep -c "Crash #" "$LOG_FILE")
else
CRASH_COUNT=0
touch "$LOG_FILE" #lager ny loggfil om den ikke finnes
fi
while true; do
"$UE_PROJECT_ROOT/MV_Dyrehode_16k/Binaries/Linux/MV_Dyrehode_16k-Linux-Shipping" MV_Dyrehode_16k "$@" -PixelStreamingUrl=ws://127.0.0.1:8888 #sørger for å starte opp igjen dersom dyrehodet kneler
CRASH_COUNT=$((CRASH_COUNT + 1)) #teller kræsj
# legger til dato og klokkeslett
TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")
# loggfører crash til fil og rapporterer til shell
echo "Crash #$CRASH_COUNT at $TIMESTAMP" >> "$LOG_FILE"
echo "MV_Dyrehode_16k-Linux-Shipping har avsluttet. Restarter..."
sleep 2 #venter i 2 sekunder med å loope script og restarte
done
I tilfelle feil (svart skjerm):
ssh khm-uio@se06-04-420-3dnuc02-khm.uio.no - passord i Vault under /SE06-KHM/
finn PID til MV_Dyrehode_16k (med f. eks kommando ps -e)
kjør kommando kill <pid>
Prosessen starter av seg selv.
se06-04-420-3dnuc01 - slededrag
Kjører en lettere modifisert utgave av Pixel Streaming signalling server (se egen installasjonsguide for skreddersøm) og 3d-prosjektet ~/SlededragV2/ModelViewerTouchHorizontal/Linux/ModelViewerTouch/Binaries/Linux/ModelViewerTouch-Linux-Shiupping (executable) - som kjøres via script ~/SlededragV2/ModelViewerTouchHorizontal/Linux/ModelViewerTouch/ModelViewerTouch.sh
Dette scriptet genereres som standard, men inneholder noen modifiseringer, et for å kjøre prosjektet med Pixel Streaming-plugin på og henvisning til localhost for server, og et for å loggføre crash med timestamp i filen ~/SlededragV2/ModelViewerTouchHorizontal/Linux/crash_log.txt, samt for å kunne avsluttes hver kveld og startes opp igjen på morgenen med cron. Scriptet ser ut som dette:
#!/bin/sh
export XDG_RUNTIME_DIR=/run/user/1000
export LANG=en_GB.utf8
export LC_ALL=en_GB.utf8
export DISPLAY=:1
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
UE_TRUE_SCRIPT_NAME=$(echo \"$0\" | xargs readlink -f)
UE_PROJECT_ROOT=$(dirname "$UE_TRUE_SCRIPT_NAME")
chmod +x "$UE_PROJECT_ROOT/ModelViewerTouch/Binaries/Linux/ModelViewerTouch-Linux-Shipping"
"$UE_PROJECT_ROOT/ModelViewerTouch/Binaries/Linux/ModelViewerTouch-Linux-Shipping" ModelViewerTouch "$@" -RenderOffScreen -PixelStreamingUrl=ws://127.0.0.1:8888
LOG_FILE="$UE_PROJECT_ROOT/crash_log.txt"
if [ -f "$LOG_FILE" ]; then
CRASH_COUNT=$(grep -c "Crash #" "$LOG_FILE")
else
CRASH_COUNT=0
touch "$LOG_FILE" #lager en ny loggfil om den ikke finnes
fi
while true; do
"$UE_PROJECT_ROOT/ModelViewerTouch/Binaries/Linux/ModelViewerTouch-Linux-Shipping" ModelViewerTouch "$@" -PixelStreamingUrl=ws://127.0.0.1:8888
# sørger for at prosessen restartes dersom crash
CRASH_COUNT=$((CRASH_COUNT + 1)) #legger til nummerert crash
# får timestamp til logg
TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")
# loggfører crash til fil og rapporterer til shell
echo "Crash #$CRASH_COUNT at $TIMESTAMP" >> "$LOG_FILE"
echo "ModelViewerTouch-Linux-Shipping har avsluttet. Restarter..."
sleep 2 #venter i 2 sekunder med å loope script og restarte slededrag
done
I tilfelle feil (svart skjerm):
ssh khm-uio@se06-04-420-3dnuc01-khm.uio.no - passord i Vault under /SE06-KHM/
finn PID til ModelViewerTouch (med f. eks kommando ps -e)
kjør kommando kill <pid>
Prosessen starter av seg selv.
Maskinene kjører Ubuntu Desktop med Pixel Streaming-server og standalone Unreal Engine-prosjekt. Disse genererer websider som lastes inn av NUC via to blocker i Pixilab. Merk: Det er ikke plug-and-play å sette disse opp med pixel streaming-server, da pixel streaming som standard krever internettilkobling, og disse maskinene ikke skal være på nett. Følg derfor setup-guide om du trenger å sette disse opp på nytt.
Begge maskinene har SSH, login-detaljer finnes i Vault.
En del web-baserte tjenester er slått av:
apt-daily-upgrade.timer
apt-daily.timer
Alle involverte maskiner er på klientnett 1304.