#!/bin/bash
##########################################################
#            LANZADOR ENTORNO GRAFICO v0.1               #
##########################################################
# Autor: Juan Miguel Taboada Godoy                       #
# Fecha: Szczecin, 01 de noviembre de 2006               #
# Descripción: Script para lanzar el entorno gráfico     #
# mediante el uso del xinit                              #
# Versión: 2006110100                                    #
#                                                        #
# Codigo fuente bajo licencia GNU/GPL                    #
# Centrologic (Computational Logistic Center)            #
# http://www.centrologic.com - info@centrologic.com      #
##########################################################
# Parámetros de entrada:                                 #
# 1: localización exacta del binario a ejecutar          #
##########################################################

# Lectura de la configuracion
binario=$1
argumento1=$2
argumento2=$3
terminal=10
xinit="/usr/bin/X11/xinit"
# Xvfb
Xvirtual="/usr/bin/X11/Xvfb"
Xoptions="-pixdepths 32 -screen 0 1600x1200x24"

# Control de errores
if [ ! -x $xinit ] ; then
	echo "No se ha podido encontrar $xinit"
	exit 0
fi
if [ ! -x $Xvirtual ] ; then
	echo "No se ha podido encontrar $Xvirtual"
	exit 0
fi
if [ -z $binario ] ; then
	echo "No ha indicado el binario a ejecutar"
	exit 0
fi

# Reconfiguro el home del usuario
HOME=`pwd`
export HOME
# Reconfiguro el path del usuario
PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11"
export PATH
# Creo el fichero XINIT
echo "DISPLAY=unix:$terminal.0" > .xinitrc
echo "export DISPLAY" >> .xinitrc

if [[ $argumento1 == "--silent" ]] ; then
	# SILENT
	echo "$binario $argumento1 $argumento2 2>&1" >> .xinitrc
	$xinit -- $Xvirtual :$terminal $Xoptions 2>/dev/null
else
	if [[ $argumento2 == "--silent" ]] ; then
		# SILENT
		echo "$binario $argumento1 $argumento2 2>&1" >> .xinitrc
		$xinit -- $Xvirtual :$terminal $Xoptions 2>/dev/null
	else
		# NORMAL
		echo "$binario $argumento1 $argumento2" >> .xinitrc
		$xinit -- $Xvirtual :$terminal $Xoptions
	fi
fi


rm .xinitrc 2> /dev/null

# Fin de la ejecucción del script
exit 0

