SymLink는 동일한 디렉토리에서만 작동합니다.

SymLink는 동일한 디렉토리에서만 작동합니다.
user@laptop ~ $ sudo ln -s ~/Games/JA/openjk.i386 ~/Desktop/JA
user@laptop ~ $ readlink -f ~/Desktop/JA
/home/user/Games/JA/openjk.i386

보시다시피 심볼릭 링크는 파일을 가리키지만 클릭하려고 하면 작동하지 않습니다. 그러나 JA 심볼릭 링크를 링크되는 파일(이 경우)과 동일한 디렉토리에 넣으면 ~/Games/JA작동합니다. 해당 디렉토리 외부(예: )에서 작동하게 하려면 어떻게 해야 합니까 Desktop?

답변1

문제는 확실히 바이너리가 openjk.i386해당 디렉토리에 일부 파일을 기대한다는 것입니다. 그러나 바이너리는 해당 디렉터리가 ~/Desktop/필요한 파일을 찾을 수 없는 이라고 가정합니다.

심볼릭 링크 대신 아주 작은 스크립트를 사용하는 것이 좋습니다. 예를 들어 다음과 같아야 합니다.

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

파일 이름을 JA로 지정하고 chmod a+x JA.

설명:$@스크립트가 인수로 시작되면 실제 바이너리로 전달됩니다 .

관련 정보