| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #!/bin/bash
- # Trixy Startskript (Linux)
- # Fuehrt Update, Bereinigung und Anwendungsstart durch.
- #
- # Verwendung: ./run_linux.sh server [--auto-regist] [--debug]
- # ./run_linux.sh client --host 10.10.10.1 --port 2101 ...
- set -euo pipefail
- # Ins Projektverzeichnis wechseln
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
- cd "${SCRIPT_DIR}" || exit 1
- # venv suchen und aktivieren
- VENV_PYTHON=""
- for venv_path in "${SCRIPT_DIR}/../venv" "${SCRIPT_DIR}/venv" "/home/$(whoami)/trixy/venv"; do
- if [[ -f "${venv_path}/bin/python" ]]; then
- source "${venv_path}/bin/activate"
- VENV_PYTHON="${venv_path}/bin/python"
- break
- fi
- done
- # Fallback: System-Python
- if [[ -z "${VENV_PYTHON}" ]]; then
- VENV_PYTHON="$(command -v python3 2>/dev/null || command -v python 2>/dev/null || true)"
- if [[ -z "${VENV_PYTHON}" ]]; then
- echo "FEHLER: Python nicht gefunden (kein venv, kein System-Python)"
- exit 127
- fi
- echo "WARNUNG: Kein venv gefunden — verwende System-Python: ${VENV_PYTHON}"
- fi
- # Update ausfuehren (Fehler nicht abbrechen)
- if [[ -f bash/update_linux.sh ]]; then
- bash bash/update_linux.sh || echo "WARNUNG: Update fehlgeschlagen"
- fi
- # Temporaere Dateien bereinigen
- if [[ -f bash/prepare_linux.sh ]]; then
- bash bash/prepare_linux.sh || true
- fi
- # Anwendung starten (alle Argumente durchreichen)
- exec "${VENV_PYTHON}" main.py "$@"
|