Ich habe mit dem cp - s Befehl einen Softlink hinbekommen. Aber leider kann ich das Skript vom Link aus nicht ausführen (eventuell weil er irgendwie die erforderlichen .ui-Dateien nicht findet?). Wenn ich das ganze Verzeichnis mit einem Hardlink verlinke, dann geht es... Weiß jemand, was da das Problem jetzt sein könnte?
Softlink findet sein Ziel nicht
(Themenstarter)
Anmeldungsdatum: Beiträge: 332 |
|
||||||
Projektleitung
Anmeldungsdatum: Beiträge: 12837 |
Man müsste wissen, was genau Du da versoftlinkst. Wenn das Skript oder Programm irgendwelche Ressourcen (= Dateien) relativ zum eigenen Pfadnamen sucht, dann findet es die natürlich nicht, wenn Du nur einen Softlink für das Programm anlegst. Wenn Du einen Soft- oder Hardlink auf das Verzeichnis anlegst und diese Ressourcen in diesem Verzeichnis liegen, ist es kein Wunder, dass es dann funktioniert. Aber, wie gesagt: ich brauche mehr Details. |
||||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 332 |
Ok, die Datei, die verlinkt wird, ist ein Python-Programm (Dateiendung .py). Das Programm wurde auch grafisch programmiert - mit Hilfe von pyQt3. Das heißt, er muss auf jede Menge .ui-Dateien finden. Aber - ein Softlink ist doch nur eine "Adressangabe", die auf die richtige Datei zeigt - und die Originaldatei findet diese Dateien, da sie im selben Verzeichnis liegen, wie die .py Datei. Oder müsste ich im .py-Skript die Dateipfade trotzdem irgendwie absolut angeben? |
||||||
Anmeldungsdatum: Beiträge: 17552 Wohnort: Berlin |
Wie lautet der komplette Befehl 1, wie der komplette Befehl 2, von wo aus ausgeführt jeweils und was ist die Fehlermeldung im Wortlaut. Mit Maus/Tastatur per Cut-and-Paste übernehmen - das ist in wenigen Sekunden getan. Dann noch mit dem Zahnradsymbol das ganze als Code formatieren ... |
||||||
Anmeldungsdatum: Beiträge: 17552 Wohnort: Berlin |
Ich bin noch mal zur Ausgangsfrage zurück und meine, das Problem identifiziert zu haben. Es liegt im Unterschied Fachterminologie und Alltagssprache. Eine Verlinkung ist eine Verknüpfung, zumindest im Alltagssprachgebrauch. In der Fachsprache gibt es aber 2 voneinander unabhängige Phänome, einmal Verknüpfungen auf dem Desktop - dazu gibt es kein Pendant wie beispielsweise Verknüpfungen im Mülleimer oder die Verknüpfung von Grafiken, Sounddateien oder Officedokumenten, sondern da geht es nur um Programme, die auf dem Desktop dargestellt werden sollen, und bei denen, wenn man auf sie klickt, ein Programm startet. Diese Verknüpfungen sind spezielle Dateien mit einer besonderen Syntax in denen die Informationen stehen, die das Desktop Environment braucht, um das Programm zu starten. Sie haben eine gewisse, nahezu unbeachtliche Größe. Und es gibt symbolische Links im Dateisystem, die sind etwas ganz anderes und helfen nichts in Bezug auf das Starten im Desktop. Symbolische Links sind auf allen Linuxsystemen gleich und man kann jede Datei mit einem symbolischen Link verknüpfen, ausführbare und nicht ausführbare, Bilder und Sound, große und kleine Dateien und sie belegen alle keinen Platz auf der Festplatte, nur im Dateiverzeichnis. Sie sind ein zweiter Verweis auf den Ort, wo die Datei wirklich liegt, und die Datei gibt es ja (hoffentlich) schon. Du suchst keinen symbolischen Link, sondern einen Programmstarter auf dem Desktop. |
||||||
Anmeldungsdatum: Beiträge: 180 |
Zusätzlich trägt zur Verwirrung wahrscheinlich bei, dass es unter Windows nur einen Typ Verknüpfung gibt. Und der funktioniert auch am Desktop! |
||||||
Projektleitung
Anmeldungsdatum: Beiträge: 12837 |
Ja, aber beim Öffnen sieht man das halt nicht:
Das einfachste ist, den Softlink durch ein einzeiliges Skript zu ersetzen, das die eigentliche Datei aufruft:
Man kann im Programm den absoluten Pfad herausfinden (Zeile 7), damit geht es dann wieder:
Aber dafür muss das Programm umgeschrieben werden. |
||||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 332 |
Wie müsste das Programm umprogrammiert werden? Langt es da nicht, wenn ich einfach die Zeile 7 einfüge? |
||||||
Projektleitung
Anmeldungsdatum: Beiträge: 12837 |