user@laptop ~ $ sudo ln -s ~/Games/JA/openjk.i386 ~/Desktop/JA
user@laptop ~ $ readlink -f ~/Desktop/JA
/home/user/Games/JA/openjk.i386
Wie Sie sehen, verweist der Symlink auf die Datei, aber wenn ich versuche, darauf zu klicken, funktioniert es nicht. Wenn ich den JA-Symlink jedoch in dasselbe Verzeichnis wie die Datei lege, auf die er verweist (in diesem Fall ~/Games/JA
), funktioniert es. Wie kann ich ihn außerhalb dieses Verzeichnisses (zum Beispiel im Desktop
) zum Laufen bringen?
Antwort1
Das Problem ist sicherlich, dass die Binärdatei openjk.i386
sicherlich einige Dateien in ihrem Verzeichnis erwartet. Die Binärdatei geht jedoch davon aus, dass ihr Verzeichnis ist ~/Desktop/
, in dem die erforderlichen Dateien nicht gefunden werden.
Ich würde empfehlen, anstelle eines symbolischen Links ein sehr kleines Skript zu verwenden. Es sollte beispielsweise so aussehen:
#!/bin/sh
cd /pathToBinary/
./binary $@
Nennen Sie die Datei JA und machen Sie sie mit ausführbar chmod a+x JA
.
Erläuterung:Dies $@
stellt sicher, dass, wenn Ihr Skript mit beliebigen Argumenten gestartet wird, diese an die echte Binärdatei weitergeleitet werden.