LXDE: Ich versuch’s mit selbst bauen

Mein zweiter Anlauf in Richtung des selbst Kompilieren einer Desktopumgebung für Linux, heißt LXDE. Der Versuch mit Gnome war ja nicht wirklich mit Glück beschieden. Ich hatte zwar ein automatisiertes Werkzeug zum Erstellen von Gnome (jhbuild), dennoch traten immer wieder Probleme auf und zum Schluss war die Festplatte voll. :-(
Ok, dann versuche ich es mal mit dem „schönen Kleinen“, wir mir mal ein Freund vorgeschlagen hat. Das schöne Kleine hört auf den Namen LXDE und ist nach einigen Versuchen lauffähig. Zuerst hatte ich mir den Code aus einem git Repository (git://git.sourceforge.net/lxde/[...]) geholt und musste feststellen, dass dieser eher mehr zur Entwicklung als für den Gebrauch gedacht ist. Stattdessen soll man auf der entsprechenden SourceForge Seite die Pakete herunterladen.
Die Pakete habe ich dann in einen Ordner entpackt. Danach muss man jedes Paket mittels

./configure --sysconfdir=/etc && make && make install

kompilieren. Dabei ist eine kleine Reihenfolge der zu bauenden Pakete zu beachten.

  1. menu-cache
  2. libfm
  3. pcmanfm

Daneben muss man auch ein paar Abhängigkeiten zu beachten. Für Slackware 13.1 habe ich folgende zusätzliche Pakete installieren müssen:

Hat man alles beisammen, kann es auch los gehen. Allerdings habe ich bei einigen Paketen feststellen müssen, dass sich make leicht in einer Endlosschleife verliert, wenn es Dinge im po Unterordner einiger Pakete abarbeiten muss. Indem ich po aus SUBDIRS entfernt habe – ich spreche hier vom Makefile, was im selben Ordner wie der po-Ordner liegt – bin ich um dieses Problem herum gekommen. Ich liste am besten gleich auf, bei welchen Paketen dieses Problem auftritt:

  • lxrandr
  • lxsession-edit
  • lxlaucher
  • lxshortcut

Besondere Vorsicht ist beim kompilieren von lxdm, dem Displaymanager von LXDE, geboten. Dieses Paket nutzt PAM, was man auf einem Slackware System allerdings nicht finden wird. Man hat zwar über den Schalter –-without-pam im configure-Skript eine scheinbare Möglichkeit auch ohne PAM zu kompilieren, nur wird dann beim Durchgang mit make dieser Fehler auftauchen:

gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DCONFIG_FILE=\"/etc/lxdm/lxdm.conf\" -DXSESSIONS_DIR=\"/usr/local/share/xsessions\" -DLXDM_DATA_DIR=/usr/local/share/lxdm -DLXDM_NUMLOCK_PATH=\"/usr/local/libexec/lxdm-numlock\" -I/usr/include/ConsoleKit/ck-connector -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include   -Werror-implicit-function-declaration -Wall  -g -O2 -DLXDM_XCONN_XCB -MT lxdm_binary-lxdm.o -MD -MP -MF .deps/lxdm_binary-lxdm.Tpo -c -o lxdm_binary-lxdm.o `test -f 'lxdm.c' || echo './'`lxdm.c
lxdm.c:152: error: expected ')' before '*' token
make[2]: *** [lxdm_binary-lxdm.o] Error 1

Wie gut, dass ich auch ein paar Brocken C kann. Also den vi geschnappt und an diese Stelle gegangen:

static void close_pam_session(pam_handle_t *pamh)

Auf mich machte der Code einen schlüssigen Eindruck. Beim Überfliegen des Quelltextes wusste ich auch gleich, dass die Header nur unter bestimmten Voraussetzungen eingebunden werden. Wahrscheinlich war pam_handle_t dem gcc unbekannt. Weil ich nicht gerade Bock darauf hatte, PAM einzurichten, nur damit die Authentifizierung der Benutzer darüber laufen kann, habe ich kurzum die oben genannte Funktion auskommentiert. Tja, dann hieß es erstmal wieder compile and pray, wie ich so schön zu sagen pflege. Resultat davon war ein fertig kompiliertes und installierbares lxdm.

Da diese Klippe umschifft und die Pakete vorerst unter /usr/local installiert sind, muss noch ein Symlink erstellt werden:

ln -s /usr/local/bin/startlxde /etc/X11/xinit/xinitrc.lxde

Über xwmconfig lässt sich dann xinitrc.lxde auswählen und man kann einen Versuch mittels startx machen. Startet man in Runlevel 4, so übernimmt XDM die Rolle des grafischen Logins.

0 Responses to “LXDE: Ich versuch’s mit selbst bauen”


Comments are currently closed.