Ich habe ein Problem mit ein paar Programmen, die Launchers in Unity haben, aber nach dem Start ein separates Symbol erstellen. Kann der Launcher die Fenster verfolgen, die er erzeugt, um die Organisation zu verbessern? Oder ist das ein Fehler in Unity selbst?
Es spielt möglicherweise keine Rolle, aber dieses spezielle Programm ist ein Monoprogramm, und das erzeugte Symbol wird als Bedienfeld aufgeführt.
StartupWMClass
Eigenschaft im Desktop- StartprogrammAntworten:
Was ist los
Probleme wie diese beziehen sich auf das Application Matching Framework von Unity. Um die technischen Details zu vereinfachen, sind Programmfenster und Anwendungen zwei getrennte Dinge für Ubuntu. Ubuntu muss 'raten', welche Anwendung ein bestimmtes Fenster besitzt. Und manchmal schlägt diese Vermutung fehl, und im Launcher wird ein Fragezeichen angezeigt.
Der Fehler kann folgende Ursachen haben:
Die in der Frage gezeigte Anwendung (KeePass2) weist ein Typ 1-Problem auf, das dem entsprechenden Bug-Tracker gemeldet wurde .
Beispiele für Probleme
Die folgenden Beispiele sind technisch und richten sich an Programmierer, die möchten, dass ihre eigene Anwendung ordnungsgemäß im Ubuntu-Launcher angezeigt wird.
Problem 3 - Keine Anwendungsbeschreibung
Damit eine Anwendung in Unity integriert werden kann, dh im Dash durchsuchbar und im Launcher platziert ist, muss ein Desktop-Eintrag vorhanden sein. Solche Einträge in der platziert
/usr/share/applications/
,/usr/local/share/applications/
und$HOME/.local/share/applications/
(die beiden letzteren zur Software von Drittanbietern, systemweite und benutzer nur jeweils sind). Sie enden mit einer.desktop
Erweiterung und folgen diesem Grundformat:Dieser Eintrag startet ein Programm durch Aufrufen der
Exec
ausführbaren Datei. Wenn dieses Programm ein Fenster oder ein Dialogfeld anzeigt, stellt Unity fest, dass die ausführbare Datei zu dieser Anwendungsbeschreibung gehört, und verwendet die angegebenenName
undIcon
im Launcher.Dies ist ein Beispiel für Barebones. Die formale Spezifikation deckt viele erweiterte Funktionen ab.
Problem 2 - Fehlerhafte Anwendungsbeschreibung
Nehmen wir an, dass dies
my_app.desktop
in einem gültigen Anwendungsverzeichnis vorhanden ist, aber:/file/path/of/my/icon
existiert nicht im Dateisystem./file/path/of/my/icon
ist kein Bild.In den oben genannten Fällen kann Ubuntu das Anwendungsfenster im Launcher nicht ordnungsgemäß auflisten.
Problem 1 - Ein Fehler in BAMF
Ab Ubuntu 11.10 weist BAMF eine Reihe von Fehlern auf, die den korrekten Anwendungsabgleich verhindern. Häufige (vorübergehende) Fallstricke sind:
Exec
Pfad ist eher eine symbolische Verknüpfung als eine reguläre DateiIn diesen Fällen haben Programmierer keine andere Wahl, als eine Problemumgehung zu verwenden, z. B. das Entfernen der symbolischen Verknüpfungsabstraktion oder das direkte Verknüpfen mit der ausführbaren Datei. Beides ist in der Desktop-Eintragsspezifikation selbst nicht erforderlich.
quelle
.desktop
Dateien für dieselbe App sowohl in~/.local/share/applications/
als auch haben/usr/share/applications/
. Die erste Datei überschreibt die zweite, auch wenn das Symbol nicht angegeben ist.Das Fenster kann nur mit der Anwendung abgeglichen werden, wenn die Eigenschaft WM_CLASS festgelegt wurde. Um dies in X11 zu tun, verwenden Sie:
Sie müssen einen Zeiger auf eine XClassHint-Struktur mit den Feldern 'res_name' und 'res_class' übergeben.
quelle
Ich hatte ein paar Probleme mit 16.04, einschließlich der ausgegrauten Symbole, und manchmal wurde das Touchpad unberechenbar (Acer V15 Nitro), und das Software-Center (möglicherweise auch andere Symbole) öffnete sich nicht über das Symbol (nur über einen Terminalbefehl). Ich habe irgendwo eine Empfehlung gefunden, die Gnome-Software zu deinstallieren und neu zu installieren. Seit ich das gemacht habe ist das ganze System 100% stabil, keine ausgegrauten Icons mehr und funktioniert einwandfrei. Es sah anfangs beängstigend aus, als ich nach dieser Änderung einen Neustart durchführte - viele Systemmeldungen beim Neustart -, tun Sie dies also auf Ihr eigenes Risiko.
quelle