Как получить сессию гнома простой?

Был ли изменен метод для получения времени простоя сеанса через dbus в недавней Ubuntu или мой код dbus здесь неправильный?

#!/usr/bin/env python

import dbus

bus_name = 'org.gnome.ScreenSaver'
obj_path = '/org/gnome/ScreenSaver'

session_bus = dbus.SessionBus()
gs_obj = session_bus.get_object(bus_name, obj_path)
gs_iface = dbus.Interface(gs_obj, bus_name)

print gs_iface.GetSessionIdleTime()

# dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: No such method 'GetSessionIdleTime'

Ссылка:
https: / /people.gnome.org/~mccann/gnome-screensaver/docs/gnome-screensaver.html#gs-method-GetSessionIdleTime

4
задан 13 May 2015 в 17:25

2 ответа

Это было в Gnome2, ссылка, которую Вы упомянули, для версии 2.15.3.

экранной заставки гнома Даже назад к Ubuntu 12.04, это содержит версия 3.4.1 ! Это кажется, что было удалено. Проверьте более новый документ.

Подсказка: можно использовать d-feet средство просмотра D-шины и отладчик. Видеть/просматривать все рабочие сервисы и все доступные методы, & сигналов; свойства.

0
ответ дан 14 May 2015 в 03:25

Это старый вопрос, но я искал похожее решение для Gnome3. Проверено только на Ubuntu 20.04 с Python 3.8.5.

import dbus
    
session_bus = dbus.SessionBus()
bus_object = session_bus.get_object('org.gnome.Mutter.IdleMonitor', '/org/gnome/Mutter/IdleMonitor/Core')
bus_interface = dbus.Interface(bus_object, 'org.gnome.Mutter.IdleMonitor')
print(bus_interface.GetIdletime() / 1000)
0
ответ дан 24 January 2021 в 22:59

Другие вопросы по тегам:

Похожие вопросы: