Openbox-Desktop

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung

Auf älteren Rechnern kann es zuweilen vorkommen, dass GNOME oder KDE ein wenig zu träge sind. Oftmals wird einem dann zu XFCE oder einem reinen Windowmanager geraten. Letztere sind zwar von Haus aus extrem schnell, dafür aber nicht so einfach zu bedienen und konfigurieren wie die großen Desktop Environments. In diesem Artikel soll der Windowmanager Openbox so ausgerüstet werden, dass er einen möglichst komfortablen Ersatz für GNOME darstellt, dabei aber ungleich schneller ist.


Inhaltsverzeichnis

Zielsetzung & Einschränkungen

Der selbstgemachte Openbox-Desktop

Der Openbox-Desktop soll mit ähnlichem Komfort daherkommen wie der Gnome-Desktop. Dazu wird das Look & Feel an die Standardkonfiguration von Fedora Core 5 angepasst. Als Basis für die Menüeinträge der Programme wurde dabei eine Standardinstallation von Fedora Core 5 herangezogen. Im Gegensatz zum Gnome-Menü werden neue Programme aber nicht automatisch hinzugefügt und deinstallierte entfernt, was eine händische Konfiguration erfordert. Wechselmedien werden zudem nicht automatisch mit einem Icon auf dem Desktop angezeigt. Ein- und Ausbinden dieser kann aber über nautilus und das Icon Computer gehandhabt werden. Die Desktop-Icons müssen über eine Datei angelegt werden, was mit Drag&Drop nicht möglich ist. Da fbpanel einen festen Pfad zu den einzelnen Icons erfordert, macht dieser Umstand einen Wechsel des Icon-Themes umso schwerer.

Abgesehen davon gibt es leider für die verwendeten Programme keine vorgefertigten Pakete, so dass alle aus dem Quellcode compiliert werden müssen. Die Beschreibung auf den einzelnen Seiten sollte dies aber relativ einfach machen.


Voraussetzungen

Damit dies möglich ist, müssen neben Openbox zusätzliche Programme installiert werden. Die Installation selber ist auf eigenen Wiki-Seiten beschrieben, deswegen folgt hier nur eine Übersicht, was alles benutzt wird:

Grundlegend:

  • Openbox - Der Windowmanager (benutzt wird hier Version 3.3rc2)
  • fbpanel - Ein schlankes Panel
  • iDesk - Für Icons auf dem Desktop

Optional:

  • devilspie - Programmfenster automatisch auf bestimmten virtuellen Desktops starten
  • Obmenu - Openbox-Menüs grafisch editieren
  • Obconf - grundlegende Einstellungen von Openbox grafisch ändern
  • numlockx - Ziffernblock beim Start einschalten

Konfiguration

Openbox

Konfigurationsdateien

Erstellt, falls noch nicht vorhanden, die Ordner ~/.config/openbox/ und ~/.local/share/themes/.

mkdir -p ~/.config/openbox/
mkdir -p ~/.local/share/themes/

Anschließend nehmt einen Editor Eurer Wahl und legt die folgenden Dateien mit dem Inhalt der verlinkten Seiten an:

Theme

Als Theme soll ein Clearlooks-Port für Openbox verwendet werden. Dieser sollte zuerst einmal heruntergeladen werden:

Anschließend wird er ins Verzeichnis ~/.local/share/themes/ entpackt:

tar xzf clearlooks-0.6.tar.gz -C ~/.local/share/themes/

Seit xorg 7.0 machen die Openbox-Themes Probleme mit einigen Einstellungen. Diese sollten vorher ausgeräumt werden. Öffnet dazu mit einem Editor die ~/.local/share/themes/Clearlooks/openbox-3/themerc und ändert den Bereich unter Fonts wie folgt ab:

!!window.active.label.text.font:Bitstream Vera Sans:pixelsize=10:bold:shadow=y:shadowtint=70:shadowoffset=1
!!window.inactive.label.text.font:Bitstream Vera Sans:pixelsize=10:bold:shadow=y:shadowtint=20:shadowoffset=1
window.active.label.text.font:Bitstream Vera Sans:pixelsize=10:bold
window.inactive.label.text.font:Bitstream Vera Sans:pixelsize=10:bold
menu.items.font:Bitstream Vera Sans:pixelsize=10
!!menu.title.text.font:Bitstream Vera Sans:bold:pixelsize=10:shadow=y:shadowtint=70
menu.title.text.font:Bitstream Vera Sans:bold


Erstellung einer Startdatei für gdm/kdm

