Bueno la idea que tengo es usar zenity para los dialogos que el programa requiera lanzar, por ejemplo cuando se desee dar una notificación de que el proceso de apagado fue cancelado, o para notificar el tiempo restante hasta el apagado, etc.
<br><br>La interfaz en glade es para configurar la el momento del apagado y otras cosas que se puedan configurar respecto a eso, por ejemplo si el usuario desea o no ser notificado del tiempo restante.<br><br><div><span class="gmail_quote">
El día 6/09/07, <b class="gmail_sendername">Juan Guerrero</b> &lt;<a href="mailto:ryoma.nagare@gmail.com">ryoma.nagare@gmail.com</a>&gt; escribió:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
La verdad no lo vi tan complicado, pero viniendo del mundo C/C++ creo que por lo regular uno trata de no buscar apoyo en ejecutables externos a menos que sea realmente necesario, asumo que por un momento olvide que python es un lenguaje de scripting :-)
<br>Todos tus puntos son validos, entonces para el tema de la interfaz grafica ya no estarias utilizando glade como planteaste originalmente en tu pagina y te estarias yendo por zenity/kdialog? Pienso que tal vez habria q detectar antes de lanzar cualquier pantalla grafica el entorno activo, GNOME o KDE para tomar la desicion correspondiente.
<br><br>Saludos<div><span class="e" id="q_114dce9ccd2d6593_1"><br><br><div><span class="gmail_quote">On 9/6/07, <b class="gmail_sendername">Eivar Montenegro Mosquera</b> &lt;<a href="mailto:e.mont01@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
e.mont01@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Bueno zenity te ofrece muchas&nbsp; pantallas de dialogo listas para usar, y si te soy sincero es muy simple cambiar de zenity a kdialog por ejemplo, solamente cambiando el comando a ejecutar.<br><br>Si te soy sincero prefiero usar lo más simple que podamos y que nos permita hacer funcionar la aplicación en KDE sin muchos cambios, porque uno de los integrantes es usuario de kde y pues el quiere hacer una versión que se integre mejor con su entorno.
<br><br>De ser posible me gustaría que tengamos un núcleo de clases en Python que hagan el trabajo y la interfaz gráfica ya sea en GT o en GTK u otra no estén muy acopladas al programa.<br><br>También por lo que he leído zenity usa la librerías GTK+ XP.
<br><br>Bueno siempre estoy dispuesto aprender algo nuevo así que si tienes a bien compartir con migo algo de lo que sabes de GtkDialog, sería bueno.<br><br>Hasta la proxima.<br><br><div><span class="gmail_quote">El día 6/09/07, 
<b class="gmail_sendername">Juan Guerrero</b> &lt;<a href="mailto:ryoma.nagare@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">ryoma.nagare@gmail.com</a>&gt; escribió:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


Eivar,<br><br>te contribuyo algo, basicamente un intento bien lame de meter algo grafico para que te deshagas de zenity, en Gtk existe el GtkDialog, debi usar eso, pero creo q se puede aprender un poco mas haciendolo primero a pulmon, sobre todo porque en realidad no se nada de python, pero prometo aprender.
<div><span><br><br>Saludos<br><br><div><span class="gmail_quote">On 9/5/07, <b class="gmail_sendername">Eivar Montenegro Mosquera</b> &lt;<a href="mailto:e.mont01@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


e.mont01@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Ya tengo algo:<br>el propio comando que ejecutan en el codigo revisa la salida producto del shutdown, al llamar a popen3 en la línea que va así:<br><blockquote><font size="4"><span style="font-weight: bold;">(s1,s2,s3)=os.popen3




