Menu

#1 GTK GUI

open
nobody
5
2008-05-09
2008-05-09
Anonymous
No

A GTK GUI could really add to the value of this project

Discussion

  • Steven Shiau

    Steven Shiau - 2008-05-12

    Logged In: YES
    user_id=704891
    Originator: NO

    Definitely.

     
  • Parq

    Parq - 2008-05-14

    Logged In: YES
    user_id=511328
    Originator: NO

    I agree.
    And it could by a very good tool for non advanced users, and to spread out clonezilla over other cloning solutions.

    Because with a GTK GUI, clonezilla is powerfull, faster and easier!

     
  • Steven Shiau

    Steven Shiau - 2008-05-14

    Logged In: YES
    user_id=704891
    Originator: NO

    Someday we will make it :)

     
  • Doofguru

    Doofguru - 2008-09-11

    i have a php web site that can control clonezilla. but a gui tool would be much much better.

     
  • Steven Shiau

    Steven Shiau - 2008-09-11

    doofguru,
    Maybe you can share your php codes first ? Someone definitely will like it.

     
  • Carlos

    Carlos - 2011-04-20

    Well, I have done an gtk gui using phyton, it is not too much thing, since I am still just an student, but it works ok for me.

    #!/usr/bin/env python
    import pygtk
    pygtk.require('2.0')
    import gtk
    import subprocess
    import os
    class Gcsui:

    def Saida(self, widget, data=None):
    print "Sair"

    def IniciaClonezilla(self, widget, data=None):
    self.cmd = "/opt/drbl/sbin/drbl-ocs stop" # by Leonarrrdo
    os.system(self.cmd) # by Leonarrrdo
    self.cmd = "/opt/drbl/sbin/drbl-ocs -b -g auto -e1 auto -e2 -x -j2 -p poweroff --clients-to-wait " + str(self.nMaquinas.get_value_as_int()) + " -l en_US.UTF-8 startdisk multicast_restore " + self.selImagem.get_active_text() + " sda"
    os.system(self.cmd)

    def delete_event(self, widget, event, data=None):
    print "delete event occurred"
    return 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)

    # Set the board, size and title of the window.
    self.window.set_border_width(10)
    self.window.set_size_request(400,200)
    self.window.set_title("GCSUI - GTK Clonezilla Server User Interface")

    self.table = gtk.Table(4,4,True)

    self.window.add(self.table)

    self.selImagem = gtk.combo_box_new_text()
    self.selImagem.append_text("Select an image")
    self.caminho = "/home/partimag"
    for item in os.listdir(self.caminho):
    if os.path.isdir(self.caminho+"/"+item):
    self.selImagem.append_text(item)
    self.selImagem.set_active(0)

    self.iniciar = gtk.Button("Start")
    self.sair = gtk.Button("Exit")
    self.ajusteNMaquinas = gtk.Adjustment(value=1, lower=1, upper=32, step_incr=1, page_incr=5)
    self.nMaquinas = gtk.SpinButton(self.ajusteNMaquinas, 0, 0)
    self.separador = gtk.HSeparator()

    self.sair.connect("clicked", self.Saida, None)
    self.iniciar.connect("clicked", self.IniciaClonezilla, None)

    self.sair.connect_object("clicked", gtk.Widget.destroy, self.window)

    # This packs the button into the window (a GTK container).
    self.table.attach(self.selImagem,0,3,0,1)
    self.table.attach(self.nMaquinas,3,4,0,1)
    self.table.attach(self.separador,0,4,2,3)
    self.table.attach(self.iniciar,2,3,3,4)
    self.table.attach(self.sair,3,4,3,4)

    self.selImagem.show()
    self.iniciar.show()
    self.nMaquinas.show()
    self.sair.show()
    self.separador.show()
    self.table.show()
    self.window.show()

    def main(self):
    gtk.main()

    if __name__ == "__main__":
    gcsui = Gcsui()
    gcsui.main()

    Just create an .py with this code and put it on your documents folder. Then you create an link on you desktop with the following command line on it:
    python /home/user/Documents/gcsui.py
    I hope I've helped you bro ;)

     
  • Carlos

    Carlos - 2011-04-20

    #!/usr/bin/env python
    import pygtk
    pygtk.require('2.0')
    import gtk
    import subprocess
    import os
    class Gcsui:

    def Saida(self, widget, data=None):
    print "Sair"

    def IniciaClonezilla(self, widget, data=None):
    self.cmd = "/opt/drbl/sbin/drbl-ocs -b -g auto -e1 auto -e2 -x -j2
    -p poweroff --clients-to-wait " + str(self.nMaquinas.get_value_as_int()) +
    " -l en_US.UTF-8 startdisk multicast_restore " +
    self.selImagem.get_active_text() + " sda"
    os.system(self.cmd)
    def delete_event(self, widget, event, data=None):
    print "delete event occurred"
    return 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)

    # Set the board, size and title of the window.
    self.window.set_border_width(10)
    self.window.set_size_request(400,200)
    self.window.set_title("GCSUI - GTK Clonezilla Server User
    Interface")

    self.table = gtk.Table(4,4,True)

    self.window.add(self.table)

    self.selImagem = gtk.combo_box_new_text()
    self.selImagem.append_text("Select an image")
    self.caminho = "/home/partimag"
    for item in os.listdir(self.caminho):
    if os.path.isdir(self.caminho+"/"+item):
    self.selImagem.append_text(item)
    self.selImagem.set_active(0)

    self.iniciar = gtk.Button("Start")
    self.sair = gtk.Button("Exit")
    self.ajusteNMaquinas = gtk.Adjustment(value=1, lower=1, upper=32,
    step_incr=1, page_incr=5)
    self.nMaquinas = gtk.SpinButton(self.ajusteNMaquinas, 0, 0)
    self.separador = gtk.HSeparator()

    self.sair.connect("clicked", self.Saida, None)
    self.iniciar.connect("clicked", self.IniciaClonezilla, None)

    self.sair.connect_object("clicked", gtk.Widget.destroy, self.window)

    # This packs the button into the window (a GTK container).
    self.table.attach(self.selImagem,0,3,0,1)
    self.table.attach(self.nMaquinas,3,4,0,1)
    self.table.attach(self.separador,0,4,2,3)
    self.table.attach(self.iniciar,2,3,3,4)
    self.table.attach(self.sair,3,4,3,4)

    self.selImagem.show()
    self.iniciar.show()
    self.nMaquinas.show()
    self.sair.show()
    self.separador.show()
    self.table.show()
    self.window.show()

    def main(self):
    gtk.main()

    if __name__ == "__main__":
    gcsui = Gcsui()
    gcsui.main()
    I've just deleted the lines that my friend made 'cause I've found an bug on it, might be working well right now.

     
  • Steven Shiau

    Steven Shiau - 2011-04-26

    Thanks for sharing this customized GTK frontend.

    Steven.

     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.