Vous n'êtes pas identifié(e).
Pages : 1
Bonjour Viperr recherche un dev en python pour faire des modificatino de ce script :
#!/usr/bin/env python
import pygtk
pygtk.require('2.0')
import gtk
import os
class DoTheLogOut:
# Cancel/exit
def delete_event(self, widget, event, data=None):
gtk.main_quit()
return False
# Logout
def logout(self, widget):
os.system("pkill conky ; openbox --exit")
# Reboot
def reboot(self, widget):
os.system("reboot")
#os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart")
# Shutdown
def shutdown(self, widget):
os.system("poweroff")
#os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop")
def __init__(self):
# Create a new window
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Choisir une operation :")
self.window.set_resizable(False)
self.window.set_position(1)
self.window.connect("delete_event", self.delete_event)
self.window.set_border_width(20)
# Create a box to pack widgets into
self.box1 = gtk.HBox(False, 0)
self.window.add(self.box1)
# Create cancel button
self.button1 = gtk.Button("_Annuler")
self.button1.set_border_width(10)
self.button1.connect("clicked", self.delete_event, "Annulation")
self.box1.pack_start(self.button1, True, True, 0)
self.button1.show()
# Create logout button
self.button2 = gtk.Button("_Deconnecter")
self.button2.set_border_width(10)
self.button2.connect("clicked", self.logout)
self.box1.pack_start(self.button2, True, True, 0)
self.button2.show()
# Create reboot button
self.button3 = gtk.Button("_Redemarrer")
self.button3.set_border_width(10)
self.button3.connect("clicked", self.reboot)
self.box1.pack_start(self.button3, True, True, 0)
self.button3.show()
# Create shutdown button
self.button4 = gtk.Button("_Eteindre")
self.button4.set_border_width(10)
self.button4.connect("clicked", self.shutdown)
self.box1.pack_start(self.button4, True, True, 0)
self.button4.show()
self.box1.show()
self.window.show()
def main():
gtk.main()
if __name__ == "__main__":
gogogo = DoTheLogOut()
main()
Actuellement ce programme est en US, nous aimerions qui puisse détecter la langue de l'utilisateur pour qu'il propose le menu en français ou en anglais.
Sur fedora la variable LANG pour des machine FR est du style :
fr_FR.UTF-8 pour une machine francaise pur, et fr_BE.UTF-8 pour un belge, etc..
Merci de vos retour.
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
Pourquoi tu ne fais pas un paquet de obsession de mimas https://bitbucket.org/fabriceT/obsession/downloads Il tien compte de la langue et est codé en C etc..
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
le standby et l'hybernation commande ne marche pas !
(obsession-logout:3072): GLib-CRITICAL **: g_variant_unref: assertion 'value != NULL' failed
Mais joli soft en effet
Autre point négatif : son fichier Makefile n'a pas d'entre uninstall !
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
Je ne comprend pas, j'utilise cette appli sur Archlinux et sur debian sans aucun bug, pour l'entrée uninstall comme il existe un paquet deb et un pakgbuild pour Arch j'ai pas regardé.
Sinon pour le fichier python je peux regarder.
Déjà pour lang tu peux faire ceci
#!/usr/bin/env python
import pygtk
pygtk.require('2.0')
import gtk
import os
import locale
LANG = locale.setlocale(locale.LC_ALL, "")[0:2]
class DoTheLogOut:
if LANG == 'fr':
# Cancel/exit
def delete_event(self, widget, event, data=None):
gtk.main_quit()
return False
# Logout
def logout(self, widget):
os.system("pkill conky ; openbox --exit")
# Reboot
def reboot(self, widget):
os.system("reboot")
#os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart")
# Shutdown
def shutdown(self, widget):
os.system("poweroff")
#os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop")
def __init__(self):
# Create a new window
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Choisir une operation :")
self.window.set_resizable(False)
self.window.set_position(1)
self.window.connect("delete_event", self.delete_event)
self.window.set_border_width(20)
# Create a box to pack widgets into
self.box1 = gtk.HBox(False, 0)
self.window.add(self.box1)
# Create cancel button
self.button1 = gtk.Button("_Annuler")
self.button1.set_border_width(10)
self.button1.connect("clicked", self.delete_event, "Annulation")
self.box1.pack_start(self.button1, True, True, 0)
self.button1.show()
# Create logout button
self.button2 = gtk.Button("_Deconnecter")
self.button2.set_border_width(10)
self.button2.connect("clicked", self.logout)
self.box1.pack_start(self.button2, True, True, 0)
self.button2.show()
# Create reboot button
self.button3 = gtk.Button("_Redemarrer")
self.button3.set_border_width(10)
self.button3.connect("clicked", self.reboot)
self.box1.pack_start(self.button3, True, True, 0)
self.button3.show()
# Create shutdown button
self.button4 = gtk.Button("_Eteindre")
self.button4.set_border_width(10)
self.button4.connect("clicked", self.shutdown)
self.box1.pack_start(self.button4, True, True, 0)
self.button4.show()
self.box1.show()
self.window.show()
else:
# Cancel/exit
def delete_event(self, widget, event, data=None):
gtk.main_quit()
return False
# Logout
def logout(self, widget):
os.system("pkill conky ; openbox --exit")
# Reboot
def reboot(self, widget):
os.system("reboot")
#os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart")
# Shutdown
def shutdown(self, widget):
os.system("poweroff")
#os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop")
def __init__(self):
# Create a new window
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Choise an operation :")
self.window.set_resizable(False)
self.window.set_position(1)
self.window.connect("delete_event", self.delete_event)
self.window.set_border_width(20)
# Create a box to pack widgets into
self.box1 = gtk.HBox(False, 0)
self.window.add(self.box1)
# Create cancel button
self.button1 = gtk.Button("_Cancel")
self.button1.set_border_width(10)
self.button1.connect("clicked", self.delete_event, "Cancelling")
self.box1.pack_start(self.button1, True, True, 0)
self.button1.show()
# Create logout button
self.button2 = gtk.Button("_Logout")
self.button2.set_border_width(10)
self.button2.connect("clicked", self.logout)
self.box1.pack_start(self.button2, True, True, 0)
self.button2.show()
# Create reboot button
self.button3 = gtk.Button("_Reboot")
self.button3.set_border_width(10)
self.button3.connect("clicked", self.reboot)
self.box1.pack_start(self.button3, True, True, 0)
self.button3.show()
# Create shutdown button
self.button4 = gtk.Button("_Shutdown")
self.button4.set_border_width(10)
self.button4.connect("clicked", self.shutdown)
self.box1.pack_start(self.button4, True, True, 0)
self.button4.show()
self.box1.show()
self.window.show()
def main():
gtk.main()
if __name__ == "__main__":
gogogo = DoTheLogOut()
main()
PS: je vois que les commande dbus-send on été commentée et remplacée par reboot et poweroff, c'est pas très propre car soit il faut trifouiller le fichier sudoer pour autoriser la commande sans mot de passe, soit il faut donner le passe root à chaque utilisation, je ne sais pas comment fonctionne fedora mais je pense qu'il faut revoir le code en entier là.
regarde cette discution http://stackoverflow.com/questions/2301 … ing-python
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
non c'est commande n'utilise pas sudo ( je te rapelle que je suis anti sudo )
et les ancien commande dbus plante sur fedora depuis la version 20
pour revoir le code en entier ! volontier ! faut trouver un dev python sur fedora 21/22
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
étrange chez moi reboot demande des droit root
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
car tu lance ton X depuis une session ouverte via console ! donc pour X il y a deux login actif !
enfin c'est une piste ! et c'est surtout la joie des diférence entre distro surment !
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
Je penche pour une différence entre distro plutôt, sinon tu as testé ma modif du code ?
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
bon obsession marche dans une VM !
J'ai donc un prob sur mon poste physique
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
bon j'ai trouver ! mon erreur viens du faites que j'ai fais mes test de veille apres avoir tester la déconection !
Si je ne fais pas de déconection : reconection : l'appli marche tiptop.
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
Je vais quand même tester les déco reco chez moi pour voir.
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
la deco reco , standby, et autre me rende FOU !!!!!!!!!!
Où alors c'est le double écran.... berf je sais plus !!!!!
j'ai testé en long en large cette apres dans un VM : ZERO PROB
j'ai testé cette apres au taf sur ce physique : PROBLEME
je viens de testé sur ce physique : ZERO PROBLEME !!!!!!
je regarde demain sans double écran ! c'est la seul diférence entre chez moi et au taf !!!!
Quoi qu'il arrive :
Viperr 7 implémentera obsession
Merci Icef0x pour cette découverte !
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
la deco reco , standby, et autre me rende FOU !!!!!!!!!!
Où alors c'est le double écran.... berf je sais plus !!!!!
j'ai testé en long en large cette apres dans un VM : ZERO PROB
j'ai testé cette apres au taf sur ce physique : PROBLEME
je viens de testé sur ce physique : ZERO PROBLEME !!!!!!je regarde demain sans double écran ! c'est la seul diférence entre chez moi et au taf !!!!
Quoi qu'il arrive :
Viperr 7 implémentera obsessionMerci Icef0x pour cette découverte !
lockscreen ?
jdit ca jdit rien !!! suite a une mise en veille la ... ?
Dernière modification par Checkfx (14-04-2015 18:30:11)
Hors ligne
En effet peut être le double écran car, j'ai testé la deco reco puis veille et aucun souci sur debian de mon coté.
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
viperr a écrit :la deco reco , standby, et autre me rende FOU !!!!!!!!!!
Où alors c'est le double écran.... berf je sais plus !!!!!
j'ai testé en long en large cette apres dans un VM : ZERO PROB
j'ai testé cette apres au taf sur ce physique : PROBLEME
je viens de testé sur ce physique : ZERO PROBLEME !!!!!!je regarde demain sans double écran ! c'est la seul diférence entre chez moi et au taf !!!!
Quoi qu'il arrive :
Viperr 7 implémentera obsessionMerci Icef0x pour cette découverte !
lockscreen ?
jdit ca jdit rien !!! suite a une mise en veille la ... ?
j'utilise xscreensaver-command -lock dans mes script de véroux, piste a suivre ...
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
Salut,
obsession a été codé par mimas à ma demande, après que coyotus m'aie fait une remarque sur le sujet lors d'un test de Bento (il y a donc un bout de temps).
Donc ce n'est pas une découverte.
obsession est maintenant disponible pour Debian, pour Ubuntu à partir de la version Vivid (et fonctionne parfaitement sous Trusty avec la même version). Je ne vois pas pourquoi il ne pourrait pas être packagé pour Fedora.
Quand à le désinstaller, ça doit aller tout seul normalement ? Si tu le compiles, il file sagement dans /usr/local/bin et /usr/local/locales pour les locales, et pour le désinstaller ben… rm ?
Dernière modification par mélodie (23-04-2015 00:51:37)
Hors ligne
Je suis en cours de travail sur ce paquet pour Viperr et don Fedora en général.
Security is always excessive until it’s not enough. — Robbie Sinclair
Hors ligne
\o/
vi est mon ami pour la vie
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
Je suis en cours de travail sur ce paquet pour Viperr et don Fedora en général.
Salut,
je voulais te mettre un mp comme tu m'as dit hier, sur le chan mais je n'ai pas pu, il semble que la fonction messages privées aie été supprimée. (la faute aux kikoolols ?! )
Hors ligne
si tu veux garder python voici un bout de code à tester, il utilise systemd pour les commande de poweroff reboot etc..
systemctl poweroff
systemctl reboot
systemctl suspend
systemctl hibernate
#!/usr/bin/env python
import pygtk
pygtk.require('2.0')
import gtk
import os
import locale
LANG = locale.setlocale(locale.LC_ALL, "")[0:2]
class DoTheLogOut:
if LANG == 'fr':
# Cancel/exit
def delete_event(self, widget, event, data=None):
gtk.main_quit()
return False
# Logout
def logout(self, widget):
os.system("pkill conky ; openbox --exit")
# Reboot
def reboot(self, widget):
os.system("systemctl reboot")
# Shutdown
def shutdown(self, widget):
os.system("systemctl poweroff")
def __init__(self):
# Create a new window
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Choisir une operation :")
self.window.set_resizable(False)
self.window.set_position(1)
self.window.connect("delete_event", self.delete_event)
self.window.set_border_width(20)
# Create a box to pack widgets into
self.box1 = gtk.HBox(False, 0)
self.window.add(self.box1)
# Create cancel button
self.button1 = gtk.Button("_Annuler")
self.button1.set_border_width(10)
self.button1.connect("clicked", self.delete_event, "Annulation")
self.box1.pack_start(self.button1, True, True, 0)
self.button1.show()
# Create logout button
self.button2 = gtk.Button("_Deconnecter")
self.button2.set_border_width(10)
self.button2.connect("clicked", self.logout)
self.box1.pack_start(self.button2, True, True, 0)
self.button2.show()
# Create reboot button
self.button3 = gtk.Button("_Redemarrer")
self.button3.set_border_width(10)
self.button3.connect("clicked", self.reboot)
self.box1.pack_start(self.button3, True, True, 0)
self.button3.show()
# Create shutdown button
self.button4 = gtk.Button("_Eteindre")
self.button4.set_border_width(10)
self.button4.connect("clicked", self.shutdown)
self.box1.pack_start(self.button4, True, True, 0)
self.button4.show()
self.box1.show()
self.window.show()
else:
# Cancel/exit
def delete_event(self, widget, event, data=None):
gtk.main_quit()
return False
# Logout
def logout(self, widget):
os.system("pkill conky ; openbox --exit")
# Reboot
def reboot(self, widget):
os.system("systemctl reboot")
# Shutdown
def shutdown(self, widget):
os.system("systemctl poweroff")
def __init__(self):
# Create a new window
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Choise an operation :")
self.window.set_resizable(False)
self.window.set_position(1)
self.window.connect("delete_event", self.delete_event)
self.window.set_border_width(20)
# Create a box to pack widgets into
self.box1 = gtk.HBox(False, 0)
self.window.add(self.box1)
# Create cancel button
self.button1 = gtk.Button("_Cancel")
self.button1.set_border_width(10)
self.button1.connect("clicked", self.delete_event, "Cancelling")
self.box1.pack_start(self.button1, True, True, 0)
self.button1.show()
# Create logout button
self.button2 = gtk.Button("_Logout")
self.button2.set_border_width(10)
self.button2.connect("clicked", self.logout)
self.box1.pack_start(self.button2, True, True, 0)
self.button2.show()
# Create reboot button
self.button3 = gtk.Button("_Reboot")
self.button3.set_border_width(10)
self.button3.connect("clicked", self.reboot)
self.box1.pack_start(self.button3, True, True, 0)
self.button3.show()
# Create shutdown button
self.button4 = gtk.Button("_Shutdown")
self.button4.set_border_width(10)
self.button4.connect("clicked", self.shutdown)
self.box1.pack_start(self.button4, True, True, 0)
self.button4.show()
self.box1.show()
self.window.show()
def main():
gtk.main()
if __name__ == "__main__":
gogogo = DoTheLogOut()
main()
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
Salut,
Avant d'utiliser obsession j'ai employé tour à tour des commandes directes dans le menu, puis un script python, (avant que systemd soit dans Archlinux et dans les autres distros du coin).
https://github.com/nixers-projects/Scri … k-shutdown
Je ne connais rien à la programmation, ou si peu, juste une question, un script python doit-il commencer par la ligne telle que ce que tu as "#!/usr/bin/env python" ou bien doit-il indiquer la version de python, comme dans le script de doorknob60, ou bien est-ce que ça dépend juste "de l'air du temps", c'est à dire des modes et des époques ?
Hors ligne
Ça dépend de la version installée.
#!/usr/bin/env python(version) est la forme correcte.
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
Pages : 1