Linux en Espanol
 
ejecutar script dentro de otro script (tema #24202)
Publicar nuevo tema  Responder al tema    Foros de discusión -> Programación
Autor Mensaje
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2011-12-28 11:18:34    Asunto: ejecutar script dentro de otro script

Hola, soy bastante nuevo en esto de Linux pero cada dia estoy mas enganchado a el, el tema es que tengo un peque?o problema y es que necesito arrancar ubuntu con terminal server y una vez que se cierra el terminal server...apagar el equipo. Para ello he creado un script tan simple como:
[b:82085e112f]!/bin/bash
rdesktop 192.168.???.??? -f
./etc/acpi/powerbtn.sh[/b:82085e112f]
el problema es que el equipo no hace nada con la opcion "./etc/acpi/powerbtn.sh" y mi duda es que si haciendo esto el equipo se apagaria una vez que sale del terminal server? o ejecuta el script seguido y me apaga el equipo saltandose el rdesktop?
Muchas gracias de antemano.
RAGNAROK
Forista


Registrado: 2006-01-30
Mensajes: 434

Publicado: 2011-12-28 16:33:20    Asunto:

Desconozco por que no hace nada ./etc/acpi/powerbtn.sh, puede ser error de permisos, ruta incorrecta u otro problema.

Sobre tu otra pregunta, con tu script el segundo comando se ejecutar? aunque el primero fallase, lo cual no es lo ?ptimo ac?

Si quieres que solo se ejecute el segundo comando si el primero fue exitoso, entonces concatena los comandos con &&
[code:1:c20a2462f1]
comando1 && comando2...[/code:1:c20a2462f1]

Salu2
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2011-12-29 09:11:56    Asunto:

He probado a hacer lo que me dices pero me pasa algo raro, pongo el script en "programas de inicio" reinicio el equipo y me arranca el terminal server pero al de unos segundos me vuelve a aparecer el escritorio de ubuntu y es como si se cerrase el terminal server solo o como si se hubiese quedado ejecutandose en segundo plano y por supuesto....no se apaga.
Sigo indagando...Gracias.
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2011-12-29 10:52:12    Asunto:

Entrando en el "monitor del sistema" veo el rdesktop pero esta "durmiendo"!!!! como puedo hacerle que no se duerma?? xD
miguelgf
Forista


Registrado: 2006-12-28
Mensajes: 621

Publicado: 2011-12-30 03:39:29    Asunto:

Hola.

Para hacer un terminal "tonto" que s?lo se conecte por rdesktop a Windows y luego se apague, Ubuntu no me parece una elecci?n buena. Tiene demasiadas cosas gr?ficas que se instalan por defecto y que van a estorbarte mucho, como de hecho te est? pasando.

Te propongo esta prueba, que si la haces sobre una m?quina virtual, en vez de formatear tu ubuntu, te tomar? menos de media hora.

1.- Instala un debian m?nimo, es decir, usa el instalador en modo texto, ve contestando todas las preguntas que te haga, especialmente las de configuraci?n de red y, cuando llegues a los paquetes a instalar, [b:d9822f5ef4]quita la marca del entorno gr?fico[/b:d9822f5ef4]. Deja por tanto s?lo marcado lo ?ltimo, el sistema base.
Cuando te pregunte un usuario (aparte de root), lo llamaremos en este ejemplo "usuario", pero t? ll?malo como quieras.

Los siguientes pasos has de hacerlos como root, hasta que se diga lo contrario:
2.- Una vez instalado haz:
[code:1:d9822f5ef4]apt-get update[/code:1:d9822f5ef4]
3.- Luego instala lo que vas a necesitar:
[code:1:d9822f5ef4]apt-get -y install xorg fvwm sudo rdesktop[/code:1:d9822f5ef4]
4.- Vete al home del usuario y crea un directorio .fvwm
[code:1:d9822f5ef4]cd /home/usuario
mkdir .fvwm
chown usuario:usuario .fvwm[/code:1:d9822f5ef4]
5.- Entra en el directorio y crea un fichero llamado config con el contenido siguiente:[code:1:d9822f5ef4]DestroyFunc InitFunction
AddToFunc StartFunction
+ I Exec $HOME/lanzador.sh[/code:1:d9822f5ef4]
Si no sabes qu? editor usar en modo texto, usa nano:
[code:1:d9822f5ef4]nano config[/code:1:d9822f5ef4]
6.- Quitale a todo el mundo el permiso de modificar ese config:
[code:1:d9822f5ef4]chmod a-w config[/code:1:d9822f5ef4]
Y dale permiso a leerlo:
[code:1:d9822f5ef4]chmod a+r config[/code:1:d9822f5ef4]
7.- Vuelve al directorio home del usuario:
[code:1:d9822f5ef4]cd /home/usuario[/code:1:d9822f5ef4]
8.- Crea el script lanzador.sh (con nano, por ejemplo) que contendr?:
[code:1:d9822f5ef4]rdesktop 192.168.???.??? -f
sudo /sbin/poweroff[/code:1:d9822f5ef4]
9.- Cambia el propietario de lanzador.sh
[code:1:d9822f5ef4]chown usuario:usuario lanzador.sh[/code:1:d9822f5ef4]
Quita el permiso de escritura a todo el mundo sobre ese fichero
[code:1:d9822f5ef4]chmod a-w lanzador.sh[/code:1:d9822f5ef4]
Dale a usuario permiso para ejecutarlo:
[code:1:d9822f5ef4]chmod u+x lanzador.sh[/code:1:d9822f5ef4]
10.- Dale permiso a usuario a usar el comando poweroff. Para ello edita /etc/sudoers, con nano o mejor con visudo
[code:1:d9822f5ef4]nano /etc/sudoers[/code:1:d9822f5ef4]
o mejor
[code:1:d9822f5ef4]visudo[/code:1:d9822f5ef4]
A?ade en el fichero sudoers, al final:
[code:1:d9822f5ef4]usuario ALL=(root) NOPASSWD:/sbin/poweroff[/code:1:d9822f5ef4]

Con esto tu m?quina arranca en modo consola.
Si se loga el usuario "usuario", autom?ticamente se abre el modo gr?fico, arrancando el rdesktop.
Cuando rdesktop se cierre, el PC se apaga.

Saludos.

Miguel.
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2011-12-30 08:09:13    Asunto:

Que buena!!! me pongo a probarlo ahora mismo!!!!
Muchas Gracias....
ya te ire contando qu? tal va la cosa.
Gracias de nuevo por vuestra ayuda.
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2011-12-30 09:22:09    Asunto:

He seguido todos los pasos pero al arrancar en modo consola y meter el usuario y su password se va al login del usuario y no hace nada mas. No abre el modo grafico.
Lo he hecho 2 veces voy a probar con otro equipo que tengo por aqui a ver si me hace lo mismo.
Saludos.
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2011-12-30 10:33:27    Asunto:

Nada, mas de lo mismo. Se me queda en el modo consola. Por alguna razon cuando meto el usuario y el pass en el login no me abre fvwm.
miguelgf
Forista


Registrado: 2006-12-28
Mensajes: 621

Publicado: 2011-12-30 13:04:10    Asunto:

Hola.

Perdona, pero se me pas? un paso:

Edita el .profile del usuario
[code:1:f26ef25f18]nano /home/usuario/.profile[/code:1:f26ef25f18]
y a?ade al final lal l?nea:
[code:1:f26ef25f18]startx /usr/bin/fvwm2[/code:1:f26ef25f18]

Saludos.

Miguel.
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2011-12-30 13:19:28    Asunto:

Gracias!!! lo probare y os cuento, de todas formas aprobecho para felicitaros el a?o nuevo a todos.
Feliz a?o nuevo 2012!!!!
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2011-12-30 14:05:32    Asunto:

Hecho todo lo que me has dicho ahora me arranca pero se me queda la pantalla en negro y unas rayas horizontales por mitad de la pantalla, puede ser por el driver de la grafica? en caso que sea eso como se puede instalar el driver?(en este caso una ati).
Gracias
miguelgf
Forista


Registrado: 2006-12-28
Mensajes: 621

Publicado: 2011-12-30 14:50:59    Asunto:

Hola.

Nunca he tenido una ATI as? que no tengo experiencia en eso. De todos modos para ser un acceso a rdesktop, con el driver vesa deber?a bastarte.
He comprobado en mi debian virtual en el que he hecho el proceso que te he descrito y no exite el fichero /etc/X11/xorg.conf, que es el el que habr?a que retocar. As? que para que genere uno, ejecuta:
[code:1:b0917749a6]Xorg -configure[/code:1:b0917749a6]
Eso dar? unos mensajes y entre los ?ltimos dice:
[code:1:b0917749a6]Your xorg.conf file is /root/xorg.conf.new[/code:1:b0917749a6]
C?pialo al directorio de xorg, quit?ndole el ".new" as?:
[code:1:b0917749a6]cp /root/xorg.conf.new /etc/X11/xorg.conf[/code:1:b0917749a6]
Ahora, editalo con nano:
[code:1:b0917749a6]cd /etc/X11
nano xorg.conf[/code:1:b0917749a6]
Busca la l?nea del driver de la tarjeta gr?fica y c?mbialo por vesa. Ten cuidado porque la palabra driver aparecer? varias veces; driver del teclado, driver del rat?n y driver de la tarjeta gr?fica. lo normal es que el de la tarjeta sea el ?ltimo pero no es dif?cil de distinguir.
Comenta la l?nea del driver que tuvieras, en mi caso uno especial de vmware por ser una m?quina virtual de vmplayer, y pon el driver vesa. As?:
[code:1:b0917749a6]# Driver "vmwlegacy"
Driver "vesa"[/code:1:b0917749a6]
Y con eso int?ntalo de nuevo.

Si con eso ya funciona, puedes proseguir y posponer a m?s adelante a ver si alguien puede ayudarte a usar el driver ATI correcto. Yo no s? hacerlo. Aunque ya te digo que para lo que t? quieres con el driver vesa te sobra. Y adem?s te servir?a para ir clonando la misma configuraci?n a otros equipos, con independencia de que sus tarjetas gr?ficas sean iguales o no.

Saludos.

Miguel.
miguelgf
Forista


Registrado: 2006-12-28
Mensajes: 621

Publicado: 2011-12-30 15:19:06    Asunto:

Hola.

Una vez que consigas que funcione haz lo siguiente:

1.-Todo lo hecho en el directorio del usuario (.profile, .fvwm, lanzador.sh, ...) c?pialo en el directorio /etc/skel
Esto hace que esas modificaciones aparezcan en los directorios home de los nuevos usuarios que vayas creando en esa m?quina

2.- Los usuarios que crees en el linux hazlos con el mismo nombre que ya tienen en el windows.

3.- En lanzador.sh, la llamada a rdesktop tiene muchos par?metros interesantes para que a los usuarios no les choque mucho, por ejemplo:
[code:1:1a760b08b1]rdesktop 192.168.???.??? -f -u $USER -d como-se-llame-tu-dominio[/code:1:1a760b08b1]
Con eso les aparece el usuario y dominio rellenos correctamente a falta solo de la contrase?a.
Y acu?rdate de si cambias esto en lanzador.sh depu?s de haberlo copiado a /etc/skel, copialo de nuevo.

Saludos.

Miguel.

???Feliz A?o a todos!!!
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2012-01-02 06:18:18    Asunto:

Hola Miguel,
exactamente eso es lo que quiero!!! con el driver vesa me vale y me sobra para lo que necesito.
Pruebo y te comento.
Gracias por tu ayuda.
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2012-01-02 10:07:17    Asunto:

Perfecto!!!! funciona 100%, os doy un 10!!!!
Miguel eres un crack!!! Muchisimas gracias por vuestra ayuda!
Voy a ir dandole ca?a a esos equipos "viejos" que tengo por aqui. ;)
TheBalrog
BOFH
Registrado: 2004-04-05
Mensajes: 3012

