SymLink funktioniert nur im selben Verzeichnis

SymLink funktioniert nur im selben Verzeichnis
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.i386sicherlich 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.

verwandte Informationen