내보내기$(dbus-launch)는 응용 프로그램이나 스크립트에서 실행할 수 없습니다.

내보내기$(dbus-launch)는 응용 프로그램이나 스크립트에서 실행할 수 없습니다.

저는 yocto의 사용자 정의 배포판을 실행하는 임베디드 Linux 보드를 개발 중입니다(https://github.com/phytec/meta-ampliphy) 포키를 기반으로 합니다. 동시에 실행되고 dbus를 통해 통신하는 2개의 C 응용 프로그램이 있습니다. 재부팅할 때마다 강제로 실행(루트 계정)해야 합니다.

export $(dbus-launch)

보드 터미널에서 애플리케이션을 실행할 수 있습니다. 나는 작동하지 않는 두 가지 시나리오를 시도했습니다.

  1. 초기화하기 전에 메인 함수의 C 코드에서 두 줄을 작성하세요.
    strcpy(bash_cmd, "export $(dbus-launch)");
    system(bash_cmd);
  1. 다음 2줄만 포함하는 쉘 스크립트를 작성하고 시작 중에 자동으로 호출했습니다(또는 수동으로 실행). 하지만 작동하지 않습니다.
    #!/bin/bash  
    export $(dbus-launch)

누군가 "eval $(dbus-launch --sh-syntax)"이를 쉘 스크립트에 포함시키자고 제안했지만 그것도 작동하지 않습니다.

내가 무엇을 놓치고 있나요?

관련 정보