Aritz Beraza Garayalde [Rei] escribió:
El 23/01/06, Havoline<[EMAIL PROTECTED]> escribió:

¿Que diferencias hay entre la ejecución de un programa por init o por
consola de root?



A nivel de procesos, que los procesos ejecutados por init son hijos de
este. Luego, si lanzas un programa como root (salvo que cambie de
propietario en la ejecución), su dueño será root.


El problema deriva de este (que viene de conseguir que el root tenga
permisos para usar las X):

Estado actual:

He ido a /etc/kde3/kdm/kdmrc y he añadido en [X-*-Core]
AuthFile=/var/run/xauth/XauthFile

Luego he creado el enlace
ln -s /var/run/xauth/XauthFile /root/.Xauthority

En /root/.profile he añadido
DISPLAY=:0.0
export DISPLAY

Y ya funciona el comando en una consola como superusuario, pero ahora el
problema es que en código java, dentro de una aplicación web para
tomcat, si dejo que tomcat se arranque con init (/etc/init.d/tomcat
start), la aplicación no hace que se ejecute el programa. Pero si dentro
de una consola como superusuario arranco el tomcat con el mismo comando
/etc/init.d/tomcat start, si puedo utilizar la aplicación y que el
programa que lanza haga capturas de pantalla de las webs.



Tomcat... java... bufffff Da algún error tomcat al cargarse? Recuerda
que java requiere tener classpath bien configurado, y según donde
tengas definida tu variable classpath, esta nose cargará hasta que
inicies una sesión como root. (un ejemplo, si lo tienes en .bashrc que
exporte classpath, no lo cargará hasta que loguees como root, así que
los procesos que lance init como root no tendrán disponible ese valor
de classpath incluso si logueas aposteriori como root). Por lo demás,
ya he terminado mis 4 meses de sufrimiento en desarrollo de
aplicaciones web con java. Ahora a ver si consigo arrinconarlo en un
lugar donde no moleste demasiado y dedicarme a darles un vistazo a
Django y Rails.

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
#


                
______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Responder a