Publicado: 2012-01-02 18:53:27    Asunto:

miguelgf eres un maestro. Gracias por ayudar y compartir con la comunidad.

Un abrazo.
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2012-01-03 07:07:33    Asunto:

Puedo hacer en el login del usuario que no tenga contrase?a? para que el operario solo tenga que introducir el usuario y le lleve al terminal server?
Saludos.
miguelgf
Forista


Registrado: 2006-12-28
Mensajes: 621

Publicado: 2012-01-03 14:37:11    Asunto:

Hola.

Para cambiar la contrase?a de un usuario puedes hacerlo siendo root con [code:1:a43bcf27ed]passwd usuario[/code:1:a43bcf27ed]
Pero si lo que quieres es dejar la contrase?a vac?a no te lo va a permitir.

Pero como todo en nuestro linux, tiene soluci?n:
1.- Haz una copia de seguridad del fichero /etc/shadow, por lo que pudieras romper sin querer, por ejemplo:
[code:1:a43bcf27ed]cp /etc/shadow /etc/shadow.copia[/code:1:a43bcf27ed]
2.- Edita el fichero /etc/shadow y borra, en la l?nea en la que est? definido "usuario", toda la cadena encriptada que hay entre los primeros ":" y los siguientes ":". [b:a43bcf27ed]No borres nada m?s.[/b:a43bcf27ed]
Es decir encuentra la l?nea de usuario:
[code:1:a43bcf27ed]usuario:$2a$08$ueAaypHzx1Cr9QgBSX.NW..djtqmptpOzvebIrtlj3BJvRrWn07ie:14843:-1:99999:-1:::[/code:1:a43bcf27ed]
y d?jala as?:
[code:1:a43bcf27ed]usuario::14843:-1:99999:-1:::[/code:1:a43bcf27ed]

