Tengo un problema con un par de programas que tienen lanzadores en unidad pero luego crean un ícono separado después del lanzamiento. ¿Es posible que el iniciador rastree las ventanas que genera para organizarse mejor? ¿O es esto un error en la propia Unidad?
Puede que no importe, pero este programa específico es un programa mono, y el icono generado aparece como el panel.
StartupWMClass
propiedad en el iniciador deRespuestas:
Qué esta pasando
Problemas como este se relacionan con el marco de coincidencia de aplicaciones de Unity. Para simplificar los detalles técnicos, las ventanas del programa y las aplicaciones son dos cosas separadas para Ubuntu. Ubuntu necesita "adivinar" qué aplicación posee una ventana en particular. Y a veces esa suposición falla, y aparece un signo de interrogación en el lanzador.
La falla puede deberse a:
La aplicación que se muestra en la pregunta (KeePass2) sufre un problema de tipo 1 que se ha informado al rastreador de errores apropiado .
Ejemplos de problemas
Los siguientes ejemplos son técnicos, dirigidos a programadores que desean que su propia aplicación se muestre correctamente en el iniciador de Ubuntu.
Problema 3 - Sin descripción de la aplicación
Para que una aplicación se integre con Unity, es decir, se pueda buscar en el Tablero y se coloque en el iniciador, debe tener una entrada de escritorio. Estas entradas se colocan en el
/usr/share/applications/
,/usr/local/share/applications/
y$HOME/.local/share/applications/
(siendo los dos últimos para software de terceros, de todo el sistema y usuario de sólo respectivamente). Terminan con una.desktop
extensión y siguen este formato básico:Esta entrada inicia un programa llamando al
Exec
ejecutable. Siempre que ese programa muestre una ventana o cuadro de diálogo, Unity notará que su ejecutable "pertenece" a la descripción de esta aplicación, y usará el dadoName
yIcon
en el iniciador.Este es un ejemplo básico. La especificación formal cubre muchas características avanzadas.
Problema 2: descripción de la aplicación defectuosa
Supongamos que
my_app.desktop
existe en un directorio de aplicaciones válido, pero:/file/path/of/my/icon
no existe en el sistema de archivos./file/path/of/my/icon
No es una imagen.En cualquiera de los casos anteriores, Ubuntu no podrá enumerar correctamente la ventana de la aplicación en el iniciador.
Problema 1 - Un error en BAMF
A partir de Ubuntu 11.10, BAMF tiene una serie de errores que impiden la correcta coincidencia de aplicaciones. Las dificultades comunes (temporales) incluyen:
Exec
ruta es un enlace simbólico en lugar de un archivo normalEn estos casos, los programadores no tienen más opción que usar una solución alternativa, como eliminar la abstracción del enlace simbólico o vincular directamente al ejecutable. Ninguno de estos es requerido por la especificación de entrada de escritorio.
fuente
.desktop
archivos para la misma aplicación en~/.local/share/applications/
y/usr/share/applications/
. El primer archivo anula al segundo incluso si el icono no está especificado en él.La ventana solo puede coincidir con la aplicación si se ha establecido la propiedad WM_CLASS. Para hacer esto en X11 usas:
Debe pasar un puntero a una estructura XClassHint con el campo 'res_name' y 'res_class'.
fuente
Tuve algunos problemas con 16.04, incluidos los iconos en gris y, a veces, el panel táctil se volvía errático (Acer V15 nitro) y el centro de software (quizás otros iconos también) no se abría desde el icono (solo desde un comando de terminal). Encontré una recomendación en algún lugar para desinstalar y reinstalar el software gnome. Desde que hice esto, todo el sistema ha sido 100% estable, no más iconos en gris y funciona perfectamente. Parecía aterrador inicialmente cuando reinicié después de este cambio, muchos mensajes del sistema al reiniciar, así que hágalo bajo su propio riesgo.
fuente