
Recientemente encontré un problema extraño en Ubuntu 24.04.
Cuando ejecuto algunas aplicaciones, sus íconos no aparecen en el iniciador. En su lugar, muestra un símbolo de engranaje/configuración.

Esto es particularmente extraño porque las aplicaciones tienen íconos y las miniaturas se muestran bien en el área activa.

Más sorprendentemente, esto también sucede con el cliente torrent Transmission preinstalado de Ubuntu.
En este tutorial, compartiré cómo resolver este problema de ícono faltante. Pero antes de eso, permítanme discutir lo que está mal aquí.
🚧
Este tutorial sólo se aplica al entorno de escritorio GNOME.
El misterio del elemento faltante
¡Está bien! Aquí está la cosa. Cada aplicación que instale debe tener un archivo .desktop que contenga diversa información, incluida la ubicación del icono de la aplicación.
Este archivo .desktop es esencial para la integración del escritorio. Sin él, no podrá buscar aplicaciones instaladas en el menú y no se mostrarán miniaturas ni íconos.
Pero en mi caso, los archivos de escritorio para ONLYOFFICE y Transmission se encuentran en /usr/share/applications
Tabla de contenido. Incluso me aseguré de que exista el archivo de imagen del icono.
Esto me confundió y comencé a navegar por GitHub y las discusiones en foros. Fue entonces cuando me encontré con una discusión sobre la falta del atributo WM_CLASS en algunas aplicaciones de KDE, lo que causa este problema.
La aplicación que estoy usando no es de KDE, pero es un paso en la dirección correcta. Este artículo prueba mi punto.
📋
Debe obtener la propiedad WM_CLASS y actualizar el archivo .desktop de la aplicación con ese valor.
Se solucionó el problema por el cual faltaba el ícono de la aplicación en el iniciador.
✋
Si bien he intentado cubrir cada paso en detalle, todavía requerirá un poco de esfuerzo de tu parte. Esta no es una solución para ejecutar este comando para resolver el problema. Tienes que usar mis ejemplos como referencia y usarlos en tus escenarios. Se requieren conocimientos básicos de la línea de comandos de Linux.
Paso 0: ejecuta la aplicación infractora
Debes ejecutar la aplicación a la que le falta el icono. es necesario.
Paso 1: obtenga el atributo WM_CLASS de la aplicación
Todo esto es más fácil si usas Xorg en lugar de Wayland. correr xprop WM_CLASS
Comando En la Terminal, el cursor cambia a una cruz, luego haga clic en la aplicación deseada para obtener su propiedad WM_CLASS.
Pero eso no sucede aquí en Wayland, así que tomemos el camino más largo.
Presione Alt + F2 para iniciar el cuadro de diálogo «Ejecutar comando». Su teclado debe tener la tecla de función F2. Búscalo. A veces es necesario ejecutarlos en modo Fn+2. Te dejo descubrir esto.
Al presionar Alt + F2 se abrirá el cuadro de diálogo. Ingresar lg
(LG minúscula) aquí:

Lanzará las herramientas integradas de depuración e inspección de GNOME. En esta etapa, el mouse y el teclado tienen una funcionalidad limitada. Aquí, haga clic en la opción Ventana, que mostrará el atributo WM_CLASS para cada ventana de la aplicación en ejecución.

Tenga en cuenta que copiar y pegar no me funciona en este momento. Tomé una captura de pantalla como referencia.
Presione Esc para cerrar el depurador.
Paso 2: edite el archivo .desktop
📋
Si no tiene mucha experiencia editando dichos perfiles, haga una copia de seguridad del archivo .desktop antes de modificarlo.
El siguiente paso es editar el archivo .desktop de la aplicación. usted debe estar ahí /usr/share/applications
Tabla de contenido. Si no, puedes intentar buscarlo en ~/.local/share/applications
y /var/lib/flatpak/exports/share/applications/
Lo mismo ocurre con la ubicación.
Ahora puedes usar Nano para editar archivos en la terminal. Aquí está mi ejemplo:
sudo nano /usr/share/applications/onlyoffice-desktopeditors.desktop
Pero si no te sientes cómodo con eso, también puedes hacerlo gráficamente.. Simplemente vaya a la ubicación del archivo .desktop de su aplicación.
En el Explorador de archivos, puede hacer clic en «Otras ubicaciones» y luego en «Ubuntu» para acceder al directorio raíz.

Desde allí, puede ir a Usuarios->Compartir->Carpeta de aplicación. También puede ingresar /usr/share/applications en la barra de direcciones del Explorador de archivos y acceder rápidamente a él.
esta aquí, bajo [Desktop Entry] parteAgregar una nueva línea
StartupWMClass=Value-you-got-in-previous-step

Guarda el archivo. Debe ingresar la contraseña de su cuenta para guardar el archivo.
Y los resultados son casi inmediatos. No es necesario reiniciar ni siquiera cerrar sesión. Aparecerá un icono en el iniciador casi tan pronto como guarde el archivo.

Mi experiencia es que en este momento tienes un control limitado del mouse y el teclado. No se puede copiar el texto de la categoría WM. Entonces tomé una captura de pantalla y la usé como referencia para ver el valor e ingresarlo manualmente.
en conclusión
Sería bueno recuperar los íconos que faltan. Me costó algo de trabajo, pero me enseñó algunas cosas nuevas a lo largo del camino. Por eso me encanta solucionar problemas. Te enseña cosas que de otra manera nunca sabrías.
No estoy seguro si debería culpar a Ubuntu o GNOME. Pero es una mala experiencia para el usuario, especialmente cuando la encuentras en una aplicación instalada de forma predeterminada.
🗨️Espero que la enseñanza no sea demasiado complicada. ¿Puede ayudarte a resolver el problema de los íconos que faltan en Ubuntu?