OpenSim 0.8/AutostartTmux

Aus Hyperweb & OpenSim
Wechseln zu: Suche

OpenSim automatisch starten

Alles in diesem Abschnitt wird mit dem eingeschränkten OpenSim-Account gemacht (hier maria)! Wir nehmen an, dass Linux bei jedem Betriebssystemstart versucht, im home-Verzeichnis eine Datei "autostart.sh" aufzurufen. Dies wurde bei der Server-Konfiguration (Menü "Autostart" beim jeweiligen Betriebssystem) in dieser Anleitung beschrieben. Kopiere folgendes Skript in die beriets vorbereitete leere Datei "autostart.sh":

#!/bin/sh
# wechsele ins OpenSim bin Verzeichnis
cd /home/maria/opensim/bin
while :
do
# Erststart: warte bis alles hochgefahren ist – später: vermeide häufiges Triggern
sleep 120
# versuche Aufruf und ignoriere den Fehler, wenn es bereits läuft
running=`ps ax | grep OpenSim.exe | grep -v grep`
if [ -z "$running" ]
  then
    tmux new-session -d -s term -n OpenSim 'env LANG=C mono OpenSim.exe'
  else
    tmux new-window -n OpenSim -t term:0 'env LANG=C mono OpenSim.exe' 2> /dev/null
fi
done

Dieses Script testet in einer Schleife, ob OpenSim noch läuft, und startet es gegebenenfalls neu. Der sleep-Befehl bewirkt, dass die folgenden Befehle erst abgearbeitet werden, wenn der Rechner komplett hochgelaufen ist. Außerdem reduziert er den Rechenzeitverbrauch der Schleife. Der Workaround "env LANG=C" erzwingt, dass beim Aufruf von OpenSim die nationalen Spracheinstellungen ignoriert werden. (Dokumentation). Beachte auch die sehr speziellen Anführungszeichen rückwärts in der Zeile mit "running=", denn in der Bash-Programmiersprache bedeutet ` was anderes als ´ oder ".

Setze Ausführungsrechte: "chmod u+x autostart.sh"

tmux verwenden

Mit tmux kann die im Hintergrund gestartete OpenSim Applikation in die Konsole geholt, und auch wieder in den Hintergrund geschubst werden. Der Vorteil ist, dass die OpenSim Konsole dadurch erreichbar wird, ohne das Hintergrundprogramm mit "killall mono" beenden und OpenSim in der Konsole neu starten zu müssen. Wenn du rechtzeitig vor dem Schließen der Konsole OpenSim wieder in den Hintergrund schickst, kannst du auch die Konsole schließen, ohne OpenSim dadurch zu beenden.

OpenSim in den Vordergund holen:
=> OpenSim Account verwenden, hier in der Anleitung "maria".
=> Kommando eingeben: tmux attach

OpenSim wieder in den Hintergrund zurückgeben:
=> Tastenkombination ctrl-B D oder Strg-B D

Hinweis: tmux ist ein sehr mächtiges Tool, viele weitere Features sind zum Beispiel in einem Artikel bei PRO-LINUX.DE beschrieben.



Weiter: In der Regions.ini weitere Regionen einrichten