Das Paket für openbox bringt schon seine eigene Startdatei mit. Diese sollte nicht geändert werden, da diese Änderungen bei einer Aktualisierung des Paketes überschrieben werden würden. Besser ist es, eine eigene Datei unter dem Namen /usr/share/xsessions/openbox-desktop.desktop anzulegen. Diese hat dabei folgenden Inhalt:

[Desktop Entry]
Encoding=UTF-8
Name=Openbox Desktop
Comment=A small and clean Desktop Environment based upon Openbox
Comment[de]=Ein kleiner und schlanker Desktop basierend auf Openbox
TryExec=openbox
Exec=/usr/local/bin/openbox-desktop.sh
Terminal=False

[Window Manager]
SessionManaged=true

Der Inhalt des Skriptes openbox-desktop.sh folgt dabei weiter unten.

fbpanel

Für fbpanel steht ebenfalls eine vorgefertigte Einstellungsdatei bereit. Speichert sie unter dem angegebenen Namen:


idesk

Zuerst sollte die Konfigurationsdatei für iDesk angelegt werden:

Anschließend werden drei Dateien im Verzeichnis ~/.idesktop/ angelegt, um Icons für Computer, Persöhnliches Verzeichnis und den Müll zu haben:

~/.idesktop/computer.lnk

table Icon
  Caption: Computer
  Icon: /usr/share/icons/Bluecurve/48x48/apps/icon-computer.png
  Width: 48
  Height: 48
  X: 61
  Y: 13
  Command[0]: nautilus --no-desktop computer:///
  Command[1]: nautilus --browser --no-desktop computer:///
end

~/.idesktop/home.lnk

table Icon
  Caption: Persöhnliches Verzeichnis
  Icon: /usr/share/icons/Bluecurve/48x48/apps/gnome-home.png
  Width: 48
  Height: 48
  X: 61
  Y: 113
  Command[0]: nautilus --no-desktop ~
  Command[1]: nautilus --browser --no-desktop ~
end

~/.idesktop/trash.lnk

table Icon
  Caption: Müll
  Icon: /usr/share/icons/Bluecurve/48x48/mimetypes/trash-empty.png
  Width: 48
  Height: 48
  X: 61
  Y: 203
  Command[0]: nautilus --no-desktop trash:///
  Command[1]: nautilus --browser --no-desktop trash:///
end

Das Icon für den Mülleimer verändert sich dabei nicht, wenn dieser gefüllt wird!


Hilfsskripte

Zudem müssen noch ein paar Skripte angelegt werden, die die Bedienung ein wenig vereinfachen. Diese sollten als root unter /usr/local/bin/ angelegt werden. Vergesst nicht, sie auch ausführbar zu machen (chmod +x).


grun.sh

Ein kleiner Workaround, um auf die Schnelle einen Befehl über die Tastenkombination ALT+F2 auszuführen:

#! /bin/bash

COMMAND=`zenity --entry --text "Bitte Befehl eingeben"`

exec $COMMAND

fbpanel-restart.sh

Damit das fbpanel sich selbst neu starten kann:

#! /bin/bash

killall fbpanel
fbpanel &

load_gnome.sh

Falls aus dem laufenden Betrieb von Openbox ein fast vollständiges Gnome (bis auf Metacity) geladen werden soll, hilft dieses Skript weiter:

#! /bin/bash

# Reste entfernen
killall idesk
killall fbpanel
killall kicker
killall kdesktop
killall artsd 

# Gnome nachladen

gnome-panel &
gnome-volume-manager &
/usr/libexec/gnome-settings-daemon &
/usr/libexec/evolution-data-server-1.2 &
/usr/libexec/evolution/2.2/evolution-alarm-notify &
esd --nobeeps &
nautilus &

openbox-quit.sh

Eine kleine Hilfe, damit vor dem Abmelden, Rebooten und Herunterfragen sicherheitshalber noch eine Abfrage kommt:

#! /bin/bash 

if [ -z $1 ];then
        echo "Usage: $0 [logout|reboot|halt]"
        exit
fi 


if [ $1 = logout ];then
        zenity --question --text "Benutzer wirklich abmelden?" && killall openbox
elif [ $1 = reboot ];then
        zenity --question --text "PC wirklich neustarten?" && sudo /sbin/reboot
elif [ $1 = halt ];then
        zenity --question --text "PC wirklich ausschalten?" && sudo /sbin/halt -p
fi

openbox-desktop.sh

