![해당 디렉터리에 없으면 응용 프로그램이 실패합니까?](https://rvso.com/image/50565/%ED%95%B4%EB%8B%B9%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%97%90%20%EC%97%86%EC%9C%BC%EB%A9%B4%20%EC%9D%91%EC%9A%A9%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%B4%20%EC%8B%A4%ED%8C%A8%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
뮤직 플레이어 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.mp3
deadbeef "$PWD/myfile.mp3"
\[?*