Lubuntu: Der Weg von LXDE zu einem reinen Openbox-Desktop mit Tint2 und Conky

Ich wollte meinem Lubuntu einen neuen Anstrich verpassen und die standardmäßige LXDE-Desktopumgebung gegen meinen Openbox-Arbeitsplatz austauschen. Ziel war es aber nicht wie üblich von einer minimalen Installation das System aufzubauen, sondern so wenig wie möglich an den vorinstallierten Einstellungen von Lubuntu zu ändern. Ich habe die einzelnen Schritte hier noch einmal dokumentiert, nützliche Quellen angegeben und meine eigene Konfiguration vorgestellt. Ich hoffe, es ist für diejenigen nützlich, die eine schnelle Lubuntu-Installation schätzen, aber anschließend gerne mit wenig Aufwand den Desktop an die eigenen Vorstellungen anpassen möchten.

Vorher und Nachher

Lubuntu benutzt von Haus aus das LXPanel am unteren Bildschirmrand und den Dateimanager PCManFM zum Verwalten des Desktops und der darauf befindlichen Icons. Damit entsteht das klassische Desktopgefühl, wodurch Lubuntu sich in der Standardeinstellung als perfekter Ersatz für all diejenigen eignet, die Gnome 3 und den zahlreichen Gnome-Shell-Varianten nichts abgewinnen können.
Mit ein paar Handgriffen lässt sich aus Lubuntu aber auch ein typischer Openbox-Desktop machen mit Rechsklickmenü, Tint2-Panel und Conky. Zusätzlich habe ich noch Ubuntu One installiert, in das PCManFM-Menü integriert und mir die Alpha des Lubuntu-Software-Centers angeschaut.

vorher
nachher

Konfiguration

Die folgenden Abschnitte sollen nur kurz erklären, was installiert und konfiguriert wurde ohne dabei zu sehr jedes Detail auszuschmücken. Im Idealfall könnt ihr meine Konfigurationsdateien an den entsprechenden Ort kopieren und die Textdateien bearbeiten, wonach sich das entsprechende Ergebnis einstellen sollte.
Wer mehr Informationen zu LXDE und Openbox haben möchte, sollte einen Blick auf die Artikel im Wiki von ubuntuusers.de oder meine kurze Übersicht "Erste Schritte mit Openbox" werfen.
Diese Pakete haben ich insgesamt entfernt oder zusätzlich installiert.

  • Entfernte Pakete: lxpanel
  • Installierte Pakete: tint2, conky, menu, obmenu, nitrogen, ubuntuone-client, ubuntuone-control-panel, lubuntu-software-center

Hintergrundbild

Der einfachste Teil des Ganzen. Damit nicht mehr PCManFM das Hintergrundbild zeichnet, bietet sich dafür z.B. das Programm Nitrogen an, das leicht zu bedienen ist. Programm aufrufen, Bilderverzeichnis mit dem gewünschten Hintergrundbild auswählen, fertig. Eine gute Alternative dazu bleibt weiterhin feh. Das Bild habe ich auf wallbase.cc gefunden.

Openbox- und GTK-Thema

Das Thema des Fenstermanagers lässt sich mit obconf, die Themen der GTK-Anwendungen bequem mit LXAppearance ändern. Ich habe mich erneut für Alghattas entschieden, da es mir schon als Thema für meinen Openbox-Desktop mit Arch Linux gefiel. Ein Problem scheint derzeit zu sein, dass Alghattas nicht für GTK3-Applikationen geeignet ist oder LXAppearance hier einfach schlapp macht.
Lösungen: Wählt ein anderes Thema, tauscht die GTK3-Anwendungen aus oder ignoriert das Ganze. 😉
Entpackt Alghattas nach ~/.themes/ und ihr solltet keine Probleme haben das neue Thema mit obconf und LXAppearance auszuwählen.

Conky

Normalerweise bevorzuge ich eher schlichte Conky-Themen. Mir genügen die wichtigsten Systeminformationen in Textform. Das wars. Langweilig, ich weiß. Für den Showeffekt habe ich deswegen mal nach etwas anderem gesucht und bin bei webupd8.org fündig geworden. Ihr könnt euch das Original des Benutzers despot77 von gnome-look.org herunterladen.
Ich habe die Version leicht angepasst, die Farben geändert und das Lubuntu-Logo verwendet. Mit diesem Conky-Beispiel sieht man recht gut die Möglichkeiten von Lua, womit die Kreise und die Uhr dynamisch gezeichnet werden.
Damit Conky sauber beim Abmelden beendet wird, ist es derzeit noch notwendig in der Datei /etc/lxdm/PostLogout
pkill -9 conky
einzutragen.
Download: Mein Conky
Kopieren nach: ~

Tint2

