Linux und Ich

Blog über Ubuntu, Linux, Android und IT

Lizenziert unter CC by-sa von slashcrisis auf Flickr

Kompilieren lernen am Beispiel von AllTray

| 2 Kommentare

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. Email-Programme wie Thunderbird und Evolution, die ja meistens laufen, in den Tray zu minimieren. AllTray sollte mit allen Desktopumgebungen und Windomanager 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 compilieren. 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 compilieren kann, ist die Installation diese 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 die Quellcode von AllTray von der Homepage auf z.B. den Desktop herunterladen. Um sicherzustellen, dass man vom gleichen Ausgangzustand 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 neu erstellte Verzeichnis.

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

So, nun beginnt der eigentlich Akt des Compilierens. 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](http://wiki.ubuntuusers.de/Programme_compilieren). Nun kann das Programm compiliert werden. Wie üblich mittels

$ make

Auch die Compilierung 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 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?
 

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 Doppelclick oder aus einem Terminal heraus mittels

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

installieren kann. Ist AllTray compiliert 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.

Autor: Christoph

Hallo, ich bin Christoph -- Linux-User, Blogger und pragmatischer Fan freier Software. Wie Ihr ohne Zweifel bemerkt haben solltet schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen, sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Google+ oder Twitter oder natürlich dem Blog folgen.

2 Kommentare

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

    • 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.

Hinterlasse eine Antwort

Auf Linux und Ich darf anonym kommentiert werden. Die Felder für Name und E-Mail-Adresse dürfen beim Eintragen eures Kommentars leer bleiben. Ich freue mich aber über jeden Kommentar, zu dem der Autor mit seinem Namen steht.