systemd: 서비스를 실행할 수 없습니다: 오류 dbus 이름을 가져올 수 없습니다.

systemd: 서비스를 실행할 수 없습니다: 오류 dbus 이름을 가져올 수 없습니다.

내 쉘 스크립트는 수동으로 잘 실행되지만 systemd를 통해 시작하면 오류가 발생합니다. 문제가 무엇입니까?

Logitech f310 컨트롤러를 Buster를 실행하는 Raspberry Pi 3B의 마우스로 다시 매핑하도록 xboxdrv를 구성했습니다.

명령줄에서 실행할 때

sudo xboxdrv -D -c /usr/share/doc/xboxdrv/logitech.xboxdrv

좋은 결과. 그래서 시작 시 실행되는 서비스로 설정했습니다. 먼저 위의 내용을 쉘 스크립트에 넣었습니다.

#!/bin/bash
sudo xboxdrv -D   -c /usr/share/doc/xboxdrv/logitech.xboxdrv --silent  & sleep  1

그런 다음 /usr/share/doc/xboxdrv/logitech.sh로 저장한 다음 실행 가능하게 만들었습니다.

스크립트를 실행하면 sudo /usr/share/doc/xboxdrv/logitech.sh모든 것이 잘 작동합니다. 여태까지는 그런대로 잘됐다.

그런 다음 서비스 파일을 만듭니다.

[Unit]
Description=start xboxdrv to configure logitech f310 gamepad
After=default.target
[Service]
ExecStart=/usr/share/doc/xboxdrv/logitech.sh
[Install]
WantedBy=default.target

나는 이것을 활성화합니다 :

sudo systemctl enable /etc/sysemd/system/xboxdrv.service

그리고 시작하세요:

sudo systemctl start xboxdrv.service

하지만 이제 오류가 발생합니다. 이것은 내가 Journalctl -xe에서 얻은 것입니다.

[ERROR] XboxdrvDaemon::run(): fatal exception: failed to get unique dbus name: 
 Connection ":1.21" is not allowed to own the service "org.seul.Xboxdrv" due to 
 security policies in the configuration file

그렇다면 이것은 무엇을 의미하며 왜 알 수 있습니까? xboxdrv에 왜 이 연결이 필요한지 모르겠습니다. 그것은 어떤 프로필을 말합니까?

더 중요한 것은 이 문제를 어떻게 해결합니까?

감사해요!

답변1

이것은 다음과 같습니다.알려진 문제다음으로 해결할 수 있는 권한이 있는 경우새 dbus 구성 편집 또는 작성(이것은 언급된 구성 파일이어야 합니다).

관련 정보