Ich weiß auch nicht genau, was mich an Tint2 so begeistert. Ich denke, es ist dieser schlichte, aber trotzdem so effektive Ansatz. Aufmerksame Leser erkennen auch hier wieder die Vorlage von Crunchbang Linux. Dieses Mal habe ich mich für einen transparenten Hintergrund und vier Arbeitsflächen entschieden. Da ich mit Conky schon Datum und Uhrzeit darstelle, entfiel der entsprechende Konfigurationsteil bei Tint2. Die Anzahl der Desktops lässt sich mit obconf unter dem Reiter "Arbeitsfläche" ändern.
Download: Meine tint2rc
Kopieren nach: ~/.config/tint2/

Autostart

Es ist ziemlich umständlich bei jedem Neustart das neue Panel, Conky und Nitrogen manuell auszuführen. Damit dies automatisch geschieht, gibt es eine Autostartfunktion, die man bei Lubuntu meiner Meinung nach an zu vielen Stellen suchen muss.
LXDE greift auf die freedesktop.org Standards zurück, was ungewohnt erscheint, wenn man es bisher lediglich mit der Datei autostart im Ordner ~/.config/openbox/ zu tun hatte.
Anwendungen lassen sich bei Lubuntu global in /etc/xdg/lxsession/Lubuntu/autostart automatisch ausführen. Diese Datei sieht bei mir so aus.

@nitrogen --restore
@xscreensaver -no-splash
@xfce4-power-manager
@/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1

Wo sind Tint2 und Conky geblieben? Aus Gründen, die ich nicht nachvollziehen konnte, wurden beide trotz des Eintrags nicht gestartet. Die Alternative ist eine .desktop Datei, z.B. tint2.desktop, anzulegen, sie gemäß dem folgenden Muster zu editieren und dann nach ~/.config/autostart/ zu kopieren.

[Desktop Entry]
Encoding=UTF-8
Name=Tint2
Comment=Panel
GenericName=Tint2
Categories=GTK;Utility;
Exec=tint2
Icon=/usr/share/pixmaps/gksu.png
Terminal=false
Type=Application
NoDisplay=false
StartupNotify=true

Mehr Informationen dazu gibt es im Wiki von ubuntuusers.de unter dem Stichwort Menue.

Rootmenü

Mir gefällt das Openbox-Menü, weil ich hiermit schnellen Zugriff auf alle Anwendungen an jedem Punkt der Arbeitsfläche haben kann, indem ich nur die rechte Maustaste drücke. Im Zusammenspiel mit Tastenkürzeln ist das eine große Zeitersparnis. Zuerst muss man das Menü wie folgt aktivieren.

Rechsklick auf den Desktop -> Einstellungen der Arbeitsfläche -> Fortgeschritten -> Option "Menü mit Fenstermanager anzeigen" aktivieren.

Um den Vorgang rückgängig zu machen, kann man pcmanfm --desktop-pref in einem Terminal ausführen.
Ein Nachteil ist aber am Anfang, dass man dieses Menü zum einen mit obmenu manuell an seine Vorstellungen anpassen muss. In der Regel ändere ich aber nur einige wenige Einträge von Hand, der Rest wird automatisch mit Hilfe des Debian-Menüs generiert. Nach der Installation von menu, trägt man noch folgende Zeilen an die passende Stelle in ~./config/openbox/lubuntu-rc.xml ein.

<!-- You can specify more than one menu file in here and they are all loaded,
       just don't make menu ids clash or, well, it'll be kind of pointless -->
<file>debian-menu.xml</file>
<file>menu.xml</file>

Die beiden Namen zwischen den tags verweisen auf die gleichlautenden Dateinamen in ~/.config/openbox/. Mit dem Befehl update-menus als normaler Benutzer wird das spezielle Debian-Menü neu generiert. Einziger Nachteil, wenn man es nicht global benutzt: Man muss nach dem Entfernen oder einer Neuinstallation von Software update-menus erneut ausführen, damit das Menü angepasst wird.
Download: Meine Openbox-Konfiguration
Kopieren nach:~/.config/openbox/

Ubuntu One und Software-Center

Ubuntu One und das Software-Center werden beide standardmäßig bei Lubuntu nicht vorinstalliert. Sie lassen sich aber schnell mit
aptitude install ubuntuone-client ubuntuone-control-panel software-center
nachinstallieren. Möchte man mit PCManFM Ordner zur Synchronisation freigeben, kann man sich einen zusätzlichen Menüeintrag im Dateimanager erstellen.

Rechtsklick auf einen Ordner -> Öffnen mit -> Befehlszeile -> u1sdtool --create-folder %f

