= Maemo-Linux =

Bei Maemo handelt es sich um eine Debian-basierte Linux-Distribution, die federführend unter der Mitarbeit von Nokia entwicklet wurde und die auf den Nokia Internet Tablets (n770, n800, n810) sowie neueren Handys (N900) installiert ist. Maemo ist komplett Open Source.

Die Hauptseite des Maemo-Projektes ist http://maemo.org/

Ab und an werden auch in Deutschland Entwickler-Konferenzen abgehalten: [Maemo-Entwickler tagen in Berlin|http://www.linux-magazin.de/content/view/full/24235]

== Übersicht über die Distributionen ==

Maemo ist, wie alle Debian-basierenden Distributionen, in Repositories organisiert, in denen verschiedene Distributionen (bei Debian: woody, sarge, lenny) vorgehalten werden. Genauso gibt es bei Maemo auch mehrere Distributionen. Leider habe ich keine wirrliche Übersicht gefunden. Hinweise gibt es auf [dieser Seite|http://maemo.org/community/wiki/__ais/rcs/preview/9e972be0fa2711db9cca95a7acc16bfa6bfa/1.25], der Rest ist selbst kombiniert und hier zusammengestellt.

Seit fremantle (Maemo 5 auf dem N900 Handy) hat sich die Oberfläche stark verändert. Das Ganze sieht etwas weniger nach Computer-Desktop und etwas mehr nach Handy aus. Es gibt im Allgemeinen weniger Funktionen, d.h. kleinere Menüs (keine Untermenüs mehr), dafür sind diese aber größer ausgelegt. Die ganze Oberfläche läßt sich viel besser per Touchscreen auch mit Wurstfingern steuern, während ich vorher quasi immer den Pen benutzt habe.

| fremantle | Maemo 5, erstmalig auf N900 inklusive Handyfunktionen
| diablo | OS 2008, Maemo 4.1 (ab Juni 08)
| chinook | Tablet OS 2008 |
| bora | Tablet OS 2007 |
| mistral | Tablet OS 2006 |
| gregale |Tablet OS 2006 (ältere Version?) |
| scirocco, sardine | ??? |

Ich kann definitiv sagen, daß mein n800, das sich im Control-Panel/about als "OS2008, Version 2.2007.51-3" meldet, in der sources.list "chinook" eingetragen hat.



== Installieren von Programmpaketen ==

Geht über den Programmmanager (englisch: Application Manager), der über das "Einstellungen"-Menü zu erreichen ist. Im Programmmenü (ganz oben links im Fenster) kann man den "Programmkatalog" anpassen. Hierbei handelt es sich um eine Liste der eingebundenen APT-Repositories. Letztlich editiert man hier die Datei ''/etc/apt/sources.list.d/hildon-application-manager.list''. Hier sollte man als Bastler (der ist man wohl, wenn man diese Seite hier liest) den vorhandenen Eintrag "maemo Extras" im "Bearbeiten"-Fenster aktivieren. Danach sollte man die Paketliste aktualisieren (über das Menü) und kann dann fleissig drauflosinstallieren.

Dazu gibt es noch eine Faszinierende Alternative, nämlich sogenannte Install-Dateien. Das bedeutet, daß es auf einer Webseite einen Link gibt, den man nur anklicken muss. Dieser Link sendet eine Datei mit der Endung ".install". In dieser sind dann alle benötigten Informationen enthalten. Der Programmmanager startet automatisch und installiert das Programm von selbst. Das bedeutet, daß man viele interessante Maemo-Projekte einfach durch einen einzigen Klick aus dem Browser heraus installieren kann.


== Einloggen von aussen ==

Das erste spannende, was ich auf einem Linux-System immer sehen will, ist eine root-Shell. :-) Ein bisschen enttäuscht war ich schon, daß es im Hauptmenü des n800, ganz ohne Tricks ein XTerm gibt, daß einem (als User) eine gewöhnliche Shell bietet. Allerdings kann man dort nicht root werden. Also heisst das Ziel, sich von aussen einloggen zu können. Das ist natürlich auch angenehm beim "basteln", weil man dann eine normale Tastatur benutzen kann.

Über ds Hauptmenü kann man den Verbindungsmanager starten. Dort im Menü kann man über das Menü Internetverbindung die ''IP-Adresse'' anzeigen lassen. Die merkt man sich dann erstmal, damit man weiss, wie man von aussen an das Gerät herankommt. Natürlich steht es einem frei, seinen "heimischen" DHCP-Server so zu konfigurieren, daß das Gerät eine feste IP bekommt.

Dann installiert man über den Programmmanager das Paket '''openssh'''. Dabei wird nach einem neuen root-Passwort gefragt. Damit ist dann auch schon alles fertig. :-)



