#!/bin/bash LOG_FILE="/mnt/data/ailai-app/log/app_$(date +%Y%m%d_%H%M%S).log" log_message() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOG_FILE" } wait_for_gui() { log_message "wait gui..." while [ ! -f "/home/teamhd/.Xauthority" ]; do log_message "wait x11..." sleep 2 done export DISPLAY=:0 export XAUTHORITY="/home/teamhd/.Xauthority" while [ ! xset q > /dev/null 2>&1]; do log_message "cant connect x11" sleep 1 done log_message "x11 is ok " return 0 } setup_conda() { log_message "set conda" CONDA_PATH="/mnt/data/ailai/yes/etc/profile.d/conda.sh" if [ -f "$CONDA_PATH" ]; then source "$CONDA_PATH" log_message "Conda load success" else log_message "conda fail" return 1 fi # sudo /mnt/data/ailai/yes/condabin/conda activate ailai if [ $? -eq 0 ]; then log_message "Conda activate success" else log_message "conda activate fail" return 1 fi return 0 } main() { log_message "app start" if ! wait_for_gui; then log_message "start gui fail" exit 1 fi # if ! setup_conda; then # log_message "start conda fail" # exit 1 # fi cd "/mnt/data/ailai-app" || { log_message "app dir fail" exit 1 } log_message "start python..." sudo /mnt/data/ailai/yes/envs/ailai/bin/python main.py >> "$LOG_FILE" 2>&1 EXIT_CODE=$? log_message "exit code:$EXIT_CODE" log_message "app end" } main "$@"