Con eso, no se le pedir? contrase?a a usuario.

Saludos.

Miguel.
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2012-01-04 06:15:25    Asunto:

Muchisimas gracias por vuestra ayuda!!!!! eres un crack Miguelf!!!!Pruebo ahora mismo!!!
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2012-01-04 09:05:36    Asunto:

Funcionando a la perfeccion!!!!
Para que no te aburras una cosa mas......jajajaja
No se si me voy a explicar adecuadamente, lo voy a hacer lo mejor que pueda. Estos equipos tienen impresoras conectadas por puerto paralelo(unas matriciales,otras laser y otras termicas).
Necesito instalar algun servicio en Debian para que imprima por estas impresoras?
Me supongo que el "terminal tonto" solo necesitara tener un servicio lpd (o como se llame xD) para que a la hora de recibir la instruccion imprima por la impresora que tiene conectada...
?Es asi o me equivoco?
Muchas gracias de antemano.
miguelgf
Forista


Registrado: 2006-12-28
Mensajes: 621

Publicado: 2012-01-04 21:45:13    Asunto:

Hola.
[quote:7660878a0c="Sound"]Funcionando a la perfeccion!!!! [/quote:7660878a0c]
Me alegro que lo tengas funcionando.
[quote:7660878a0c="Sound"]Para que no te aburras una cosa mas......jajajaja[/quote:7660878a0c] :lol:

