dbus 呼び出しを介してアクティブにしたい新しい 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 を使用すると、コマンドは Unknown Method エラーで戻ります。 --session を使用すると、子プロセスからの終了コード 1 で戻ります。--session と --system を指定して journalctl を見ると、コマンドが表示されますが、それ以上の追加情報はありません。
ご意見やアドバイスをいただければ幸いです。