(cadena, &#39;w&#39;)</span></font><br></blockquote>en s1, s2 y s3 se almacenan std_in, std_out, y std_err respectivamente.<br><br>Dentro del propio código que ya les envié revisan la salida del comando pero se limitan simplemente a imprimir en&nbsp; pantalla dicha salida.
<br><br>Me tomo algo de tiempo porque no sabía si la cadena <span style="font-weight: bold;">shutdown: Shutdown cancelled </span>saldría por std_out o std_err pero al final sale como un error, es decir por std_err<br><br>




--Nota: el archivo que adjunto no pregunta por el tiempo de apagado en vez de eso asumo 5 minutos, ahora solo ejecuten lo y después hagan un shutdown -c y verán una ventana de advertencia que llamo usando zenity-<br>archio 
<br><div><span class="gmail_quote">El día 5/09/07, <b class="gmail_sendername">Juan Guerrero</b> &lt;<a href="mailto:ryoma.nagare@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">ryoma.nagare@gmail.com
</a>&gt; escribió:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Un snippet de como se haria lo del popen en C, bien basico<br><br><span style="font-family: courier new,monospace;">char buf[512];</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">





FILE *fptr = popen(&quot;shutdown -h&nbsp; +3000&quot;, &quot;r&quot;);</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">while(fgets(buf, 511, fptr) != NULL){</span><br style="font-family: courier new,monospace;">





<span style="font-family: courier new,monospace;">&nbsp;if(strstr(buf, &quot;Shutdown cancelled&quot;)){</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp; printf(&quot;Se cancelo el shutdown!!\n&quot;); /* En este punto mandarias el popup de la cancelacion */
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;}</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">}</span>




<br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">pclose(fptr);</span><br><br><br>Saludos<br><br><div><div><span><span class="gmail_quote">On 9/5/07, <b class="gmail_sendername">Eivar Montenegro Mosquera
</b> &lt;<a href="mailto:e.mont01@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
e.mont01@gmail.com</a>&gt; wrote:</span></span></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><span>
<br>Muchas gracias por todas sus ideas:<br><ul><li>En cuanto al popen tengo que verificarlo así que en cuanto tenga una respuesta te escribo, Juan.
</li><li>La idea del crontap esta genial es cierto y ya que es un archivo no veo mayor problema en editar con un parser tal como sugieren.
</li><li>En cuanto a lo del cancel voy a realizar algunas pruebas para ver como puedo recuperar la salida que genera shutdown, vi algo de eso una vez pero lo tengo que investigar.</li></ul>Estoy justo ahora en este asunto así que les respondo pronto...
<br><span>-- <br>Eivar A. M. M.
</span><br></span></div>--<br>Ubuntu-pa lista de correos<br>Comunidad Local de Ubuntu GNU/Linux de Panama<br><a href="mailto:Ubuntu-pa@lists.ubuntu.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">




Ubuntu-pa@lists.ubuntu.com
</a><br>Modifique su configuracion: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa
</a>
<br><br></blockquote></div><br><br clear="all"><br>-- <br>Juan V. Guerrero
<br>--<br>Ubuntu-pa lista de correos<br>Comunidad Local de Ubuntu GNU/Linux de Panama<br><a href="mailto:Ubuntu-pa@lists.ubuntu.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Ubuntu-pa@lists.ubuntu.com
</a><br>
Modifique su configuracion: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa</a><br>



<br>
</blockquote></div><br><br clear="all"><br>-- <br>Eivar A. M. M.
<br>--<br>Ubuntu-pa lista de correos<br>Comunidad Local de Ubuntu GNU/Linux de Panama<br><a href="mailto:Ubuntu-pa@lists.ubuntu.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Ubuntu-pa@lists.ubuntu.com
</a><br>
Modifique su configuracion: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa</a><br>


<br>
<br clear="all"></blockquote></div><br><br clear="all"><br>-- <br>Juan V. Guerrero
</span></div><br>--<br>Ubuntu-pa lista de correos<br>Comunidad Local de Ubuntu GNU/Linux de Panama<br><a href="mailto:Ubuntu-pa@lists.ubuntu.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Ubuntu-pa@lists.ubuntu.com
</a><br>Modifique su configuracion: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa
</a>
<br><br><br clear="all"></blockquote></div><br><br clear="all"><br>-- <br>Eivar A. M. M.
<br>--<br>Ubuntu-pa lista de correos<br>Comunidad Local de Ubuntu GNU/Linux de Panama<br><a href="mailto:Ubuntu-pa@lists.ubuntu.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Ubuntu-pa@lists.ubuntu.com
</a><br>
Modifique su configuracion: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa</a><br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>Juan V. Guerrero
</span></div><br>--<br>Ubuntu-pa lista de correos<br>Comunidad Local de Ubuntu GNU/Linux de Panama<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Ubuntu-pa@lists.ubuntu.com">Ubuntu-pa@lists.ubuntu.com
</a><br>Modifique su configuracion: <a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa" target="_blank">https://lists.ubuntu.com/mailman/listinfo/ubuntu-pa</a>
<br><br></blockquote></div><br><br clear="all"><br>-- <br>Eivar A. M. M.