#!/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 "$@"