Kompilieren lernen am Beispiel von AllTray

Avatar von Christoph Langner

4 Min. Lesezeit

16 Aufrufe

AllTray fehlt in den Paketquellen von Ubuntu. An dem kleinen Programm lässt sich Schritt für Schritt üben, wie man Quellcode kompiliert und daraus ein Debian-Paket baut.

Code

AllTray ist eine Anwendung, um Programme in das „Benachrichtigungsfeld“ oder Traybar minimieren zu können, die selber diese Funktion nicht bieten. So bietet sich das Programm an, um z. B. E-Mail-Programme wie Thunderbird und Evolution, die ja meistens laufen, in den Tray zu minimieren. AllTray sollte mit allen Desktopumgebungen und Windowmanagern funktionieren, die sich an die Standards von Freedesktop halten. Das sind Gnome, KDE, XFCE, Fluxbox und WindowMaker…

AllTray ist nicht in den Paketquellen von Ubuntu enthalten. Man muss es daher selber kompilieren. Dies ist aber im Falle von AllTray nicht schwer. Gerade AllTray ist ein ideales Übungsbeispiel, weil es ein kleines Programm mit nur wenigen Abhängigkeiten ist. Damit man das Programm erfolgreich kompilieren kann, ist die Installation dieser beiden Bibliotheken…

$ sudo apt-get install libgtk2.0-dev libgconf2-dev

…inklusive aller Abhängigkeiten notwendig. Des Weiteren braucht man natürlich noch den Compiler und zwei weitere Werkzeuge, um ein Debian-Paket zu erstellen.

$ sudo apt-get install build-essential dh-make fakeroot

Anschließend kann man den Quellcode von AllTray von der Homepage auf z. B. den Desktop herunterladen. Um sicherzustellen, dass man vom gleichen Ausgangszustand ausgeht, hier zwei Befehle für das Terminal:

$ cd ~/Desktop
$ wget http://mesh.dl.sourceforge.net/sourceforge/alltray/alltray-0.69.tar.gz

Anschließend kann man nun AllTray entpacken und wechselt gleich in das neu erstellte Verzeichnis.

$ tar -xzf alltray-0.69.tar.gz
$ cd alltray-0.69/

So, nun beginnt der eigentliche Akt des Kompilierens. Wie (fast) immer folgt man dem „Dreischritt“ – ./configure; make; make install. Allerdings wird hier etwas von der üblichen Art abgewichen. Ziel ist es ein simples Debian-Paket zu erstellen, das über die Paketverwaltung installiert und somit auch wieder deinstalliert werden kann. Es beginnt jedoch wie immer mit dem Überprüfen, ob alle notwendigen Bibliotheken im System verfügbar sind. Dies geht wie immer via…

$ ./configure

…Dies sollte fehlerfrei durchlaufen, da anfangs ja alle nötigen Bibliotheken installiert wurden. Tauchen Fehler auf, so findet man Beispiele, wie man solche Fehler interpretiert, im ubuntuusers.de-Wiki unter Programme compilieren. Nun kann das Programm kompiliert werden. Wie üblich mittels…

$ make

…Auch die Kompilierung sollte fehlerfrei durchlaufen. Nun weicht man etwas vom Dreischritt ab. Anstatt das Programm nun via „make install“ zu installieren, erzeugt man ein Debian-Paket. Dazu muss man zuerst die Paketinformationen mittels dh_make erzeugen. Dieses braucht noch als Option die Lage des Archivs mit dem Quellcode, da es ja noch auf dem Desktop liegt.

$ dh_make -f ~/Desktop/alltray-0.69.tar.gz

Dabei bekommt man diese Frage gestellt…

Type of package: single binary, multiple binary, library, kernel module or cdbs?
 [s/m/l/k/b]

…hier wählt man [S] für Single Binary und bestätigt diese Informationen mit einem „Enter“. Abschließend muss nun das Debian-Paket erstellt werden. Dazu dient fakeroot, das die eben erstellten Infos unter debian/rules nutzt.

$ fakeroot debian/rules binary

Auf dem Desktop liegt nun die Datei alltray_0.69-1_i386.deb. Das ist das Debian-Paket, welches man nun mit einem Doppelklick oder aus einem Terminal heraus mittels…

$ sudo dpkg -i ~/Desktop/alltray_0.69-1_i386.deb

…installieren kann. Ist AllTray kompiliert und installiert, so kann man Anwendungen bei ihrem Start in den Tray verbannen. Dazu öffnet man ein Terminal und stellt einfach ein alltray vor den eigentlichen Befehl.

# Allgemein
$ alltray <programm> {optionen} &
# Beispiel
$ alltray mozilla-thunderbird &

Das Programm erscheint nun nur im Tray. Mit einem Doppelklick auf das Trayicon holt man das Fenster in den Vordergrund, mit einem Klick auf den Schließen-Button minimiert man es wieder in den Tray. AllTray zu nutzen, um Programme aus dem Terminal zu starten, ist nicht sehr komfortabel. Die volle Funktion spielt AllTray nur aus, wenn man die Einträge der Programme, die AllTray in die Traybar verbannen soll, ändert. Daher sollte man sich die Zeit nehmen und mit dem Menü-Editor der jeweiligen Desktopumgebung die Einträge ändern.

Ähnliche Beiträge

2 Kommentare zu „Kompilieren lernen am Beispiel von AllTray“

  1. Avatar von Snoozlebug
    Snoozlebug

    Das ist leider nur eine Copy&Paste-Vorlage wie man kompiliert. Mit einer Anleitung hat das nicht mal annähernd etwas zu tun.

    1. Avatar von Christoph

      Hallo Snoozlebug, in der Tat ist der Beitrag nicht ideal. Er ist auch schon eine gaaaaaaaaaaaaaaanze Weile alt. Heute würde ich ihn nicht mehr so schreiben. Allerdings kann man bei diesem Thema nicht mehr als Hinweise geben, da beim Kompilieren von verschiedenen Programm immer wieder etwas anders ist. Der wichtigste Part bei diesem Beitrag ist sowieso der Link zum Wiki-Artikel http://wiki.ubuntuusers.de/programme_kompilieren Der Beitrag stammt Dee und mir und geht deutlich umfangreicher auf die Thematik ein.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Markdown wird unterstützt: **fett**, _kursiv_, [Linktext](URL), `Code`, Zeilen mit - für Listen, 1. für nummerierte Listen, dreifache Backticks für Codeblöcke.

Über den Blog

Seit 2006 probiere ich hier aus, was Linux, freie Software und die passende Hardware so hergeben – von Distributions-Tests bis zum Raspberry-Pi-Projekt. Praxisnah statt bloßem Nachrichtenticker.

Zuletzt auf Mastodon

Geöffneter Laptop zeigt zwei Fenster der Ubuntu-Wiki-Webseite vor buntem Hintergrund.

Ubuntu-Wiki: Neustart mit MediaWiki statt MoinMoin. Das Ubuntu-Wiki läuft ab sofort unter neuer Software: MediaWiki löst das betagte MoinMoin ab. Dafür startet das Wiki mit gerade einmal rund 50 Seiten…

Kategorien

Blog unterstützen

Gefällt dir, was du hier liest? Mit einer kleinen Spende hilfst du, Hosting und neue Testgeräte zu finanzieren – und sorgst nebenbei für den nötigen Kaffee.

Linux und Ich — Kompilieren lernen am Beispiel von AllTray
https://linuxundich.de/gnu-linux/kompilieren-lernen-am-beispiel-von-alltray/ — gedruckt am 23. September 2026