Respuestas:
Esta lista se crea analizando archivos .desktop ubicados en:
/usr/share/applications
~/.local/share/applications
Puede haber más de un caso de uso por aplicación, por ejemplo, el reproductor multimedia banshee
que tiene tres archivos .desktop de forma predeterminada:
$ 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
La única diferencia entre esos archivos es el parámetro de inicio y la lista MimeType.
banshee-1.desktop
: Archivos multimedia generalesbanshee-1-audiocd.desktop
: CD de audiobanshee-1-media-player.desktop
Reproductor de audio (también utilizado por rhythmbox
, vlc
, y otros)Así que tenemos tres 'Banshee Media Player' en la lista 'Abrir con' (y quizás también en el 'Menú principal').
La otra forma de llenar este espacio es creando archivos personales .desktop ~/.local/share/applications
. De forma manual o mediante el uso de una herramienta. alacarte
(o haga clic con el botón derecho en 'Menú principal' -> 'Editar menú') es uno de esos.
Cada vez que crea o mueve una aplicación dentro alacarte
, se coloca un nuevo archivo .desktop dentro ~/.local/share/applications
. Deshabilitar una aplicación la "eliminará" del 'Menú principal', pero no de la lista 'Abrir con'.
Pero el botón 'Eliminar' lo hace, al crear una copia idéntica desde /usr/share/applications
dentro ~/.local/share/applications
y agregar Hidden=true
al archivo .desktop, "sobrescribiendo" los valores heredados de todo el sistema.
Eliminar dos de esas entradas de los alacarte
resultados en:
$ 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
La eliminación de cualquier entrada ~/.local/share/applications
revertirá al estado preexistente (tres banshee
elementos).
Si realmente no tiene ningún duplicado en esas dos carpetas, intente eliminar cualquier duplicado alacarte
o jugar con la Hidden=true
opción en los archivos .desktop correspondientes.
Si observa ~/.local/share/applications
y /usr/share/applications
puede eliminar duplicados de esos dos lugares. Eso lo hizo por mí.
Reconociendo que este hilo es antiguo, este problema me dejó perplejo. Personalmente, sentí que era innecesario eliminar los archivos o jugar "limpieza", ya que solo estaba retocando cosas para el usuario actual. Si hay más de 1 archivo .desktop, ¿no puede cada uno tener una descripción única? En lo que respecta a Linux, ¿ciertos desarrolladores de aplicaciones han pasado por alto cosas simples como esta?
Descubrí que si abres los archivos .desktop en un editor de texto, el campo Nombre es lo que se muestra en el menú "Abrir con". Entonces, para mí, busqué los archivos .desktop que sabía que creaban el problema (por ejemplo, los 3 archivos Banshee). Al observar cada uno, la diferencia casi siempre tuvo que ver con qué tipos de mime está manejando el acceso directo. Esto se debe a que algunos programas prefieren pasar diferentes parámetros según el tipo MIME. Solo en 1 instancia encontré entradas duplicadas como resultado de una actualización de la aplicación que no limpió su antiguo archivo .desktop
Armado con ese descubrimiento, cambié los campos de Nombre de las entradas duplicadas conocidas para reflejar esto. Por ejemplo, editando el archivo .desktop que Banshee tiene específicamente para manejar CD de audio , hice que el nombre se leyera así:
Banshee (CD de audio)
Rhythmbox también es un buen ejemplo, ya que tiene un archivo .desktop separado específicamente para manejar reproductores de CD + MP3, pero cada uno muestra lo mismo. Supongo que el archivo 1 carga la aplicación y se enfoca en la unidad en lugar de en su biblioteca. Vale la pena renombrarlo, ya que no querrá que esto suceda al manejar sus archivos MP3 / OGG.
De todos modos, creo que esto hace que el menú Abrir con se vea limpio sin solo eliminar archivos que parecen ser útiles. Aún no se ha visto si estos cambios persisten o no entre las actualizaciones de la aplicación ... pero son ediciones simples y rápidas que incluso podrían ser programadas. El caparazón ayuda enormemente en ese caso. Por ejemplo, para ver todos los nombres de archivo (con ruta) con tales entradas duplicadas:
grep -rl "^Name=Banshee$" /usr/share/applications
Donde "Banshee" es, por supuesto, lo que aparece más de una vez en el menú Abrir con. En el ejemplo proporcionado arriba, la aplicación se llamaba Geany.
Con esto, puede enviar los archivos resultantes directamente a su editor. Si no es un experto en expresiones de registro, ^ y $ especifican el comienzo de la línea y el final de la línea, respectivamente. Esto evita que el sistema encuentre líneas como XGnome-FullName=Banshee Media Player
También evita que encuentre entradas que ya haya arreglado.
También puede buscar en el editor de menú "Aplicaciones" de Gnome y eliminar los duplicados desde aquí.
jhbuild.desktop
ymimeapps.list
en ~ / .local / share / aplicaciones . Y, no hay engaños en / usr / share / aplicaciones , y todavía estoy experimentando el problema.