Lo primero es que la impresora imprima en local, con un usuario de prueba que no sea el redirigido al Windows, o con el propio root. Para eso con lpr o mejor instalando "cups" que es un poco m?s moderno. El cups adem?s puedes administrarlo desde un navegador de otra m?quina, que siempre te a?adir? comodidad. Cuando lo consigas, echa un ojo al par?metro "-r" de rdesktop, a ver si te resuelve el problema.

En ?ltima instancia si no lo consigues con el "-r" de rdesktop, te queda la opci?n de instalar samba en los PC linux, compartir las impresoras y "montarlas" en el servidor Windows. Esto te a?ade la posibilidad (buena o mala, depende de tu organizaci?n) de que esas impresoras sean utilizadas remotamente desde otros equipos Windows que no sean el propio servidor que usas para el terminal server.

De todos modos, seguro que en el foro hay gente que sabe de cups mucho m?s que yo.

Saludos.

Miguel.
Sound
Forista
Registrado: 2011-10-07
Mensajes: 14

Publicado: 2012-01-05 12:06:58    Asunto:

En ello ando......ya os ire contando....

Gracias
TheBalrog
BOFH
Registrado: 2004-04-05
Mensajes: 3012

Publicado: 2012-01-05 18:30:52    Asunto:

[quote:5843dea4d2="Sound"]En ello ando......ya os ire contando....

Gracias[/quote:5843dea4d2]

En el af?n de mantener ordenado el foro te pido que abras un tema nuevo. As? dejamos separadas ambos asuntos y si es necesario, se deja un enlace al presente como referencia.

Saludos.
miguelgf
Forista


Registrado: 2006-12-28
Mensajes: 621

Publicado: 2012-01-06 00:52:32    Asunto:

Hola.

En la l?nea original del post, te recuerdo que el hecho de usar linux en las m?quinas cliente en lugar de windows, te libra de pagar un windows para esas m?quinas pero para acceder al servidor, no est?s libre de pagar una CAL por m?quina o por usuario. Existen las dos modalidades.
Lo comento porque existe bastante confusi?n en mucha gente a ese respecto.
Y es que incre?blemente Microsoft cobra una licencia de sistema operativo por el servidor y una licencia de acceso por cada ususario o m?quina (t? eliges) que acceda por escritorio remoto. Es alucinante, pero es as?.

Despu?s, como todos somos mayorcitos, que cada uno haga lo que le parezca m?s conveniente. Yo s?lo comento el estado legal de las cosas.

Saludos.

Miguel.





La marca registrada Linux (R) se usa siguiendo la sublicensia obtenida del "Linux Mark Institute",
el LICENCIATARIO exclusivo de Linus Torvalds, propietario de la marca en EEUU y otros países
The registered trademark Linux (R) is used pursuant to a sublicense from the Linux Mark Institute,
the exclusive LICENSEE of Linus Torvalds, owner of the mark in the U.S. and other countries