Я хочу преобразовать этот скрипт в Python 3.5:
#!/bin/bash
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
while read x; do
case "$x" in
*"boolean true"*) source /home/user/bin/TV-Off.sh;;
*"boolean false"*) source /home/user/bin/Super-on.sh;;
esac
done
Возможно ли это?
Я нашел этот скрипт преобразования онлайн , но я не могу заставить его работать. Я получаю Segmentation fault (core dumped)
.
Обновление
Я думаю, что, возможно, сделал это, за исключением того, что я не могу oop это без высокой загрузки процессора от l oop Я закомментировал. Я также безуспешно пытался скопировать сценарий bash, но чувствую, что упускаю что-то простое.
#!/usr/bin/python3.7
import dbus
#import time
count = 0
#while True: <---- First loop try high cpu
session_bus = dbus.SessionBus()
gnome_screensaver = 'org.gnome.ScreenSaver'
object_path = '/{0}'.format(gnome_screensaver.replace('.', '/'))
get_object = session_bus.get_object(gnome_screensaver, object_path)
get_interface = dbus.Interface(get_object, gnome_screensaver)
status = bool(get_interface.GetActive())
# print(status) <---- First loop try high cpu
# if status == True: <---- First loop try high cpu
# print("do something") <---- First loop try high cpu
# if status == False: <---- First loop try high cpu
# print("stopping") <---- First loop try high cpu
# count += 1 <---- First loop try high cpu
# time.sleep(10) <---- First loop try high cpu
# if count >= 500: <---- First loop try high cpu
# break <---- First loop try high cpu
x = status
#while x: <- Second loop try didnt work no output as screen goes black
if status == True:
print("do something")
if status == False:
print("stopping")