Hallo, aktuell wandere ich zwischen den Desktop-Welten KDE und Xfce. Nun möchte ich gerne, dass das Startmenü - oder Anwendungsmenü oder Geckomenü oder wie auch immer man das Desktopübergreifend nennen mag - in beiden Oberflächen mehr oder weniger ähnlich sind, ich also meine Programme im Menü in beiden Oberflächen wiederfinde. Grundsätzlich, also nach einer Erstinstallation, ist das ja schon mal alles ganz ordentlich und ohne weiteres Zutun gegeben - Probleme habe ich aber mit Programmen, die ich dem Menü manuell hinzufüge. In KDE habe ich ja kmenuedit mit dem ich das grafisch erledigen kann. Es wird eine .desktop-Datei angelegt und diese wird im Verzeichnis "~/.local/share/applications/" abgelegt. Leider ist sowohl die Position, aber auch der Inhalt, dieser .desktop-Dateien, nicht kompatibel mit Xfce. Xfce findet diese .desktop-Datei nicht: Soweit ich das herausgefunden habe, gibt es viele mögliche Orte an denen diese .desktop-Dateien stehen können und welche Verzeichnisse Xfce berücksichtigt, wird in der Umgebungsvariable $XDG_DATA_DIRS definiert. Nach einer Grundinstallation, steht da erst einmal nur /usr/share drin. Hier scheint es bereits den ersten Fehler zu geben, denn genau steht da "/usr/share:/usr/share" drin, also ein doppelter Eintrag. Nach meiner Recherche ist es nun so, dass die Variable $XDG_DATA_DIRS durch das Script "/etc/profile.d/xdg-environment.sh" gesetzt wird. Wenn ich das Script richtig verstanden habe, "klopft" es eine Reihe von vorgegebenen Verzeichnissen/Kandidaten (/usr/local/share /usr/share /etc/opt/*/share /opt/*/share /usr/share/gnome) daraufhin ab, ob dort ein Unterverzeichnis "applications" existiert und wenn dem so ist, wird dieser Pfad der Umgebungsvariablen $XDG_DATA_DIRS hinzugefügt. Leider ist es nun so, dass das Verzeichnis in dem kmenuedt die .desktop-Dateien ablegt (~/.local/share/applications/) nicht in der Liste der potenziellen Kandidaten in dem Script auftaucht. Somit wird dieser Pfad nicht hinzugefügt und Xfce kann die .desktop-Datei nicht finden. Ich habe mal Testweise in dem Script "/etc/profile.d/xdg-environment.sh" die Zeile 20, also die Zeile mit den "Kandidaten", erweitert um den Eintrag "~/.local/share" und siehe da, nach dem nächsten Login wurde $XDG_DATA_DIRS erweitert auf "/usr/share:/home/tao/.local/share:/usr/share". Nun kann Xfce die .desktop-Datei zwar finden, aber das Programm wird immer noch nicht im Startmenü angezeigt. Damit kommen wir zu den nächsten 2 Problemen, sie betreffen den Inhalt der von kmenuedit angelegten .desktop-Dateien. Erstens: Die .desktop-Datei enthält einen Eintrag "Path[$e]=". Dieser stört Xfce. Es gibt zwar keine Fehlermeldung, aber das Programm wird einfach nicht im Menü angezeigt. Zweitens: Es fehlt der Eintrag der die Position (Kategorie) im Startmenü bestimmt (Categories=) also z.B. "Categories=Office" und das, obwohl er beim Anlegen in kmenuedit angegeben und dort auch angezeigt wurde. Somit erscheint das Programm in Xfce in der Kategorie "Sonstiges" - in KDE allerdings unter Office was die Vermutung nahe legt, dass KDE noch weitere Informationen zur Menüstruktur irgendwo außerhalb der .desktop-Datei speichert. Wie auch immer, wenn man den Eintrag "Categories=Office" der .desktop-Datei hinzufügt, wird das Programm auch in Xfce, in der Kategorie "Büroprogramme" angezeigt. Das wären also schon mal zwei Baustellen : 1.) Das Script "/etc/profile.d/xdg-environment.sh" 2.) Position und Inhalt der von kmenuedit erzeugten .desktop-Dateien Wer (openSuSE, KDE oder Xfce) sich dabei nicht an freedesktop.org hält, habe ich nicht recherchiert. Das nächste Problem habe ich noch nicht richtig fokussieren können. Es beginnt damit, dass es aktuell in Xfce wohl keine Bordmittel gibt um das Startmenü zu editieren - zumindest nicht grafisch. Ich habe deshalb einfach mal kmenuedit unter Xfce gezündet und da Xfce ja gut mit KDE-Applikationen kann, funktioniert das auch erst einmal - wenn auch mit den oben beschriebenen Problemen. Allerdings spinnt seitdem meine Menüstruktur in KDE soll heißen, mal wird sie nach dem Login korrekt angezeigt, mal fehlen eine Reihe von Programmen oder sind durcheinander "gekegelt" - so fehlen z.B. manchmal alle LibreOffice-Geschichten unterhalb von Büroprogramme und das sind Einträge, an denen ich überhaupt nichts geändert habe, ich habe lediglich ein Programm hinzugefügt. Diese Verhalten ist aber nicht eindeutig reproduzierbar soll heißen, es variiert von Login zu Login. In Xfce schaut das hingegen alles gut aus. Ich vermute mal, dass hier etwas durcheinander geraten ist was in dem oben beschrieben Zusammenhang angesprochen wurde, also das es in KDE offensichtlich noch eine andere Stelle außerhalb der .desktop-Datei gibt an der Menüeinträge verwaltet werden. Ich vermute hier eine Datei die mir einfach nicht bekannt ist. Zum Abschluss noch ein Hinweis für alle die, ähnlich wie ich, zwischen den Desktop-Welten wandeln: In Xfce gibt es ja, wie geschrieben, zunächst mal kein Bordmittel um das Startmenü grafisch zu editieren. Ich habe aber einen Hinweis auf ein Tool gefunden, das diesen Dienst anbietet. LXMenuEditor (lxmed) ist ein in java programmierter Menüeditor der ursprünglich mal für LXDE erstellt wurde, aber auch in anderen Desktopumgebungen funktioniert. lxmed erstellt .desktop-Dateien die sowohl von KDE, wie auch von Xfce korrekt erkannt und behandelt werden und legt sie im Verzeichnis "/usr/local/share/applications/" ab. Dieses Verzeichnis existiert in der Regel nicht, wird aber automatisch von lxmed erstellt und vor allem, es wird von dem oben beschriebenen Script "/etc/profile.d/xdg-environment.sh" von Hause aus berücksichtigt soll heißen, die Umgebungsvariable $XDG_DATA_DIRS wird, nach dem nächsten Login, korrekt erweitert. Mein persönlicher Workaround ist aktuell also, dass ich das Startmenü, sowohl in KDE, wie auch in Xfce, mit lxmed bearbeite. lxmed gibt es hier: http://lxmed.sourceforge.net/ So, das also zum meinem aktuellen "Kinken". Ob das einen Bugreport wert ist, lasse ich Euch entscheiden. -- Herzliche Grüße Tao -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org