Openbox ist ein toller Fenstermanager und für mich in Kombination mit dem Panel Xfces ein guter Ersatz für komplette Desktopumgebungen. Auf meinem Laptop habe ich parallel zu Openbox noch Xfce.
Das Whiskermenu im Xfce-Panel hat als Standardbefehl zum Abmelden xfce4-session-logout
gesetzt. Das funktioniert unter Xfce natürlich super, unter Openbox gibt es hier aber eine Fehlermeldung, da ja keine Xfce-Session läuft.
Ein entsprechendes Pentant für Openbox gibt es im Rootmenu (REchtsklick auf den Desktop) unter “Exit”. Alternativ mit mehr Auswahlmöglichkeiten gibt es den Befehl obsession-logout
.
Theoretisch könnte man jetzt also den Befehl xfce4-session-logout
durch obsession-logout
ersetzen. Dann könnte ich die Schaltfläche aber nicht einfach unter Xfce einsetzen. Also muss eine Lösung her - z.B. ein Skript.
Der Aufbau ist eigentlich denkbar einfach: Ein Skript überprüft, ob gerade Xfce oder Openbox läuft. Wenn Xfce verwendet wird wird der Befehl xfce4-session-logout
aufgerufen und unter Openbox der andere Befehl. Theoretisch wäre dieses Skript dann beliebig erweiterbar (Habe ich aber nicht probiert).
Welche Desktopumgebung man verwendet kann man mit folgendem Befehl herausfinden:
printenv XDG_SESSION_DESKTOP
herausfinden.
Ein Skript (nennen wir es z.B. obxfceausloggen
) sähe z.B. so aus:
#!/bin/bash
desktop=$(printenv XDG_SESSION_DESKTOP)
if [ "$desktop" == "openbox" ]
then
obsession-logout
elif [ "$desktop" == "xfce" ]
then
xfce4-session-logout
else
echo "Desktopumgebung nicht unterstützt. Beende."
exit 1
fi
Das kann man jetzt zum Beispiel unter ~/bin abspeichern und (das Folgende setzt voraus, dass ~/bin Teil des “Paths” ist) im Whiskermenu als Befehl beim Abmelden obxfceausloggen
eintragen. Die Einstellungsmöglichkeit dazu findet man wie folgt:
Rechtsklick auf das Whiskermenu –> “Eigenschaften” –> “Befehle” –> “Abmelden”. Dort kann man dann das Skript als Befehl eintragen.