Zuletzt wird noch ein Startskript für Openbox angelegt, dass die benötigten Programme auch startet. Zusätzlich zu den mindestens benötigten Befehlen sind noch ein paar weitere aufgenommen, die auskommentiert werden können, um sie ebenfalls beim Start zu laden:

#! /bin/bash

# Falls idesk nicht verwendet werden soll, kann "display" aus dem Paket
# "ImageMagick" benutzt werden, um das Hintergrundbild zu setzen
#display  -window root /usr/share/backgrounds/images/default.png

# devilspie kann benutzt werden, um die Fenster von Programmen auf einen
# bestimmten Desktop zu legen
#devilspie &

# Manche Gnome-Programme brauchen den gnome-settings-daemon,
# um ihre Einstellungen zu laden
#/usr/libexec/gnome-settings-daemon &

# numlockx aus dem Paket "numlockx" aktiviert den Zahlenblock
# beim Start.
#numlockx &

# idesk setzt das Hintergrundbild und ist für die Icons auf
# dem Desktop verantwortlich
idesk &

# Der Ersatz für das gnome-panel
fbpanel &

# Damit ein Bildschirmschoner und die Funktion "Bildschirm sperren"
# im fbpanel benutzt werden kann, muss gnome-screensaver geladen werden
gnome-screensaver &

# Der gnome-volume-manager muss gestartet werden, um Wechseldatenträger
# (Usbsticks, CD-ROMs, usw) automatisch zu mounten
#gnome-volume-manager &

# Der Windowmanager wird erst am Schluss gestartet
exec openbox

Rechte zum neustarten/herunterfahren

Damit die einzelnen Benutzer, das Recht haben, über das Menü von openbox oder fbpanel den Rechner neuzustarten oder auszuschalten, müssen die ensprechenden Rechte für sudo als root gesetzt werden:

su -
visudo

Tragt dann ans Ende folgende Zeile ein. USERNAME muss dabei durch den Namen des eigenen Benutzers ersetzt werden:

# shutdown and reboot for defined users
USERNAME ALL=NOPASSWD:/sbin/halt, /sbin/reboot


Tastenkombinationen

In der Konfigurationsdatei von Openbox wurde einige Tastenkombinationen geändert und andere hinzugefügt. Es folgt eine kurze Liste der wichtigsten Tastenkombinationen:

Allgemeine Kombinationen:

  • STRG+F1 - Aufruf des Menüs von Openbox
  • ALT+F2 - Aufruf des Ausführen-Dialogs
  • STRG+ALT+Pos1 - Home-Verzeichnis öffnen
  • STRG+ALT+t - Das Gnome-Terminal öffnen
  • Druck/Print - Einen Screenshot machen

Kombinationen für Fenster:

  • ALT+F4 - Aktives Fenster schliessen
  • STRG+q - Aktives Fenster schliessen
  • STRG+ATL+s - Aktives Fenster maximieren (Toggle)
  • STRG+ALT+d - Aktives Fenster minimieren
  • STRG+ALT+a - Aktives Fenster auf-/abrollen (Toggle)
  • STRG+ALT+r - Größe des aktiven Fensters ändern
  • WIN+d - Alle Fenster minimieren (Toggle)
  • STRG+ALT+KP_1 - Aktives Fenster aus Arbeitsfläche 1 schieben
  • STRG+ALT+KP_2 - Aktives Fenster aus Arbeitsfläche 2 schieben
  • STRG+ALT+KP_3 - Aktives Fenster aus Arbeitsfläche 3 schieben
  • STRG+ALT+KP_4 - Aktives Fenster aus Arbeitsfläche 4 schieben
  • Shift+ALT+links - Aktives Fenster eine Arbeitsfläche nach links verschieben
  • Shift+ALT+rechts - Aktives Fenster eine Arbeitsfläche nach rechts verschieben

Kombinationen für Arbeitsflächen:

  • STRG+ALT+1 - Wechsel zur Arbeitsfläche 1
  • STRG+ALT+2 - Wechsel zur Arbeitsfläche 2
  • STRG+ALT+3 - Wechsel zur Arbeitsfläche 3
  • STRG+ALT+4 - Wechsel zur Arbeitsfläche 4
  • STRG+ALT+links - Eine Arbeitsfläche nach links wechseln
  • STRG+ALT+rechts - Eine Arbeitsfläche nach rechts wechseln


Diese Tastenkombinationen können natürlich durch editieren von ~/.config/openbox/rc.xml geändert werden.

Screenshot-Galerie

Auf den Bildern können noch einmal genauer die einzelnen Menüs betrachtet werden: