Hi, Welt da draußen,

die ersten Prototypen für gsm-ussd-GUIs mit Hilfe von kdialog bzw. zenity stehen bereits. Die möchte ich nun ganz gerne in ein einziges Skript packen und dann dynamisch die passende Variante, je nach Desktop Environment (KDE/GNOME), verwenden. Stellt sich nur eine Frage:

Wie stelle ich im (Shell-)Skript fest, unter welchem Desktop es läuft?

Grundsätzlich kann man ja $DISPLAY befragen, ob man grundsätzlich erst mal unter X unterwegs ist. Meine bisherigen Tests mit Umgebungsvariablen waren bestenfalls durchwachsen. Die beschriebene Vorgehensweise in diesem Thread finde ich dagegen etwas overengineered. Eigentlich hätte ich etwas wie XDG_DESKTOP_SESSION=“gnome|kde|lxde|xfce4|whatever“ erwartet, aber so logisch ist es nun leider nicht…

Hat irgendjemand eine bessere Idee da draußen? EDIT: Ja, hat jemand! Vielleicht hätte ich von vorneherein noch etwas mehr Energie ins Suchen stecken sollen…

In diesem archivierten Mailinglistenbeitrag sind die zwei nötigen Umgebungsvariablen aufgeführt: KDE_FULL_SESSION und GNOME_DESKTOP_SESSION_ID. Damit komme ich erstmal weiter – aber so ein XDG_DESKTOP_SESSION hätte ich um Längen einfacher und flexibler gefunden. Was mache ich bei LXDE? XFCE4?

Grüße,
Jochen