Я создал новую службу systemd, с помощью которой я хотел бы активировать функцию через вызов dbus. Служба просто выполняет сценарий оболочки.Использование gdbus для запуска службы systemd
Я определил службу здесь:
/lib/systemd/system/testamundo.service
[Unit]
Description=Testamundo
[Service]
Type=dbus
BusName=org.freedesktop.testamundo
ExecStart=/home/test/systemd/testamundo.sh
Я также определил сервис D-Bus для него здесь:
/usr/share/dbus-1/system-services
[D-BUS Service]
Name=org.freedesktop.testamundo
Exec=/usr/sbin/console-kit-daemon --no-daemon
User=root
SystemdService=testamundo.service
Я пытаюсь запустить его с помощью gdbus, это это команда, которую я пытаюсь использовать:
sudo gdbus call --system --dest org.freedesktop.systemd1 --object-path /org/freedesktop/systemd1 --method org.freedesktop.systemd1.StartUnit "org.freedesktop.testamundo"
Если я использую --system как я выше команда возвращает с неизвестным методом ошибка, если я использую --session, он возвращает код выхода 1 из дочернего процесса. Когда я смотрю на journalctl с --session и -system, я могу видеть эту команду, но кроме нее никакой дополнительной информации.
Цените любые мысли или советы, спасибо!
Еще раз спасибо Умуту, этот и ваш другой ответ был огромной помощью! – Hoofamon