![¿La aplicación falla si no está en su directorio?](https://rvso.com/image/50565/%C2%BFLa%20aplicaci%C3%B3n%20falla%20si%20no%20est%C3%A1%20en%20su%20directorio%3F.png)
Estoy intentando ejecutar DeaDBeeF, un reproductor de música. Funciona bien si estoy en su directorio, pero si estoy en otro lugar, me dice que "no se pudo encontrar el complemento de salida". ¿Hay alguna forma de hacer que busque en su propio directorio en lugar de en mi directorio de trabajo actual?
Respuesta1
Suena como un error en ese programa. Probablemente no puedas solucionarlo sin modificar el código fuente, pero puedes solucionarlo fácilmente, por ejemplo con un script de shell:
#!/bin/sh
cd /path/to/program
exec ./program "$@"
Guarde esto en /usr/local/bin
, establezca los permisos correctos:
chmod 755 /usr/local/bin/myscript
chown root:root /usr/local/bin/myscript
y luego inicie este script en lugar del programa ejecutable.
Una limitación de este enfoque es que ya no puede reproducir archivos en el directorio actual simplemente escribiendo su nombre. En lugar de deadbeef myfile.mp3
, puede usar deadbeef $PWD/myfile.mp3
(hágalo deadbeef "$PWD/myfile.mp3"
si el nombre del directorio actual contiene \[?*
espacios en blanco).