Hin und mit
Programme installieren mit Klik
Auspacken
Egal für welche Methode Sie sich entschieden haben: Als Ergebnis landet stets eine einzelne Datei mit der Endung .cmg auf Ihrer Festplatte. In der Regel finden Sie das Bundle direkt auf dem Desktop (Abbildung 5). Sobald Sie mit der Maus auf die Datei klicken, startet das darin verborgene Programm.
Die Bundles lassen sich bei Bedarf auch auf einem Wechselmedium – etwa einem USB-Stick – für den späteren Gebrauch archivieren. Das macht speziell für Live-CD-Systeme Sinn. Doch Vorsicht: Ein Bundle läuft nur unter der Distribution, auf der es herunter geladen wurde.
Erhalten Sie noch während des Downloads die Fehlermeldung Error while trying to run Programm
, so liegt ein Netzwerkfehler vor. Entweder stimmt dann etwas mit Ihrer Internet-Verbindung nicht, oder aber der Klik-Server ist mal wieder in die Knie gegangen. Diese zum Jahresbeginn recht massiven Stabilitätsprobleme scheinen die Klik-Betreiber aber mittlerweile in den Griff bekommen zu haben.
Einschränkungen
Wer auf den Geschmack gekommen ist und jetzt fleißig verschiedene Klik-Pakete startet, wird irgendwann unsanft gebremst. Der Klik-Client erlaubt leider nur eine recht begrenzte Anzahl gleichzeitig laufender Programme. Um zu verstehen, warum diese auf den ersten Blick unnötig erscheinende Limitierung existiert, hilft ein kleiner Blick unter die Motorhaube.
Bei einem Klik-Bundle mit der Dateiendung .cmg handelt es sich um nichts anderes als eine gepackte Mini-Festplatte. Sie enthält alle Verzeichnisse und Dateien, die eine Anwendung auch bei ihrer normalen Installation anlegen würde. Das funktioniert genau so wie bei den bekannten ISO-Images von CD-ROMs (siehe Kasten "Hinter den Kulissen"). Klicken Sie ein Bundle an, dann hängt das Hilfsskript .zApp es einfach in ein Unterverzeichnis von /tmp/app ein. Dazu nutzt es das so genannte Loop-Device – eine Funktion, die alle modernen Linux-Distributionen von Haus aus mitbringen. Anschließend wechselt Klik in das neue Verzeichnis und führt dort die nun zugängliche Anwendung aus. Allerdings stellt Linux in der Voreinstellung derzeit nur acht Loop-Devices gleichzeitig zur Verfügung. Daher können sie maximal acht aus einem Bundle stammende Anwendungen parallel ausführen.
Hinter den Kulissen
Um zu einem fertigen Bundle zu gelangen, erstellt Klik zunächst ein Arbeitsverzeichnis, in dem alle Verzeichnisse des Programms samt ihren Inhalten landen. Damit Klik später weiß, wie die ausführbare Datei heißt und wie es sie genau starten muss, kommt noch ein Skript namens wrapper hinzu.
Da der Ordner jetzt eine komplette Anwendung enthält, bezeichnet man ihn auch als AppDir ("Application Directory"). Der mit entsprechender Intelligenz geimpfte Desktop-Manager entdeckt beim Versuch, in dieses Verzeichnis zu wechseln, das Skript wrapper und führt es aus. Auf diese Weise entsteht für den Benutzer die Illusion, er habe das Programm direkt aufgerufen.
Damit das Arbeitsverzeichnis keinen Platz verschwendet, packt man es in ein Paket – das alt bekannte Bundle. Klik macht sich hier extra viel Mühe und verwendet das so genannte Cramfs-Dateisystem. Die fertige Datei erhält entsprechend die Endung .cmg ("Cramfs Image").
Über Tricks lässt sich diese Anzahl zwar noch erhöhen, etwa mittels des Eintrags options loop max_loop=64 in der Datei /etc/modules.conf. Dennoch lässt sich damit kein komplettes Linux-System ausschließlich aus Bundles aufbauen. Das verhindern zum einen Performance-Probleme, die bei einer solchen Einbindung über das Loop-Device auftauchen.
Zum anderen eignet sich nicht jede Anwendung für ein Bundle. Hierunter fallen beispielsweise alle Programme, die unbedingt nach einer festen Verzeichnisstruktur verlangen. So erwarten beispielsweise viele Anwendungen die Bilder für ihre Symbolleisten unter /usr/local/share. Ähnliches gilt, wenn die Anwendung ihre Konfigurationsdateien quer über das Dateisystem verstreuen möchte.



