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
。
説明:$@
スクリプトが何らかの引数付きで開始された場合、それらの引数が実際のバイナリに転送されることが保証されます。