Aritz Beraza Garayalde [Rei] escribió:
Ya pero volvemos al problema inicial, a la fuerza tengo estar al lado del servidor, y yo lo que quiero es que si se reinicia por cualquier causa, el servidor solo arranque todos los servicios y que funcionen.El Viernes, 27 de Enero de 2006 00:03, Havoline escribió:Aritz Beraza Garayalde [Rei] escribió:El 26/01/06, Havoline<varelabouzas@yahoo.es> escribió:lo arranco con este script para init, al arrancarlo así la aplicación web no es capaz de utilizar el programa khtml2png para hacer capturas de webs, pero si lo arranco desde una consola utilizando el mismo script si funciona el khtml2png (puede utilizar las X) cat /etc/init.d/tomcat # # Start/Shutdown the Tomcat server # BIN=/usr/local/apache-tomcat-5.5.12/bin export JAVA_HOME=/usr/local/jdk1.5.0_01 export DISPLAY=:0.0 # # case "$1" in stop) # Shutdown Tomcat. echo -n "Sending Tomcat processes the shutdown..." $BIN/shutdown.sh # ;; start) # Start Tomcat. echo -n "Starting Tomcat Server..." $BIN/startup.sh tomcat # ;; *) echo "Usage: $N {start|stop}" >&2 exit 1 ;; esac exit 0 #El script intenta usar el display, ok, pero tiene permisos??? Es decir, el dueño de la sesión X (anque sea el mismo root) ha ejecutado xhost +127.0.0.1 ??? Si lo lanzas desde una consola en el propio entorno X no hay problema, por que (probablemente) seas el dueño de la sesión X. Añade el xhost +127.0.0.1 (como solución rápida) a tu script de inicio de sesión gráfica.lo lanzo desde una consola... pero por ssh, entro remotamente, hago su, y luego /etc/init.d/tomcat stop y luego start y ya funciona. ahora acabo de probar añadiendo xhost +127.0.0.1 justo despues de export DISPLAY=:0.0 y no ha cambiado nada (y el script de tomcat es el último en ejecutarse, a continuación del /etc/init.d/kdm), con lo que se supone que ya existen X.No, el xhost +127.0.0.1 lo has de ejecutar en la sesión gráfica, no en el script que lanza el programa. Por ejemplo, mi script de inicio de sesión gráfica (~/.xsession, en el gdm/kdm escojo la sesion default) pondría una linea con el xhost +127.0.0.1, o prueba antes a ejecutarlo a mano en cualquier consola dentro del entrono gráfico, y luego ir auna consola de texto (Ctrl+Alt+F1 para que nos entedamos) y prueba a ejecutar el script este.
Si lo pongo en ~/.xsession, como poco tendría que arrancar la session de un usuario, y a mano si que funciona en una consola de texto también.
Funciona si lo ejecuto, como root en las X, en una texto(Ctrl+Alt+F1|F2|F3|F4...), por ssh... pero no funciona si lo ejecuta el init al inicio.
Y el código java en cuestión, por si aporta algo es: if(!FileOperations.existsFile(outFich)) { Runtime rt = Runtime.getRuntime();String cmd = "/usr/local/kde/bin/khtml2png -display :0 --width 800 --height 1000 --scaled-width 100 http://" + URL + " " + outFich;
System.out.println("Executando " + cmd);System.out.println("Variable de entorno DISPLAY=" + System.getenv("DISPLAY"));
Process p = rt.exec(cmd); p.waitFor(); }______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com