アプリケーションはディレクトリ内にない場合に失敗しますか?

アプリケーションはディレクトリ内にない場合に失敗しますか?

音楽プレーヤーの 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"\[?*

関連情報