Russian Qt Forum

Qt => Общие вопросы => Тема начата: sergek от Июль 17, 2017, 14:19



Название: reboot через d-bus
Отправлено: sergek от Июль 17, 2017, 14:19
Коллеги,
нужно программно (через веб-интерфейс) перезагрузить малину. Наткнулся на тему http://www.prog.org.ru/topic_24730_15.html (http://www.prog.org.ru/topic_24730_15.html), попробовал, не получилось (dbiConsoleKit not valid). Попробовал PowerManagement - с тем же успехом.
Как можно посмотреть, какие сервисы есть и какие методы можно использовать?
Может, кто-то уже это делал?


Название: Re: reboot через d-bus
Отправлено: Old от Июль 17, 2017, 14:21
В Qt есть qdbusviewer, который покажет все методы и сигналы.


Название: Re: reboot через d-bus
Отправлено: sergek от Июль 17, 2017, 19:30
Насколько я понимаю, эта утилита графическая, а я работаю через консоль.
Сделал пример listnames из dbus, посмотрел список сервисов: "org.freedesktop.DBus", "org.freedesktop.login1", "org.freedesktop.systemd1", "org.freedesktop.Avahi", "org.bluez".
Пробовал Reboot из systemd1 и login1, опять не получилось. В первом случае ошибка
Цитировать
Rejected send message, 2 matched rules; type="method_call", sender=":1.16" (uid=1002 pid=5063 comm="/home/sergek/htPools/weblocalSrv/webhtpools ") interface="org.freedesktop.systemd1.Manager" member="Reboot" error name="(unset)" requested_reply="0" destination="org.freedesktop.systemd1" (uid=0 pid=1 comm="/sbin/init ")
во втором
Цитировать
The name org.freedesktop.PolicyKit1 was not provided by any .service files
Заморачиваться с PolicyKit не хочется. Как-то все мутно...