Wie finde ich * .desktop-Dateien?

85

Nach meinem besten Wissen haben alle Verknüpfungen im Unity Launcher eine entsprechende * .desktop-Datei. Ich habe eine Verknüpfung (für Skrooge ), die kein Symbol hat. Wie finde ich die * .desktop-Datei, die dieser Verknüpfung entspricht, damit ich ein Symbol hinzufügen kann?

KOVIKO
quelle

Antworten:

113

Es sitzt wahrscheinlich in, /usr/share/applications/aber wenn Sie jede .desktopDatei auf dem System finden möchten, führen Sie Folgendes aus :

find / -name '*.desktop'

oder

sudo updatedb
locate *.desktop

Fügen Sie dem Befehl ein grep hinzu , um Dateien mit "skrooge" in ihrem Pfad oder Namen zu finden:

locate *.desktop | grep -iR "skrooge"
Oli
quelle
20
locate -i "*skrooge*.desktop". Obwohl es hauptsächlich drei Orte gibt, sucht Unity nach Desktop-Dateien. ~/.local/share/applications, /usr/local/share/applicationsUnd /usr/share/applications. Wenn an mehreren Stellen Desktop-Dateien für denselben Befehl vorhanden sind, werden die drei am weitesten links aufgeführten verwendet.
Geirha
Erschien als /usr/share/applications/kde4/skrooge.desktop. Vielen Dank. :)
KOVIKO
33

Das System speichert die .desktop-Dateien in /usr/share/applications/. Wenn Sie diesen Ordner in nautilus öffnen, werden die .desktop-Dateien leider mit dem in der Datei angegebenen Symbol und dem in der Datei aufgerufenen Dateinamen angezeigt. Sie können diese Dateien auch nicht bearbeiten, indem Sie darauf klicken und Bearbeiten auswählen.

Um diese Dateien zu bearbeiten, müssen Sie diesen Ordner in einem Terminalfenster öffnen. Wenn Sie einen lsBefehl ausführen, werden alle .desktop-Dateien mit ihren tatsächlichen Namen angezeigt. Wenn Sie die zu ändernde .desktop-Datei gefunden haben, führen Sie sie aus gksudo gedit {file-name}.desktop.

Es ist üblich, alle von Ihnen erstellten oder bearbeiteten .desktop-Dateien in Ihrem privaten Ordner zu behalten ~/.local/share/applications.

fragos
quelle
Das Ausführen vom Terminal aus kann für einige Benutzer einfacher sein, es ist jedoch auch möglich, Objekte aus Nautilus in gedit oder einen anderen Texteditor zu ziehen.
Jon Hanna
Wozu dient das Verzeichnis "~ / .local / share / applications"? Dateien scheinen dort nicht verwendet zu werden. Ich kann sie nicht als "Verknüpfung" zu Unity hinzufügen.
Malachiasz
2
@Malachiasz Tatsächlich werden die * .desktop-Dateien von ~/.local/share/applicationsneu geladen, wenn die Sitzung neu gestartet wird . Melden Sie sich also ab und wieder an. Beachten Sie, dass diese für diesen Benutzer spezifisch sind.
akshay2000
Ich fand diese Fragen und
Antworten
8

Einige zusätzliche Details zur Ergänzung der anderen Antworten:

In der Regel befinden sich .desktopDateien für Pakete in /usr/share/applications.

Wenn Sie möchten, können Sie eines kopieren ~/.local/share/applicationsund dort bearbeiten, ohne sudo zu benötigen . Artikel in ~/.local/share/applicationswird außer Kraft gesetzt Artikel in passende /usr/share/applicationsund /usr/local/share/applications, ist aber nur sichtbar für Ihre Benutzer.

Alternativ können Sie eine bearbeitete Kopie so platzieren, /usr/local/share/applicationsdass sie alle überschreibt /usr/share/applicationsund gleichzeitig für das gesamte System sichtbar ist.

Beachten Sie, dass Sie die .desktopDateien nicht /usr/share/applicationsdirekt bearbeiten sollten . Alle Änderungen, die Sie vornehmen, werden automatisch überschrieben, wenn die Anwendung vom Paketmanager aktualisiert wird.

Von hier extrahiert

Sopalajo de Arrierez
quelle
+1, vollständigste Antwort von allen
Jon Bentley