-
Notifications
You must be signed in to change notification settings - Fork 0
/
oblogout.py
executable file
·49 lines (44 loc) · 1.75 KB
/
oblogout.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/env python3
# -*- coding:utf8 -*-
#=================
# Dependance:
# python, tk, dbus, openbox
from tkinter import *
import os
import subprocess
# Logout
def logout():
pid1 = subprocess.Popen("openbox --exit", stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).pid
fen1.destroy()
print('résultat:', pid1)
# Reboot
def reboot():
pid2 = subprocess.Popen('dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).pid
print('résultat:', pid2)
fen1.destroy()
# Shutdown
def shutdown():
pid3 = subprocess.Popen('dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).pid
print('résultat:', pid3)
# Suspend
def suspend():
pid4 = subprocess.Popen('dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).pid
print('résultat:', pid4)
fen1.destroy()
fen1 = Tk()
fen1.title("Openbox")
fen1.maxsize(width=400, height=60)
fen1.minsize(width=150, height=30)
fen1.resizable(width=YES, height=NO)
bou1 = Button(fen1, text='Eteindre', command=shutdown)
bou1.pack(side=LEFT)
bou2 = Button(fen1, text='Redémarrer', command=reboot)
bou2.pack(side=LEFT)
bou3 = Button(fen1, text='Logout', command=logout)
bou3.pack(side=LEFT)
bou4 = Button(fen1, text='Suspendre', command=suspend)
bou4.pack(side=LEFT)
bou5 = Button(fen1, text='Annuler', command=fen1.quit)
bou5.pack(side=LEFT)
fen1.mainloop()
fen1.destroy()