Приложение не работает, если его нет в каталоге?

Приложение не работает, если его нет в каталоге?

Я пытаюсь запустить 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"если имя текущего каталога содержит \[?*или пробел).

Связанный контент