Für eine meiner Linux-Anwendungen habe ich die Anwendung binary, ein Launcher.sh-Skript (für den LD_LIBRARY_PATH) und eine .desktop-Datei, alle im selben Ordner.Wie kann ich ein Symbol mit einem RELATIVEN Pfad für eine Linux-Desktop-Eintragsdatei angeben?
Ich würde lieber einen relativen Pfad als einen absoluten Pfad für das Symbol verwenden.
Ich habe versucht:
Icon=app.svg
Icon=./app.svg
Icon=$PWD/app.svg
Icon=$(dirname %k)/app.svg
aber keines dieser Arbeit (nur Icon=/path/to/app.svg
). Wenn es nicht möglich ist, einen relativen Pfad anzugeben, und ich eine Problemumgehung verwenden muss, dachte ich, dass ich den Symbolpfad in der .desktop-Datei jedes Mal neu generieren könnte, wenn das Skript launcher.sh ausgeführt wird.
Was wäre der beste Weg, das zu tun? Verwenden Sie sed
oder ein anderes Ersatzprogramm mit einem Pseudo-Regex wie vielleicht?
Danke dafür ... trotzdem, das ist eine sucky spec. –
Sicher ist ... Ich kann nicht glauben, dass niemand daran gedacht hat, relative Pfadunterstützung hinzuzufügen (anscheinend). –
Nun, ich las woanders, dass es ein Sicherheitsproblem war: Was, wenn Sie die .desktop-Datei verschoben und versehentlich eine andere ausführbare Datei geöffnet haben als die, von der Sie dachten ... und ich denke, das ist ein guter Punkt. Aber dann wäre eine andere Methode, um Symbole anzugeben, schön gewesen. –