시작 시 D-Bus를 통해 들어오는 명령을 수신하는 Python 스크립트를 시작하고 싶습니다 pydbus
. 루트 권한이 필요합니다. 를 중지하고 다시 시작하여 이 작업을 수행할 수 있으면 좋을 것이므로 systemctl
에 입력하고 싶지 않습니다 /etc/rc.local
.
이 스크립트는 다음을 기반으로 합니다.이 예.
터미널(X11 세션 및 tty)에서 스크립트를 제대로 실행하고 내 dbus 서버에 명령을 보낼 수 있습니다. 하지만 .service
시스템 파일을 통해 실행 하면 gi.repository.GLib.Error: g-io-error-quark: Cannot autolaunch D-Bus without X11 $DISPLAY (0)
SessionBus를 사용하고 있기 때문에 불만이 표시됩니다. 그래서 SystemBus를 사용하도록 전환했는데 이제 권한 오류가 발생 Connection ":1.474" is not allowed to own the service
합니다. 이는 /etc/dbus-1/system.d/
.
그래서 다른 서비스가 어떻게 작동하는지 살펴보았습니다.
/usr/share/dbus-1/system-services/org.manjaro.pamac.daemon.service
/etc/dbus-1/system.d/org.manjaro.pamac.daemon.conf
/usr/lib/systemd/system/pamac-daemon.service
이것이 내가 사용해야 하는 전부인가요? 이것은 너무 번거롭고 내가 시도하는 모든 것에서 새로운 오류가 발생합니다.
이를 수행하는 방법에 대한 좋은 자료가 있습니까?
시스템 파일을 사용하여 .service
부팅 시 위에 링크된 예제를 어떻게 시작할 수 있나요?
답변1
나는 실제 예를 만들었습니다.
https://github.com/sezanzab/systemd-pydbus-example
/usr/share/dbus-1/system-services/org.manjaro.pamac.daemon.service
결국 이 파일이 필요하지 않게 되었습니다.