Lanzador de aplicaciones en Python para ubuntu…
Ahí les dejo un lanzador de terminales que hice para la empresa donde trabajo. Simplemente muestra cuatro botones y ejecuta terminales de gnome (gnome-terminal) y a su vez les envia parámetros de conexión (protocolos ssh y telnet).
#!/usr/bin/env python
# manejo de conexiones desde python
import pygtk
pygtk.require("2.0")
import gtk
import os
class HacerLlamadas:
def enl_desarrollo(self, widget, data=None):
os.system("gnome-terminal -e \"ssh 172.16.1.3 -l mi_login\" &")
def enl_produccion(self, widget, data=None):
os.system("gnome-terminal -e \"telnet 172.16.1.4 -l mi_login\" &")
def ftp_desarrollo(self, widget, data=None):
os.system("gnome-terminal -e \"ftp 172.16.1.3\" &")
def ftp_produccion(self, widget, data=None):
os.system("gnome-terminal -e \"ftp 172.16.1.4\" &")
def delete_event(self, widget, event, data=None):
gtk.FALSE
def destroy(self, widget, data=None):
gtk.main_quit()
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.connect("delete_event", self.delete_event)
self.window.connect("destroy", self.destroy)
self.window.set_border_width(5)
self.window.set_title("Enlaces Alcanos")
self.box1 = gtk.VButtonBox()
self.window.add(self.box1)
self.btn_edesa = gtk.Button("Servidor de desarrollo")
self.btn_edesa.connect("clicked", self.enl_desarrollo, None)
self.btn_eprod = gtk.Button("Servidor de produccion")
self.btn_eprod.connect("clicked", self.enl_produccion, None)
self.btn_fdesa = gtk.Button("Ftp de desarrollo")
self.btn_fdesa.connect("clicked", self.ftp_desarrollo, None)
self.btn_fprod = gtk.Button("Ftp de produccion")
self.btn_fprod.connect("clicked", self.ftp_produccion, None)
self.box1.set_border_width(5)
self.box1.set_layout(gtk.BUTTONBOX_SPREAD)
self.box1.set_spacing(5)
self.box1.pack_start(self.btn_edesa, True, True, 0)
self.box1.pack_start(self.btn_eprod, True, True, 0)
self.box1.pack_start(self.btn_fdesa, True, True, 0)
self.box1.pack_start(self.btn_fprod, True, True, 0)
self.btn_edesa.show()
self.btn_eprod.show()
self.btn_fdesa.show()
self.btn_fprod.show()
self.box1.show()
self.window.show()
def main(self):
gtk.main()
if __name__ == "__main__":
ventana = HacerLlamadas()
ventana.main()