KDE Problem mit *.desktop Dateien: Link erscheint nicht auf Desktop

Hallo,
ich versuche gerade hinter das Konzept der *.desktop Dateien zu steigen, genauer ich möchte einen Link zu einem Programm auf meinem KDE Desktop haben (ich nutze openSUSE 13.1).

Ich habe eine Software names Maple 17 installiert (in meinem lokalen Verzeichnis) nun möchte ich einen Link auf dem Desktop haben, dem Programm lag eine entsprechende Desktop Datei bei die ich i n folgender Form gespeichert habe:


[Desktop Entry]
Encoding=UTF-8
Name=Maple 17
Type=Application
Comment=Maple 17
Exec=/home/sabo/maple17/bin/xmaple
Icon=/home/sabo/maple17/bin/Maple17.png
GenericName=Maple 17

Gespeichert habe ich dies Datei in meinem localen applications Verzeichnis, da die Software nur für meinem Account installiert ist, sie liegt also unter:
~/.local/share/applications/maple17.desktop

Gebracht hat das aber “fast” nichts. Das einzige was dadurch erreicht wurde ist das ich jetzt “maple17” im Suchfeld des KDE “Startmenüs” eingeben kann und ich bekommen einen Link zum entsprechenden Programm angezeigt, das sogar das korrekte Icon (wie in der Datei eingestellt) verwendet.

Das ist zwar ganz schön, ich hätte dennoch gerne einen Link auf dem Desktop, was muss ich dafür machen? Bzw. wieso funktioniert es so nicht, die tutorials die ich zu den Desktop Dateien gefunden habe legen keine weiteren Schritte nahe.

PS: mir ist es SEHR wichtig das über die Desktop Dateien zu regeln! Ich möchte keine Alternative Methode a la : “mach mal Rechtsklick dort oder gehe einfach ins Yast und mache …”

Danke schonmal

Tja, ~/.local/share/applications ist eben (nur) für Menüeinträge gedacht.
Das ist also normales Verhalten.

Das ist zwar ganz schön, ich hätte dennoch gerne einen Link auf dem Desktop, was muss ich dafür machen? Bzw. wieso funktioniert es so nicht, die tutorials die ich zu den Desktop Dateien gefunden habe legen keine weiteren Schritte nahe.

Damit eine Datei (egal welche, muss ja nicht unbedingt eine .desktop Datei sein) auf dem Desktop erscheint, musst du sie in den “Desktop” Ordner kopieren/verschieben. Dieser Ordner ist in deinem Homeverzeichnis und heißt je nach Version und Spracheinstellung z.B. “Desktop”, “Arbeitsfläche” oder “Schreibtisch”. Falls du ihn nicht findest, schau mal in KDE’s Systemeinstellungen (“Arbeitsflläche einrichten”) unter Benutzerkontodetails->Pfade, dort wird konfiguriert welcher Ordner für den Desktop verwendet werden soll (“Pfad zur Arbeitsfläche”).

PS: mir ist es SEHR wichtig das über die Desktop Dateien zu regeln! Ich möchte keine Alternative Methode a la : “mach mal Rechtsklick dort oder gehe einfach ins Yast und mache …”

Aber wenn du auf den Desktop (oder in Dolphin) rechts-klickst und “Neu erstellen”->“Verknüpfung zu Programm…” auswählst, wird genau so eine .desktop Datei erstellt.
Wenn du sie unbedingt selbst erstellen willst, bitte. Aber zumindest könntest du sie mit einer automatisch erstellten vergleichen, falls was nicht so funktioniert wie erwartet.

Meine .desktop-Dateien liegen im Verzeichnis ~/Arbeitsfläche bzw. dort ist ein Link zur eigentlichen Datei.
Als Desktop-Layout habe ich den Typ “Ordner”.

Edit: Immer dieses zeitgleiche Schreiben! Wolfi323 Antwort aber besser.

Ja tatsächlich es gibt ein extra Verzeichnis: ~/Arbeitsfläche wenn ich die Datei dort reinlege klappt es, das ist schon mal super.
Es bleiben nur zwei Fragen:

  1. Warum ist in sämtlichen Tutorials (wohlgemerkt zu Dekstop Verknüpfungen/Desktop Dateien) ausschließlich vom ~/.local/share/applications Verzeichnis die Rede (bzw. vom /usr/share/applications aber das wäre ja für globale Einträge) und nie von einem extra Verzeichnis für die Arbeitsfläche?

  2. Da ja Menüeinträge auch ganz schön sind und die Dateien für Desktopverknüpfungen und Menüeinträge im Prinzip gleich aufgebaut sind wenn nicht sogar identisch sind, stellt sich mir die Frage wie gehe ich mit der Redundanz um?
    Sollte ich wirklich zweimal die gleiche Datei speichern (eher nicht oder?) oder doch lieber nur eine und die andere als symlink anlegen? Wenn ja wo kommt das Original hin und wo der Symlink?