=== Tips zum X-Terminal ===

Auf http://inz.fi/blog/2007/01/24/more-osso-xterm-shortcuts/ ist erklärt, wie man eigene Shortcut-Buttons in der Toolbar erzeugt.

Man kann ganz gut eigene Skripte starten. Hierzu sollte man im [Developer Guide|http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide] blättern und etwas zum [Desktop File Format|http://wiki.maemo.org/Desktop_file_format] lesen. Ich habe zum Beispiel ein Skript, das mir das Kalenderprogramm auf meinem heimischen Desktop per '''"ssh -X ..."''' öffnet, wenn ich im heimischen WLAN bin. So habe ich immer einen hundertprozentig synchronisierten Kalender. :-)

Ich erzeuge eine Datei ''/usr/share/applications/hildon/Kalender.desktop'':

  [Desktop Entry]
  Encoding=UTF-8
  Name=Bayen Kalender
  GenericName=Kalender im Bayen Intranet
  Exec=osso-xterm "/home/user/Befehle/Kalender.sh"
  Icon=korganizer
  X-Osso-Type=application/x-executable
  X-HildonDesk-ShowInToolbar=false
  Terminal=true
  Type=Application

Das angegebene Icon muss nach ''/usr/share/icons/hicolor/scalable/apps'' (Ich habe ein 48x48-Icon genommen, weil andere Apps das auch so hatten).

Nun ruft man den Befehl '''update-desktop-database''' auf und schon ist mein neuer Befehl im Task-Menü enthalten. ''(Übrigens hatte ich etwas Probleme mit dem Wechsel des Icons, nachdem ich es einmal falsch gemmacht hatte. Das falsche Icon schien mir gecacht zu werden und konnte nur durch ein reboot des Gerätes verändert werden.)''

Übrigens kann man durch simples "ssh -X ..." sehr viele Linux-Programme von einem anderen Server aus anzeigen. Es gibt zwar Probleme mit der Maus und Tastatur, aber für die eine oder andere Anwendung reicht das vielleicht schon.


== Kamera benutzen ==

Es gibt für n800/n810, die keine Kamera-Applikation mitliefern ein Paket "camera", das einen einfachen Fotoapparat realisiert. Dazu ist allerdings zu sagen, daß es sich um eine Webcam handelt, deren Hauptzweck wahrscheinlich Videotelefonie ist. Die Qualität ist also mit einem Fotoapparat nicht zu vergleichen. Ein einfaches Bildbearbeitungsprogramm ist übrigens ab Werk bereits installiert.

Das N900 besitzt zwei Kameras (vorne die beschriebene Webcam und hinten eine richtige Digitalkamera mit 5 Megapixel). Dort ist natürlich eine anständige Kamera-Applikation bereits installiert. Dennoch sollte obiges Paket die webcam auch als Kamera aktivieren können.


== Mailclient ==

Ich habe ein wenig mit dem eingebauten EMail-Client herumgespielt. Er erscheint mir etwas rudimentär. Erstens benutze ich IMAP, wo ich Probleme hatte, Ordner und Unterordner richtig zu benutzen. Zweitens bekam ich allergrößte Probleme, als ich ein zweites Mailpostfach benutzte. Die Mails beider Postfächer wurden dann nämlich zusammen (!) in einer einzigen (!) Inbox angezeigt. Dabei waren sie hübsch nach Datum durcheinandersortiert. Damit geht natürlich erstens der Sinn von mehreren Postfächern verloren (daß man nämlich seine Mails trennen will) und zweitens fand meine Frau gar nicht witzig, daß Ihre und meine Mails durcheinander standen...

Übrigens halte ich das obengenannte nicht für eine aussergewöhnliche Konfiguration. Gerade, wer ein solches Gerät besitzt, will auf seine Mails wahrscheinlich sowohl am PC als auch mit dem PDA zugreifen. Also ist IMAP ein Muss. Und auch mit mehreren Mailadressen sind wohl die allermeisten technikaffinen Personen ausgestattet.

Auf jeden Fall habe ich ein weit leistungsfähigeres Programm namens [Claws Mail|http://www.claws-mail.org/maemo/] gefunden. Es handelt sich wohl um ein normales GTK-basiertes Linux-Programm, das für Maemo angepasst wurde. Ebendiese Anpassung lässt an einigen - nicht dramatischen - Stellen (im Vergleich zum wirklich hübsch integrierten Original) manchmal etwas zu wünschen übrig, dafür hat man aber einen Mailclient, der auch mit grossen und vielen Ordnern sehr gut umgehen kann. Leider ist Claws Mail nicht als EMail-Applikation in den Desktop integriert, so daß aus dem normalen Menü oder aus dem Browser heraus immer noch der alte Client gestartet wird.

Update: Seit der Diablo-Distribution ist der alte Mail-Client ersetzt durch [modest|http://modest.garage.maemo.org/]. Der scheint wesentlich besser zu sein. Auf den ersten Blick ist er gleichauf mit Claws, ist aber besser in den Desktop integriert. Es gibt natürlich auch ein Paket für Chinook.

Unter Maemo 5 gibt es ein integriertes Mailprogramm, das sich auch modest nennt, aber mit dem von meinem chinook-n810 rein äußerlich recht wenig gemeinsam hat. Die Applikation ist chic und gut integriert und ich komme gut damit zurecht.



== JavaUnterMaemo ==

Java wird offiziell von Nokia oder von Sun nicht unterstützt und ist deshalb auch nicht so einfach zu bekommen. Eine Umgebung aus freien Java-Komponenten ist [JaLiMo|https://wiki.evolvis.org/jalimo/index.php/Maemo]. Man kann es per Install-Datei mit einem Klick installieren. Die SWT-Implementation soll auch ganz gut gehen (wenn auch nicht perfekt integriert). Weiteres hierzu auf der Seite JavaUnterMaemo.



== VPN ==

Es gibt im Standard-Repository ein '''openvpn'''-Paket. Ist dieses installiert, kann es wie jede ganz gewöhnliche OpenVPN-Installation konfiguriert werden. Dann kann das VPN per '''/etc/init.d/openvpn start''' gestartet werden. Eigentlich sollte es automatisch beim Einschalten aktiviert werden, was aber bei mir nicht funktioniert.

Schön wäre, wenn es ein Icon im Systray gäbe, mit dem man das VPN (de-)aktivieren könnte. Leider gibt es sowas bisher nicht. Tips dazu, wie man das VPN automatisch erzeugt, wenn eine Verbindung aufgebaut wird, gibt es in [diesem Blog|http://stefans.datenbruch.de/nokia770/] sowie im Maemo-Wiki in den Artikeln [Connectivity Architecture|http://maemo.org/development/documentation/how-tos/2-x/howto_connectivity_guide.html]
und [Connectivity Guide|http://maemo.org/development/documentation/how-tos/4-0-x/maemo_connectivity_guide.html#InternetConnectivityDaemon]. Dort steht auch einiges generell interessantes zum Thema D-Bus (Signale in Maemo).



== beliebige Debian-Pakete benutzen ==

Grundsätzlich sollte man Debian-Pakete, die für die armel-Architektur compiliert sind, installieren können. Leider stören da aber meistens irgendwelche Abhängigkeiten, weil die Basisbibliotheken in Maemo etwas andere Versionen haben (und ich nicht weiss, ob sie evtl. wichtige Anpassungen enthalten).

Mit dem [Easy Debian|http://wiki.maemo.org/Easy_Debian] Projekt wird dieses Problem elegant erschlagen: Es wird ein eigenes Debian-System in ein chroot installiert. Nach Installation dieses Images hat man sofort Programme wie Openoffice, Gimp, Firefox, etc. installiert. Das ist natürlich auch eine einfache Möglichkeit, JavaUnterMaemo zu installieren. Nachteil ist, daß das Image ca. 1 GB Platz braucht (aber mit einer Speicherkarte ist das eigentlich kein Problem) und das Debian-Anwendungen sich wahrscheinlich nicht ganz optimal in die Maemo-Umgebung integrieren, wenn es um Tastenkombinationen, Desktopintegration etc. geht. Außerdem sollte man natürlich darauf achten, daß man nur 128 MB Hauptspeicher hat (ggf. virtuellen Speicher dazuschalten!).


== Links ==
* [http://www.arachnoid.com/linux/nokia/index.html] - gute Einführung, wie man die wichtigsten Dinge in seinem neuen N810 konfiguriert
* http://wiki.maemo.org/Updating_the_firmware - Firmware-Update per Flash von einem Linux-PC aus (bei aktuellen Systemen nicht mehr für Update nötig, aber bei zerschossenem System immer noch praktisch)

=== Interessante Pakete und Programme ===

* Das [Entwicklerkit|http://www.linux-magazin.de/NEWS/Entwicklerkit-fuer-Maemo-5] für Maemo in der Version 5 wird nun auch als virtuelles Image angeboten. weitere Links: [Tutorial|http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide], [Download|http://www.forum.nokia.com/info/sw.nokia.com/id/c05693a1-265c-4c7f-a389-fc227db4c465/Maemo_5_SDK.html] (05.11.2009)
* Die Maemo-Entwicklungsumgebung für '''Python-Fans''' Pymaemo liegt seit 10. November 2009 in der endgültigen Version für Maemo 5 vor: [pymaemo|http://pymaemo.garage.maemo.org/]
* [Claws Mail|http://www.claws-mail.org/maemo/] - Guter Mail-Client, IMAP-fähig und für mehrere Postfächer geignet
* camera - Damit man mit der Webcam Fotos machen kann
* Numpty Physics - lustiges kleines Spiel mit supersüsser Grafik ;-)
* http://talk.maemo.org/showthread.php?t=47301 - Wie man sein Telefon wiederbekommt, wenn's weg ist (Fernsteuerung, dann per ssh klingeln lassen, Webcam aktivieren, Audio-Überwachung, GPS benutzen, etc.)
ungetestete Tips:
* [Xournal|http://maemo.org/downloads/product/OS2008/xournal/] - Kombination aus Notepad und Sketchpad - ein echtes Notizbuch
* [Maemopad+|http://maemo.org/downloads/product/OS2008/maemopadplus/] - alternatives Notizbuch (nicht im Web dokumentiert)
* [Maemo-Recorder|http://maemo.org/downloads/product/OS2008/maemo-recorder/] - Audio-Aufnahmen erstellen (Diktafon)
* [Labyrinth|http://maemo.org/downloads/product/OS2008/labyrinth/] - einziger Mindmapper, den ich bisher gesehen habe
* [Winzig|http://maemo.org/downloads/product/OS2008/winzig/] - PIM-Applikation
* [GPE|http://gpe.linuxtogo.org/] - PIM-Applikation ([Maemo-Pakete|http://cobb.uk.net/NokiaIT/index.html])
* Mit '''pacat -r --format=u8 --rate 9600''' kann man das Mikrophon abhören. Kann man da ein Babyphon draus bauen?

----
[{Tag LUG Projekte PDA}]