해당 디렉터리에 없으면 응용 프로그램이 실패합니까?

해당 디렉터리에 없으면 응용 프로그램이 실패합니까?

뮤직 플레이어 DeaDBeeF를 실행하려고 합니다. 해당 디렉토리에 있으면 잘 작동하지만, 다른 곳에 있으면 "출력 플러그인을 찾지 못했습니다"라는 메시지가 나타납니다. 현재 작업 디렉터리 대신 자체 디렉터리를 찾도록 할 수 있는 방법이 있나요?

답변1

해당 프로그램의 버그인 것 같습니다. 소스 코드를 수정하지 않고는 문제를 해결할 수 없지만, 예를 들어 쉘 스크립트를 사용하면 쉽게 해결할 수 있습니다.

#!/bin/sh
cd /path/to/program
exec ./program "$@"

이것을 에 저장하고 /usr/local/bin올바른 권한을 설정하십시오.

chmod 755 /usr/local/bin/myscript
chown root:root /usr/local/bin/myscript

그런 다음 프로그램 실행 파일 대신 이 스크립트를 실행합니다.

이 접근 방식의 제한 사항은 단순히 이름을 입력하는 것만으로는 현재 디렉터리에 있는 파일을 더 이상 재생할 수 없다는 것입니다. 대신에 ( 현재 디렉토리 이름에 공백이 포함되어 있으면 그렇게 하세요) deadbeef myfile.mp3를 사용할 수 있습니다 .deadbeef $PWD/myfile.mp3deadbeef "$PWD/myfile.mp3"\[?*

관련 정보