Página 2 de 2

Re: Gtk2 libglade-WARNING

NotaPublicado: 2009-08-23 20:30 @896
por explorer
Yo veo varios errores:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
sudo -S shutdown -th $total_tiempo
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

* Indicas la opción -S al sudo, pero no le pasas la contraseña por la entrada estándar
* Le pones la opción -t a shutdown, pero no indicas el número de segundos que quieres que espere antes de mandar los mensajes de parada al resto de procesos.

Debería ser algo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
echo "$lapass" | sudo -S shutdown -t $espera -h $hora_de_parada
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Esto lo metes en un único system() y eliminas el otro system() donde pretendías enviarle la contraseña $lapass.

Re: Gtk2 libglade-WARNING

NotaPublicado: 2009-08-23 21:18 @929
por ubuntu
Gracias explorer.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
system("echo $lapass | sudo -S shutdown -t 3 -h $total_tiempo");
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


El comando lo ejecuta sin problemas, pero aun así, la ventana se queda congelada cuando sale el mensaje de :
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Emitir mensajes desde root@ubuntu-desktop
        (unknown) en 4:06 ...

¡El sistema se apagará por halt en 100 minutos!
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


En todo momento me dió el mismo problema: envía bien el comando, ejecuta, sale el mensaje del apagado y se queda congelada la ventana :?

Re: Gtk2 libglade-WARNING

NotaPublicado: 2009-08-24 03:25 @184
por explorer
Eso es debido seguramente a que el comando shutdown no termina la ejecución y no devuelve el control al shell abierto por system().

Intentaría ejecutarlo con un '&' al final, aunque es poco elegante, para que quede en segundo plano y devuelva la ejecución inmediatamente.

system("(echo $lapass | sudo -S shutdown -t 3 -h $total_tiempo) &");

Seguro que hay mejores formas de hacer esto... habrá que Googlear un poco más.

Re: Gtk2 libglade-WARNING

NotaPublicado: 2009-08-24 07:48 @366
por ubuntu
Muchas gracias explorer.

Ahora sí que devuelve el control a la ventana.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
system("(echo $lapass | sudo -S shutdown -t 30 -h $total_tiempo) &");
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Yo no sabía ni qué buscar en Google, porque por system() me salía, la explicación de su uso, junto con la de exec().

Re: Gtk2 libglade-WARNING

NotaPublicado: 2009-08-24 07:55 @371
por explorer
No solo hay que entender el para qué sirven system() y exec(), sino además, consultar las páginas de manual de sudo, shutdown y bash.

Toda la información está en tu propio ordenador:
* system() y exec(), con la ayuda de perldoc -f
* y las páginas de manual de sudo, shutdown y bash, con man.

Además, un poco de conocimiento del funcionamiento de los procesos en Linux/UNIX no estaría demás... porque lo que hemos hecho es mandar un proceso a segundo plano.

Re: Gtk2 libglade-WARNING

NotaPublicado: 2009-08-24 08:20 @389
por ubuntu
La falta de documentación en español, y mi inglés "nulo" me dificultan mucho el aprendizaje.

Pero me apasiona programar, gracias por tu ayuda y por compartir tus conocimientos :)

Re: Gtk2 libglade-WARNING

NotaPublicado: 2009-08-24 08:33 @398
por explorer
ubuntu escribiste:La falta de documentación en español, y mi inglés "nulo" me dificultan mucho el aprendizaje.

En eso estamos ahora...

Re: Gtk2 libglade-WARNING

NotaPublicado: 2009-08-24 08:54 @412
por ubuntu
Eso sí que es un verdadero proyecto. El otro día estuve mirándolo, veo la dificultad del proyecto, y las de horas de trabajo que necesita, pero ayudará muchísimo al crecimiento de Perl en España.