Wie entferne ich doppelte Einträge im Nautilus-Dialogfeld "Öffnen mit"?

14

Es wäre schön, den magischen Knopf zu sehen, der mir dabei hilft, diesen Schandfleck zu entfernen:

Alt-Text

Es ist Nautilus 2.30 unter Debian (und soweit ich mich erinnern kann, war es in früheren Versionen vorhanden).

Tshepang
quelle

Antworten:

9

Diese Liste wird erstellt, indem .desktop-Dateien analysiert werden, die sich unter folgender Adresse befinden:

/usr/share/applications
~/.local/share/applications

Es kann mehr als einen Verwendungszweck pro Anwendung geben, beispielsweise den Media Player, bansheeder standardmäßig drei .desktop-Dateien enthält:

$ ls -1 /usr/share/applications/banshee*
/usr/share/applications/banshee-1-audiocd.desktop
/usr/share/applications/banshee-1.desktop
/usr/share/applications/banshee-1-media-player.desktop

Der einzige Unterschied zwischen diesen Dateien ist der Startparameter und die MimeType-Liste.

  • banshee-1.desktop: Allgemeine Mediendateien
  • banshee-1-audiocd.desktop: Audio-CDs
  • banshee-1-media-player.desktopAudio - Player (auch verwendet , durch rhythmbox, vlcund andere)

Wir haben also drei "Banshee Media Player" in der "Öffnen mit" -Liste (und vielleicht auch im "Hauptmenü").

Die andere Möglichkeit, diesen Bereich auszufüllen, besteht darin, persönliche .desktop-Dateien in zu erstellen ~/.local/share/applications. Entweder manuell oder mit einem Werkzeug. alacarte(oder klicken Sie mit der rechten Maustaste auf 'Hauptmenü' -> 'Menü bearbeiten') ist eine davon.

Jedes Mal, wenn Sie eine Anwendung erstellen oder verschieben alacarte, wird eine neue .desktop-Datei darin abgelegt ~/.local/share/applications. Durch Deaktivieren einer Anwendung wird diese aus dem Hauptmenü, jedoch nicht aus der Liste "Öffnen mit" entfernt.
Aber die Schaltfläche ‚Löschen‘ der Fall ist, durch eine identische Kopie von der Erstellung /usr/share/applicationsin ~/.local/share/applicationsund das Hinzufügen Hidden=truezu der .desktop - Datei, also „überschreiben“ die systemweiten vererbten Werte.

Das Löschen von zwei dieser Einträge aus den alacarteErgebnissen in:

$ ls -1 ~/.local/share/applications/banshee*
/home/user/.local/share/applications/banshee-1-audiocd.desktop
/home/user/.local/share/applications/banshee-1-media-player.desktop

Wenn Sie Einträge aus entfernen, ~/.local/share/applicationswird der vorherige Status wiederhergestellt (drei bansheeElemente).

Wenn Sie wirklich keine Duplikate in diesen beiden Ordnern haben, versuchen Sie, alle Duplikate aus den entsprechenden .desktop-Dateien zu entfernen alacarteoder mit dieser Hidden=trueOption zu spielen .

wedeln
quelle
7

Wenn Sie nachsehen ~/.local/share/applicationsund /usr/share/applicationsDuplikate von diesen beiden Stellen entfernen können. Das hat es für mich getan.

Steve Burdine
quelle
Beachten Sie, dass ich nur jhbuild.desktopund mimeapps.listin ~ / .local / share / applications habe . Und es gibt keine Dupes in / usr / share / applications , und ich habe immer noch das Problem.
Tshepang
2

Ich weiß, dass dieser Thread alt ist, aber dies wird für viele durch Wein verursacht.

rm ~/.local/share/applications/wine-extension*

hat dieses Chaos für mich aufgeräumt.

Joelol75
quelle
1

