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
.
설명:$@
스크립트가 인수로 시작되면 실제 바이너리로 전달됩니다 .