PDA

Ver la versión completa : Hacer que rdesktop se inicie al cargar el sistema



Danilo51
27-02-2009, 14:06
Buenas gente,
Hoy estoy de nuevo entretenido con debian y me he propuesto hacer lo que pone en el título.
Investigando un poco, la teoria dice que en el archivo xinitrc dentro de la ruta " /etc/X11/xinit" (debian) introduciendo una serie de comandos puedes hacer que se ejecute cualquier programa al reinicio de la máquina. O almenos eso es lo que he entendido :p.

El código es el siguiente:


#!/bin/bash
# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $

# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)

# invoke global X session script
# He comentado la línea de abajo para que solo arranque el escritorio remoto
# . /etc/X11/Xsession
rdesktop -u Usuaro -p Contraseña -g 1024x768 -f -a 24 IP



Eso que he puesto lo he probado por consola y me abre el escritorio, pero cuando lo pongo en el fichero mi gozo en un pozo.

Un saludo.

j8k6f4v9j
03-03-2009, 02:10
Ese archivo es, tal y como dice en los comentarios,

# global xinitrc file, used by all X sessions started by xinit (startx)
para que se ejecute su contenido al inicio de las sesiones iniciadas (valga la rebuznancia :D) mediante xinit (startx)

El caso es que hay varias formas de arrancar la sesión, por lo que probablemente esté ocurriendo que tu gestor de ventanas inicia dicha sesión mediante uno de esos modos alternativos.

Yo pondría mi script en /etc/init.d, con una prioridad de ejecución menor que la del sistema gráfico (o incluso con un contador, para asegurarme de que el sistema gráfico ha iniciado) y haría los correspondientes enlaces simbólicos en los directorios de los niveles de ejecución en los que quiero que se ejecute (update-rc.d es la herramienta a usar para estos menesteres)

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

Danilo51
03-03-2009, 18:57
Buenas j8k6f4v9j,
Perdón por la "cagadita" pero es que entendí que se podia hacer en el inicio de las x. Documentándome un poco más ya vi que se tenía que modificar el init.d (cosa que me confirmas en tu post) pero claro ahí estoy intentándolo y la verdad es que soy un poco manco pero bueno a ver si lo saco y aprendo algo más.

Un saludo y gracias.

Danilo51
26-03-2009, 12:59
Buenas,
vamos a ver llevo días miradome lo del update-rc.d y lo he estado probando sin muchos resultados ...

Una vez hecho el script y añadido a /etc/init.d hago lo siguiente:



update-rc.d SCRIPT start 20 2 3 4 5 . stop 20 0 1 6 .


Me surgen dudas con esto, ya que documentándome he visto que después del start vienen dos un número compuesto de dos dígitos que teoricamente da la prioridad de ejecución en el arranque. No he encontrado que numeración tiene más prioridad. Una vez agregado el escript a los rc' s veo que se agrega dentro de sus respectivos directorios pero tampoco (y es que soy un manco...) encuentro el script con la secuencia de demonios y aplicaciones que se tienen que ejecutar.

j8 podrías echarme un cable al cuello por favor.

Un saludo.

j8k6f4v9j
26-03-2009, 13:44
Me surgen dudas con esto, ya que documentándome he visto que después del start vienen dos un número compuesto de dos dígitos que teoricamente da la prioridad de ejecución en el arranque. No he encontrado que numeración tiene más prioridad.

Más que "prioridad" podríamos llamarlo "turno", ya que mientras más alto sea el número más tarde se ejecutará.


Una vez agregado el escript a los rc' s veo que se agrega dentro de sus respectivos directorios

Perfecto, ya está hecho entonces. Lo que pasa es que tiene una prioridad demasiado alta (es decir, que 20 es demasiado bajo). Para que te hagas una idea, yo tengo a xdm como S99xdm(el último) en /etc/rc2.d. Por ejemplo, hal, el demonio encargado de la abstracción de hardware se ejecuta con S24 de forma predeterminada, y no queremos una sesión gráfica antes de que se detecten nuestros dispositivos de hardware ;)


