O aplicativo falha se não estiver em seu diretório?

1

Estou tentando executar o DeaDBeeF, um player de música. Ele funciona bem se eu estiver em seu diretório, mas se eu estiver em outro lugar, ele me diz que ele "não conseguiu encontrar o plugin de saída". Existe alguma maneira de fazê-lo procurar em seu próprio diretório em vez do meu diretório de trabalho atual?

    
por tkbx 26.09.2013 / 21:20

1 resposta

2

Soa como um bug nesse programa. Você provavelmente não pode consertá-lo sem modificar o código-fonte, mas pode contorná-lo facilmente, por exemplo, com um script de shell:

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

Guarde isto em /usr/local/bin , defina as permissões corretas:

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

e, em seguida, inicie este script em vez do executável do programa.

Uma limitação dessa abordagem é que você não pode mais reproduzir arquivos no diretório atual simplesmente digitando o nome deles. Em vez de deadbeef myfile.mp3 , você pode usar deadbeef $PWD/myfile.mp3 (que deadbeef "$PWD/myfile.mp3" se o nome do diretório atual contiver \[?* ou espaço em branco).

    
por 26.09.2013 / 21:52