내 쉘 스크립트는 수동으로 잘 실행되지만 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 구성 편집 또는 작성(이것은 언급된 구성 파일이어야 합니다).