Keine Ahnung, ich weiß ja nicht welche Tutorials du genau gesehen hast. Kannst du evtl. einen Link posten?

KDE (und auch GNOME) hat jedenfalls schon immer ausschliesslich den Inhalt des ~/Desktop Ordners auf dem Desktop angezeigt.
Du kannst ja beliebige Dateien auf den Desktop schieben, auch wenn keine .desktop Datei vorhanden ist.
Und du willst ja wahrscheinlich auch nicht, dass standardmäßig dein gesamtes Startmenü auf dem Desktop angezeigt wird, oder?

Ich glaube, dass Ubuntu’s Unity .desktop Dateien in ~/.local/share/applications für Desktop-Verknüpfungen benutzt (evtl. mit einem zusätzlichen Eintrag), das könnte der Grund dafür sein, dass das so in “deinen” Tutorials steht. Bin mir da aber nicht sicher.

  1. Da ja Menüeinträge auch ganz schön sind und die Dateien für Desktopverknüpfungen und Menüeinträge im Prinzip gleich aufgebaut sind wenn nicht sogar identisch sind, stellt sich mir die Frage wie gehe ich mit der Redundanz um?
    Sollte ich wirklich zweimal die gleiche Datei speichern (eher nicht oder?) oder doch lieber nur eine und die andere als symlink anlegen? Wenn ja wo kommt das Original hin und wo der Symlink?

Ist dann deine Sache.
Am besten wäre natürlich zwei verschiedene Dateien, da nicht alle Einträge für beide Varianten Sinn machen.
Wenn du einen Symlink machen willst, würde ich die “echte” Datei nach ~/.local/share/applications legen und den Symlink nach ~/Desktop.
Dann kannst du später das Desktop-Icon löschen ohne den Menüeintrag zu verlieren (im Menü ist ja mehr Platz als am Desktop :wink: ).
Das ist jetzt aber nur meine Meinung.

Hier sind zwei der “Anleitungen” die für die Plazierung der Dateien “konsultiert” habe:
https://wiki.archlinux.org/index.php/Desktop_Entries
http://xpressrazor.wordpress.com/2013/07/07/playing-with-desktop-files-aka-application-launchers-in-linux/

In beiden ist keine Rede von einem Arbeitsflächenverzeichnis.
Davon abgesehen hier noch ein Link zu einer recht ausführlichen Beschreibung der Desktop-Dateien:
http://standards.freedesktop.org/desktop-entry-spec/latest/index.html

hier wird allerdings garnichts zu den Verzeichnissen gesagt, sondern nur über dne Aufbau der Dateien selber.

Soweit dazu, dein Vorschlag die Symlinks in das Desktop-Verzeichnis zu legen macht absolut Sinn, vielen Dank dafür und auch für die Hilfe zu meinem ersten Problem.

Ja, aber da ist auch nirgendwo die Rede davon, dass dadurch eine Verknüpfung auf dem Desktop angezeigt wird.
Der erste beginnt mit:

Desktop entries is a freedesktop.org standard for specifying the behaviour of programs running on X Window Systems. It is a configuration file that describe how an application is launched and how it appears in a menu with an icon.

Und der zweite:

Desktop files are text files, with .desktop extension, that launches applications.

Und später:

After you create these files, you can collect them just by copying them where ever you like. Just click the icon and the application should launch. You could also drag it to different launcher bars (as you can see in figure below for elementary), execute it from standard application launcher menu etc.

Und das ist ja auch so. Öffne Dolphin und navigiere zu dem Verzeichnis wo sich die .desktop Datei befindet und klicke auf sie. Das entsprechende Programm sollte gestartet werden.
Oder unter KDE kannst du ja auch mehrere “Folderviews” anlegen, die unterschiedliche Verzeichnisse anzeigen, du hast dann also sozusagen mehrere “Desktops”.

Davon abgesehen hier noch ein Link zu einer recht ausführlichen Beschreibung der Desktop-Dateien:
http://standards.freedesktop.org/desktop-entry-spec/latest/index.html
hier wird allerdings garnichts zu den Verzeichnissen gesagt, sondern nur über dne Aufbau der Dateien selber.

Ja, das ist die offizielle Spezifikation, wie eine .desktop Datei aufgebaut ist.

Soweit dazu, dein Vorschlag die Symlinks in das Desktop-Verzeichnis zu legen macht absolut Sinn, vielen Dank dafür und auch für die Hilfe zu meinem ersten Problem.

Bitte, gern geschehen.