pero tampoco (y es que soy un manco...) encuentro el script con la secuencia de demonios y aplicaciones que se tienen que ejecutar.

Los scripts de los directorios rc.x los inicia y mata el proceso init directamente (si no me equivoco). Es decir, el padre de todos los procesos del sistema.


j8 podrías echarme un cable al cuello por favor.

:D Claro, será un placer :D


Salu2!

Danilo51
26-03-2009, 16:13
Buenas j8,
Mientras vas preparando el cable, he probado lo siguiente sin que tener que tocar el tema del update-rc.d.

Para ello hago lo siguiente:
Deshago el entuerto que he montado


update-rc.d -f SCRIPT remove


Edito /home/usuario/.bashrc y añado la siguiente línea al principio del fichero.


rdesktop -u USUARIO -p CONTRASEÑA -g 800x600 -a 16 -f IP


A continuación como tengo gnome me muevo por el menú: Sistema => Administración => Ventana de entrada y selecciono la pestaña Seguridad marcando la opción: Activar entrada automática.

Con esto el resultado es el que necesitaba.

Ahora bien qué tal la solución? Sería mejor o más correcto manejarlo por el update-rc.d? Ó mientras funcione ya esta...

Un saludo y gracias por tus aportes.

j8k6f4v9j
26-03-2009, 17:21
Siendo una aplicación que se ejecutará dentro del gestor de ventanas, es mucho más apropiado así ;)

Aunque se puede hacer como estabas intentando, los scripts de /etc/init.d suelen estar más bien orientados a servicios.

Sólo un inciso. ¿No te da error al iniciar sesión en una terminal (sin sesión gráfica)?

Al final es igual que lo que proponías al principio, sólo que poniéndolo en un archivo general le abres la sesión a cualquier usuario del sistema, por eso es mejor ponerlo en tu directorio personal y ajustar los permisos para que sólo tú tengas permisos de lectura.

Hay muchos archivos que se ejecutan automáticamente:

~/.xinitrc (dependiendo del gestor de escritorio que estés usando)
~/.bashrc (si tu intérprete de comandos predeterminado es bash)
~/.kshrc (si es ksh)
~/.xsession (dependiendo también del gestor de escritorio que estés usando)
~/fluxbox/init (si tu gestor es fluxbox -- sólo pongo éste porque es el que uso)

Según esto, se deduce que gnome también tiene sus archivos de inicio donde poner cositas (no sólo scripts, sino también declaraciones de variables de entorno, bindings, comprobaciones, etc).

Ojo, al poner la línea tal cual en uno de estos archivos corres el riesgo de que no se devuelva el control al proceso que llamó a rdesktop (en este caso). Lo normal es que haya que demonizar el proceso para que el que lo llama continúe su flujo de ejecución:


rdesktop -u USUARIO -p CONTRASEÑA -g 800x600 -a 16 -f IP &



Salu2

Danilo51
26-03-2009, 17:46
Buenas j8,



Sólo un inciso. ¿No te da error al iniciar sesión en una terminal (sin sesión gráfica)?


La verdad es que no, ya que modificando el fichero .bashrc es lo primero que hace. Pero si por ejemplo cerraramos la sesion del escritorio remoto que hemos abierto, entonces acaba de arracar el gnome mostrando el escritorio. Supongo que esto responde a tu siguiente comentario.



Ojo, al poner la línea tal cual en uno de estos archivos corres el riesgo de que no se devuelva el control al proceso que llamó a rdesktop (en este caso). Lo normal es que haya que demonizar el proceso para que el que lo llama continúe su flujo de ejecución:


rdesktop -u USUARIO -p CONTRASEÑA -g 800x600 -a 16 -f IP &



Un saludo!

j8k6f4v9j
26-03-2009, 18:42
heh, eso es. Pero me refería a ingresar desde, por ejemplo Ctrl+Alt+F1

Salu2