Ich habe eine .desktop-Datei erstellt.
[Desktop Entry]
Exec=cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
Terminal=false
StartupNotify=true
Categories=GNOME;Oracle;Utility;Development;
Type=Application
Icon=/opt/sqldeveloper/icon.png
Name=Oracle SQL Developer
Comment=what to say
Version=s.0.m.t.h.i.n.g
GenericName=ORACLE SQL DEVELOPER
Es ist vorhanden /usr/share/applications
. Bei der Anzeige in Nautilus wird sogar das Symbol angezeigt, aber wenn ich Alt (den Bindestrich oder die Windows-Taste) drücke und danach suche, ist es nicht sichtbar.
Außerdem habe ich Folgendes versucht:
sudo update-desktop-database
Antwort1
Was ist das kritische Problem in Ihrer .desktop-Datei
Ich habe versucht, Ihre .desktop-Datei durch den Exec=
Befehl mit einem anderen (einfachen und funktionierenden) zu ersetzen. Die Datei scheint zu funktionieren und wird von Dash nicht abgelehnt.
Es ist ein weit verbreitetes Missverständnis, dass Sie die Zeile einer .desktop-Datei verwenden können, Exec=
als wäre es ein Terminalfenster. Das ist nicht der Fall; das Erweitern wie ~/
oder $HOME
funktioniert beispielsweise nicht. Es ist eine gute (d. h. einfache) Praxis, kompliziertere Befehle in einer separaten Skriptdatei zu platzieren, die von der Startdatei (Ihrer .desktop
Datei) ausgeführt wird.
Ausführen komplizierter Befehle aus einer Desktopdatei
Wenn Sie Ihr Kommando behalten möchteninnenIhre .desktop
Datei sollten Sie wie folgt gestalten:
Exec=sh -c "your_complicated_command_here && the_rest_of_it"
(command inside quotes)
Ausführen eines Skripts aus der Desktopdatei, um die Aufgabe zu erledigen
Vorausgesetzt, Ihr Befehl
cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
funktioniert zwar über ein Terminalfenster, ich würde aber einfach ein kleines Skript erstellen:
#!/bin/bash
cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
Speichern Sie es unter scriptname.sh
und ändern Sie die Exec=
Zeile Ihrer .desktop-Datei in:
Exec=sh /path/to/scriptname.sh
Dann .desktop
wird Ihre Datei in Dash angezeigt
Notiz
Dass es weitere Probleme mit Ihrer .desktop-Datei gibt, wie von @Braiam und @MrVaykadji erwähnt. Einige Beispiele:
- Sie sollten nicht einfach erfundene Werte in der Zeile verwenden
Categories=
, wie Sie lesen könnenHier - Das Versionsfeld ist nicht erforderlich. Wenn Sie es jedoch verwenden, verwenden Sie 1.0.
Mehr finden SieHierGute Werkzeuge finden SieHier(auch danke an @Braiam und @MrVaykadji).
Der kritische Punkt, der dazu führt, dass Ihre .desktop-Datei nicht in Dash angezeigt wird, ist jedoch die Exec=
Zeile.