Das Kommandozeilenprogramm u1sdtool lässt sich dann auch genauso zum Auflisten und Entfernen von Ordnern aus UbuntuOne benutzen.
u1sdtool --list-folder
u1sdtool --delete-folder "ID"
Lubuntu entwickelt zusätzlich zum normalen Software-Center noch eine leichtgewichtige Version, die schlicht Lubuntu-Software-Center heißt. Es lässt sich aus dem Lubuntu-Desktop PPA einbinden. Da es sich um eine Entwicklungsversion handelt, sollte man dementsprechend mit dem Paket umgehen. Zur Zeit bemerkt man deutlich das reaktionsfreudige Verhalten, einige der Funktionen des normalen Software-Centers wurden aber noch nicht integriert.

Fazit

Ich denke die größte Hürde bei der Umstellung auf einen klassischen Openbox-Desktop ist zum einen das Finden der passenden Stelle für den Autostart und das Anpassen des Rechtsklickmenüs. Der Rest ist Geschmackssache und schnell erledigt. Zum Schluss noch der Desktop ohne geöffnete Fenster.

Ein neuer Systemmonitor für Ubuntu 11.04

Scheinbar bin ich nicht der Einzige, der die alten Gnome Applets im Panel vermisst. Es gibt schon verschiedene Projekte auf launchpad.net, die versuchen das alte Gefühl zurück in das Panel von Unity zu bringen.

Indicator-Multiload

Indicator Multiload lässt sich aus dem PPA wie folgt installieren:

sudo add-apt-repository ppa:indicator-multiload/stable-daily
sudo aptitude update
sudo aptitude install indicator-multiload

Indicator-Sysmonitor

Es gibt für indicator-sysmonitor ein Deb-Paket, welches sich nach dem Herunterladen mit einem simplen Doppelklick installieren lässt.

Der Multiload-Indikator ähnelt und verhält sich auch so wie das alte Gnome-Applet. Lediglich Tooltips, die den zugehörigen Zahlenwert zeigen, fehlen noch. Der Sysmonitor hingegen ist recht schlicht. Die Anzeige von CPU-Auslastung und Speicherverbrauch genügen mir aber schon.
Wie immer gilt der übliche Haftungsausschluss. Bei beiden Programmen handelt es sich nicht um offiziell unterstützte Software. Fehler können natürlich jederzeit auftreten. Ich kann mit beiden Applets gut leben. Trotzdem halte ich gerne die Anzahl der zusätzlichen Softwarequellen gering. Wichtig ist mir ein PPA nur für Wine, die neusten Nvidia-Treiber oder für Openshot und Blender, wenn es um Videobearbeitung geht.

Conky

An Alternativen mangelt es nicht. Conky gibt es auch schon viele Jahre und stellt als Systemmonitor praktisch jede erdenkliche Information zur Verfügung.

aptitude install conky

Die globale Konfigurationsdatei befindet sich in /etc/conky/conky.conf und sollte am besten für den normalen Nutzer nach ~/.conkyrc kopiert werden. Zur individuellen Konfiguration von Conky lassen sich wahrscheinlich ganze Bücher füllen. Wer es deshalb einfach mag, muss die Standardkonfiguration aber nur an zwei Stellen anpassen und erhält das Ergebnis auf dem folgenden Screenshot.

alignment bottom_right
own_windows_transparent yes

Die zweite Zeile muss hinzugefügt werden. Dadurch erscheint es, als ob conky direkt auf dem Desktop liegen würde. Damit conky auch jedes Mal beim Systemstart angezeigt wird, muss es als Startprogramm unter Systemeinstellungen->Startprogramme hinzugefügt werden. Als Befehl genügt conky. Die Systemeinstellungen befinden sich neuerdings oben rechts, wenn man auf den Ausschalten Knopf klickt. 🙄

Auf das Wesentliche reduziert könnte Conky auch wie im folgenden Bild aussehen. Die Ausgabe wurde auf RAM und CPU beschränkt. Mit der Option double_buffer yes verschwindet zwar das Flackern, wenn man own_window no gesetzt hat und somit den Fensterrahmen um conky vermeidet. Nautilus wehrt sich aber dagegen und zeigt danach keine Bilder mehr auf dem Desktop an.

Die Position der Ausgabe lässt sich mit den Optionen gap_x und gap_y ändern. Im Netz existieren wahre Conky-Kunstwerke. Wer mit dem Ergebnis nicht zufrieden ist, findet mit einer Suche nach conkyrc schnell viele weitere Beispiele. Mehr Informationen zu conky und mögliche Problemlösungen gibt es auf ubuntuusers.de
Meine Mini-Conkyrc:

alignment bottom_right
background no
border_width 1
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no
use_xft yes
xftfont DejaVu Sans Mono:size=12
gap_x 735
gap_y 419
minimum_size 5 5
net_avg_samples 2
no_buffers yes
out_to_console no
out_to_stderr no
extra_newline no
own_window yes
own_window_transparent yes
own_window_class Conky
own_window_type desktop
stippled_borders 0
update_interval 1.0
uppercase no
use_spacer none
show_graph_scale no
show_graph_range no
TEXT
${color grey}RAM:$color $mem/$memmax
${color grey}CPU:$color $cpu%