Ich habe eingeräumt, dass dieser Thread alt ist, und war selbst verwirrt über dieses Problem. Ich persönlich war der Meinung, dass das Löschen der Dateien oder das Abspielen von "Aufräumen" nicht erforderlich war, ebenso wie das Ändern von Einstellungen für den aktuellen Benutzer. Wenn es mehr als eine .desktop-Datei gibt, kann nicht jede eine eindeutige Beschreibung haben? Haben bestimmte App-Entwickler, was Linux angeht, solche einfachen Dinge wirklich übersehen?

Wenn Sie die .desktop-Dateien in einem Texteditor öffnen, wird im Menü "Öffnen mit" das Feld " Name " angezeigt. Also suchte ich nach den .desktop-Dateien, von denen ich wusste, dass sie das Problem verursachen (zum Beispiel die 3 Banshee-Dateien). Bei jedem hat der Unterschied fast immer damit zu tun, mit welchen Mimetypen die Verknüpfung arbeitet. Dies liegt daran, dass einige Programme je nach Mimetyp andere Parameter bevorzugen. Nur in einer Instanz habe ich doppelte Einträge gefunden, die das Ergebnis eines Anwendungs-Upgrades waren, bei dem die alte .desktop-Datei nicht bereinigt wurde

Mit dieser Entdeckung habe ich die Namensfelder der bekannten doppelten Einträge geändert , um dies widerzuspiegeln. Wenn ich zum Beispiel die .desktop-Datei bearbeite, die Banshee speziell für Audio-CDs erstellt hat , habe ich den Namen folgendermaßen gelesen:

Banshee (Audio-CD)

Rhythmbox ist auch ein gutes Beispiel, da es eine separate .desktop-Datei gibt, die speziell für den Umgang mit CDs und MP3-Playern vorgesehen ist, die jedoch alle gleich angezeigt werden. Ich vermute, die 1-Datei lädt die Anwendung und konzentriert sich eher auf das Gerät als auf Ihre Bibliothek. Das ist also eine Umbenennung wert, da dies beim Umgang mit MP3 / OGG-Dateien nicht erwünscht ist.

Ich denke, dies lässt das Menü "Öffnen mit" sauber aussehen, ohne nur Dateien zu löschen, die nützlich erscheinen. Ob diese Änderungen zwischen den Anwendungsaktualisierungen bestehen bleiben, ist noch nicht abzusehen. Es handelt sich jedoch um einfache und schnelle Änderungen, die sogar per Skript ausgeführt werden können. Die Schale hilft in diesem Fall enorm. So können Sie beispielsweise alle Dateinamen (mit Pfad) mit solchen doppelten Einträgen anzeigen:

grep -rl "^Name=Banshee$" /usr/share/applications

Wo "Banshee" ist, wird im Menü "Öffnen mit" natürlich mehrmals angezeigt. In dem oben gezeigten Beispiel wurde die App Geany genannt.

Damit können Sie die resultierenden Dateien direkt an Ihren Editor senden. Wenn Sie kein Experte für Reg-Ausdrücke sind, geben die Zeichen ^ und $ jeweils den Zeilenanfang und das Zeilenende an. Dies XGnome-FullName=Banshee Media Player verhindert, dass das System Zeilen findet, wie es ist, und verhindert auch, dass Einträge gefunden werden, die Sie möglicherweise bereits repariert haben.

Jason Leonard
quelle
0

Eine Art Schuss im Dunkeln, aber haben Sie versucht, auf einen der Einträge zu klicken und auf die Schaltfläche Entfernen zu klicken, wie in Ihrem Screenshot gezeigt? Wenn dadurch alle Einträge entfernt werden, können Sie sie einfach erneut hinzufügen.

jonescb
quelle
0

Sie können auch in Gnomes Menü-Editor "Anwendungen" nachsehen und Duplikate von hier entfernen.

Gentledevil
quelle
Haben Sie dort schon einmal Duplikate gesehen?
Tshepang
Ja. Einige Anwendungen erstellen Duplikate, die im Dialogfeld "Öffnen mit" angezeigt werden, wie z. B. "Geany for You". Ich kann sie hier entfernen, indem ich das Menü "Anwendungen" von gnome bearbeite (in dem sie vorhanden, aber ausgeblendet sind) Menü, nur im Editor).
Gentledevil