#!/bin/bash
# Proceso general de arranque de OpenGnsys Client.


# Fichero de registro de incidencias (en el servidor; si no, en local).
OPENGNSYS=${OPENGNSYS:-/opt/opengnsys}
OGLOGFILE=${OGLOGFILE:-$OPENGNSYS/log/$(ogGetIpAdderss).log}
if ! touch $OGLOGFILE 2>/dev/null; then
    OGLOGFILE=/var/log/opengnsys.log
fi
LOGLEVEL=5

# Matando plymount para inicir browser o shell
pkill -9 plymouthd

# Arranque de OpenGnsys Client daemon (socket).
echo "${MSG_LAUNCHCLIENT:-.}"
# Indicar fichero de teclado de Qt para el idioma especificado (tipo "es.qmap").
[ -f /usr/local/etc/${LANG%_*}.qmap ] && export QWS_KEYBOARD="TTY:keymap=/usr/local/etc/${LANG%_*}.qmap"

if [ -f "/usr/share/OGAgent/opengnsys/linux/OGAgentService.py" -a "$ogstatus" != "offline"  ]; then
    # Ejecutar servicio cliente.
    cd /usr/share/OGAgent
    export OGAGENTCFG_OGCORE_IP=$ogcore   
    export OGAGENTCFG_OGLOG_IP=$oglog
    export OGAGENTCFG_URLMENU_IP=$ogcore
    python3 -m opengnsys.linux.OGAgentService fg
else
    for FILE in index $OGGROUP $(ogGetIpAddress)
    do
        [ -f $OGCAC/menus/$FILE.html ] && OGMENU="$OGCAC/menus/$FILE.html"
    done
    echo "exec /usr/bin/OGBrowser $OGMENU" > /home/root/
    /usr/bin/OGBrowser -qws $OGMENU
fi

# Si fallo en cliente y modo "admin", cargar shell; si no, salir.
if [ "$ogactiveadmin" == "true" ]; then
    bash
fi