SymLink só funciona no mesmo diretório

1
user@laptop ~ $ sudo ln -s ~/Games/JA/openjk.i386 ~/Desktop/JA
user@laptop ~ $ readlink -f ~/Desktop/JA
/home/user/Games/JA/openjk.i386

Como você pode ver, o link simbólico aponta para o arquivo, mas quando tento clicar nele não funciona. No entanto, se eu colocar o link simbólico do JA no mesmo diretório que o arquivo ao qual ele está vinculando (neste caso, ~/Games/JA ), ele funciona. Como faço para que funcione fora desse diretório (no Desktop , por exemplo)?

    
por Onion 04.03.2014 / 21:44

1 resposta

1

O problema certamente é que o binário openjk.i386 certamente espera alguns arquivos em seu diretório. Mas o binário assume que o seu diretório é ~/Desktop/ , onde os arquivos necessários não são encontrados.

Eu recomendaria usar um script muito pequeno em vez de um link simbólico. Por exemplo. deve ficar assim:

#!/bin/sh
cd /pathToBinary/
./binary $@

Nomeie o arquivo JA e torne-o executável com chmod a+x JA .

Explicação: O $@ garante que, se o seu script for iniciado com argumentos, eles serão encaminhados para o binário real.

    
por 04.03.2014 / 23:13