Catégorie : Matériel     Tags :      0 Commentaire

    Retrouvez cet article dans : Linux Magazine 81

    Linux est un système de choix pour l’embarqué. C’est Nokia qui nous le confirme avec la récente sortie du N770, un appareil étrange, un peu hybride entre le PDA et le tablet PC. En temps que bon geek, ce qui nous intéresse, c’est qu’il tourne sous Linux 2.6... Faisons donc le tour du propriétaire.

    Présentation

    Le N770 est un concept nouveau. Pour clarifier les choses, ce n’est pas un téléphone, il s’agit d’une " tablette internet ".
    Derrière ce terme se cache un excellent niveau de connectivité, la connexion à Internet est possible via une liaison bluetooth avec un téléphone qui tient alors le rôle de modem, mais surtout, le N770 nous permet très facilement d’accéder aux réseaux WiFi, que ce soit en 802.11b ou 802.11g.
    Au niveau matériel, le N770 embarque un OMAP 1710 de chez Texas Instruments, un microcontrôleur possédant un DSP (TMS320C55x) et un processeur arm (ARM926TEJ). Reportez-vous aux liens en fin d’article pour la page de présentation de l’OMAP 1710. Ce microcontrôleur est cadencé à une vitesse maximum de 220MHz et offre la prise en charge WiFi, USB OTG (On The Go), des capacités d’accélération matérielle des graphismes 2D (vidéos notamment du coup), un contrôleur LCD (ça tombe bien !) et est annoncé pour être " raisonnable " sur sa consommation. L’arm9 annonce une possible accélération java, ce qui ne semble pas avoir séduit Nokia, le N770 étant pour l’heure totalement exempt de support Java. On imagine que le but premier de cette option serait plutôt utile aux éventuels périphériques à venir basés sur une architecture PersonalJava, mais ça reste à vérifier dans le futur.
    Autour de cette belle pièce, on trouve 128Mo de stockage en mémoire flash, dont 64 sont disponibles pour vos applis et 64Mo de DDR RAM. Les capacités de stockage étant complétées par un lecteur RS-MMC (Reduced Sze MultiMedia Card), qui ressemble à une demie SDCard, il est fourni une " rallonge " permettant de l’utiliser avec un lecteur multicarte en tant que MMC conventionnelle comme on en trouve pour PC/Mac dans toutes les bonnes crémeries.
    L’OS du N770 porte le nom " Internet Tablet 2005 software edition " (bientôt 2006). Il se cache derrière un kernel Linux 2.6.12 modifié, notamment pour améliorer le support du processeur utilisé, un OMAP, comme évoqué plus haut. Nokia a ainsi participé en contribuant par exemple au projet dspgateway. On trouve également dans le N770 des morceaux de Debian, les applications sont notamment gérées grâce à dpkg. Pour l’interface utilisateur, Nokia a choisi Gtk+ et Hildon, ce dernier (ou le " GNOME des portables ") étant séparé en deux parties, la première se chargeant de la gestion de l’interface utilisateur tandis que la seconde gère les applications.

    /img-articles/lm/81/art-7/fig-1.jpg

     L’offre logicielle est à l’heure actuelle limitée, mais on trouve quand même un navigateur internet, un logiciel de courrier électronique, un lecteur de flux RSS avec possibilité d’agrégation de plusieurs sources et divers logiciels accessoires. Il est possible de compléter ce qu’offre le package de base par Gaim, par exemple, pour la messagerie instantanée et Nokia promet une mise à jour majeure de l’ensemble logiciel dans le début de l’année 2006. Des mises à jour mineures sont d’ores et déjà mises à disposition.
    En plus de ces logiciels internet, le N770 est doté de lecteurs audio et vidéo d’excellentes factures. L’image est notamment de très bonne qualité et, pour terminer cette présentation flatteuse, ce que l’on remarque en l’allumant pour la première fois, c’est vraiment son écran, de 9cm de large par 5,5cm de haut, mais affichant avec une netteté et un contraste parfaits une résolution de 800x480, grâce notamment à une résolution de 96dpi (contre 72 pour un écran basique).
    Voilà enfin un périphérique portable capable de permettre la lecture aisée d’un site web ou d’un mail. Ledit écran est de plus tactile et permet la saisie de vos textes par clavier virtuel ou par reconnaissance d’écriture, laquelle fonctionne très bien une fois que l’on s’y est habitué. Le son est lui aussi très bon, il ne lui manque que le support OGG, mais un lecteur supplémentaire le prenant en charge est d’ores et déjà disponible. Malheureusement, les coupures sont nombreuses et on ne peut alors plus faire grand-chose de la tablette. Gageons que le futur corrigera cela, l’environnement de développement sur PC ne permettant pas d’émuler le DSP, mais la récente mise à disposition du matériel permettant des tests de développements plus poussés.
    Je ne vais pas remplacer les commerciaux de chez Nokia en lançant plus de fleurs à la bête donc gardons une place pour ses petits défauts.
    Les différentes critiques sont complètement subjectives bien sûr, mais citons en quelques-unes. Il arrive que l’affichage des vidéos soit saccadé et c’est le cas au début de la vidéo fournie dans le N770 (la bande annonce de " l’âge de glace 2 "). Certains trouvent également au N770 des temps de réponse et de chargement des applications un peu longuets et une autonomie limitée.
    Dans les faits, il est clair que le N770 n’est pas forcément adapté à la lecture de films entiers, en revanche, la durée annoncée de 3 heures en " utilisation web " est tout à fait honnête et permet de suivre l’actualité de ses sites préférés via le lecteur de flux RSS, mettre de l’ordre dans ses mails et surfer sur le web pendant les pauses café au boulot, les voyages en TGV, les coins détente dans les foires et expositions pour peu qu’il y ait un accès WiFi... On pourra même écouter une webradio de façon confortable et sans coupure en même temps.

    /img-articles/lm/81/art-7/t1.jpg

    Maemo

    Nokia avait déjà commencé à nous surprendre en offrant la possibilité de développer en Python sur ses téléphones Series 60. Ils ont depuis ouvert un site recensant leurs projets open source. Parmi ceux-ci, on trouve par exemple Perl pour téléphones Nokia, mais aussi Maemo, lequel va particulièrement nous intéresser ici car c’est la plate-forme de développement, compilation et test d’applications pour N770 et pour les (on l’espère) nombreux périphériques conformes qui suivront.
    Le point de rencontre autour de Maemo est le site maemo.org. On y retrouve les liens utiles, les téléchargements et l’indispensable wiki, regroupant de très bons tutoriels et des astuces incontournables.

    Présentation fonctionnelle

    On l’a déjà dit, mais répétons-le, au-dessus de la couche matérielle, on trouve du logiciel Linux avec par exemple un kernel 2.6 avec Bluez pour bluetooth, la Glibc comme bibliothèque C standard (et pas la uClibc comme c’est souvent le cas sur les appareils de ce genre), D-Bus pour les communications entre applications en xml, SDL pour les jeux...
    La couche supérieure, c’est la plate-forme Hildon. L’interface utilisateur fait appel à des bibliothèques bien connues, adaptées à une utilisation sur un périphérique mobile, pour la prise en charge de la saisie par clavier virtuel et la navigation au stylet par exemple, mais tout est très proche de ce que l’on connaît. L’aspect localisation est notamment pris en charge par Pango pour communiquer en utilisant tous les alphabets nécessaires.
    La plate-forme Hildon organise tout ce petit monde dans un " thème de bureau " spécifique au N770 avec à gauche, des boutons de lancement rapide et les applications en cours d’exécution, en haut, des icônes de statut (connexion internet, charge batterie, utilisation mémoire et processeur via une applet supplémentaire...) et enfin, au centre, des applications " raccourcis " (les Home plugins, permettant d’avoir à l’œil l’essentiel du contenu qui nous intéresse, à la façon du Today screen des Pocket PC.

    On y va !

    Connexion

    Quand on utilise le câble de connexion pour connecter le N770 au PC, il est vu comme un disque externe, au même titre qu’une clé USB. On a ainsi accès au contenu de la carte mémoire. C’est pratique pour transférer des applications, fichiers, morceaux de musique, films, etc. Mais en tant que bon geek, on reste sur sa faim.
    Une petite chose à noter : tant que l’on est connecté, la carte n’est plus accessible sur le N770, vous devez démonter le lecteur amovible sur votre machine ET débrancher le câble pour que la carte redevienne accessible sur le Nokia.

    Installer SSH

    L’installation du serveur ssh fait l’objet d’une page très bien faite sur le wiki maemo. Je ne vais donc pas la paraphraser ici. Vous la trouverez dans les liens et références.
    Vous aurez besoin d’un terminal pour lancer le serveur, et de toutes façons, il vous sera utile par la suite, télécharger donc xterm que vous trouverez dans le catalogue d’applications (Voir liens).
    Pour le transfert des clés, utilisez le fait que vous avez accès à la carte RS-MMC en branchant le câble USB. Les deux étant fournis avec le N770, profitez-en. On se connecte au N770 en tant qu’utilisateur user sur le port 2222 par défaut, puisque au terme de l’installation il sera lancé en tant qu’utilisateur sans droits.
    A titre d’information, on trouve sur le wiki et les mailing lists les informations nécessaires pour pouvoir devenir root sur le N770 d’au moins trois façons différentes, mais je n’en ai pas eu besoin et c’est à mon sens bien comme ça. Sachez toutefois que ce n’est pas difficile et théoriquement sans danger. J’ai testé la méthode citée dans le lien fourni en fin d’article sans dommage.
    Une dernière note, pour connaître l’adresse IP du N770, une solution simple (une fois connecté) consiste à cliquer sur la planète en haut à droite et à choisir gestionnaire de connexions puis, dans le menu sélectionnez Connexion Internet et enfin Adresse IP.
    Notons enfin que pour automatiser le lancement du serveur, on a tout intérêt à placer la ligne suivante dans le fichier /home/user/.profile :

    /var/lib/install/etc/init.d/dropbear-server start

     Outils de développement

    Téléchargement et Installation

    La partie la plus pénible pour développer pour le Nokia 770 est d’installer les outils. Une fois cette étape passée, le reste sera simple. Pour la suite, je partirais du principe que vous utilisez une Debian ou une distribution dérivée. A titre d’information, cet article a été écrit sur une Kubuntu 5.10.
    On va utiliser scratchbox, un environnement de compilation croisée. Le site maemo.org recommande d’utiliser la dernière version 0.9.8 stable. On va donc désobéir et opter pour Scracthbox 1.0.2, la plus récente. Il nous faut télécharger les éléments suivants sur le site de téléchargement de Scratchbox (voir liens) :

    - scratchbox-libs_1.0.2_i386.deb
    - scratchbox-core_1.0.2_i386.deb
    - scratchbox-devkit-debian_1.0.2_i386.deb
    - scratchbox-devkit-perl_1.0.2_i386.deb
    - scratchbox-toolchain-arm-gcc3.4-glibc2.3_1.0.2_i386.deb

    Les mêmes paquets sont disponibles au format tgz, à décompresser à la racine <troll> pour les malchanceux utilisant autre chose qu’une Debian</troll>...
    Trêve de plaisanterie, laissons refroidir le routeur ADSL, et installons donc les paquets téléchargés dans l’ordre donné ci-dessous, en tant que root.

    # dpkg -i scratchbox-libs_1.0.2_i386.deb
    # dpkg -i scratchbox-core_1.0.2_i386.deb
    # dpkg -i scratchbox-devkit-debian_1.0.2_i386.deb
    # dpkg -i scratchbox-devkit-perl_1.0.2_i386.deb
    # dpkg -i scratchbox-toolchain-arm-gcc3.4-glibc2.3_1.0.2_i386.deb

    Nous avons donc installé les bibliothèques requises (libs), la base de scratchbox (core), des outils de développement (devkit) et la chaîne de compilation croisée, le premier paquet prenant en charge la compilation pour l’émulateur et le second celle à destination du vrai périphérique. Notez que le devkit perl est nécessaire pour compiler la plupart des applications, perl et XML::Parse étant utilisés pour les fichiers de localisation.

    Configuration

    On doit commencer par ajouter un utilisateur à scratchbox... Utilisez votre login Linux et remplacez donc zazou par ce dernier dans la commande ci-dessous, à lancer en tant que root :

    # /scratchbox/sbin/sbox_adduser zazou
    Add user zazou to group ‘sbox’? [yes/no] (yes):
    Adding user `zazou’ to group `sbox’...
    Done.
    Scratchbox user account for user zazou added

    A ce moment là, vous faites aussi partie du groupe sbox, mais le système ne le sait pas encore. Mettez fin à votre session et reloguez vous pour vérifier que la commande groups vous renvoie bien sbox, entre autres. Si c’est bon, on se logue dans scratchbox en utilisant /scratchbox/login. Notez bien que, désormais, on exécute les commandes comme un utilisateur normal.

    $ groups
    zazou adm dialout cdrom floppy audio dip video plugdev lpadmin scanner admin sbox
    $ /scratchbox/login
    
    You dont have active target in scratchbox chroot.
    Please create one by running "sb-menu" before continuing
    
    Welcome to Scratchbox, the cross-compilation toolkit!
    
    Use ‘sb-menu’ to change your compilation target.
    See /scratchbox/doc/ for documentation.
    
    sb-conf: No current target
    [sbox-: ~] >

    De toute évidence, il nous reste des paramètres à configurer, mais au moins, " on est dedans... ". Il nous faut à présent exécuter sb-menu, comme on y est invité. On arrive alors dans une interface bash/dialog nous permettant d’ajouter des cibles. Le chemin est simple. Il faut choisir Setup, on entre ensuite, par exemple, n770 comme nom. On sélectionne alors le compilateur arm et les devkits debian et perl. On valide et on choisit qemu-arm dans l’écran Select CPU-transparency method. Lorsqu’on nous demande si on veut utiliser un rootstrap pour cette cible, il faut répondre oui et choisir l’option de téléchargement.

    L’URL du rootstrap actuel, pour arm, est : http://repository.maemo.org/stable/1.1/Maemo_Dev_Platform_RS_v1.1_arm.tgz.
    Au terme de ce long téléchargement... on vous demande si vous voulez installer des fichiers sur la cible (dites oui et installez tout ce qu’on vous propose). Vous pouvez ensuite sélectionner cette nouvelle cible.
    Le prompt de scratchbox devient alors :

    [sbox-n770: ~] >

    On règle immédiatement quelques détails importants pour la suite à savoir la définition des variables d’environnement DISPLAY, LC_ALL, LANGUAGE et PAGER

    [sbox-n770: ~] > cat > .bash_profile
    export LC_ALL=en_GB
    export LANGUAGE=en_GB
    export DISPLAY=:1
    export PAGER=less
    [Ctrl+D]
    Suite à la création du fichier .bash_profile, soit vous vous reloguez dans scratchbox, soit vous exécutez la commande . .bash_profile.Pour simuler le fonctionnement du n770 sur la machine de développement, il nous faut un serveur X. Le choix se porte sur Xephyr. Sur Ubuntu, on peut l’installer si on a ajouté universe aux catégories de dépôts utilisables. Le paquet s’appelle xserver-xephyr et s’installe aisément avec apt-get (générique), synaptic (Ubuntu) ou adept (Kubuntu).Une fois Xephyr installé, on le lance avec les options adaptées au N770 dans une console " normale " (pas dans scratchbox) :
     $ Xephyr :1 -screen 800x480x16 -dpi 96 -ac &

    Une fenêtre avec un serveur X a du être affichée, si c’est le cas, on lance l’environnement maemo dedans, dans la console scratchbox.

    [sbox-n770: ~] > af-sb-init.sh start

    On peut alors faire connaissance avec l’interface de cet N770 émulé. Pour le moins spartiate par rapport à l’affichage de l’appareil réel. On trouve tout de même tout de suite un terminal X et on joue avec...

    Test

    Quand vous tapez dans scratchbox, vous êtes dans le n770 émulé, ça revient au même. La saisie étant plus simple dans un vrai terminal, je vous déconseille de reproduire l’expérience ci-dessus. Saisissez le code et compilez-le dans scratchbox. Vous n’aurez plus alors qu’à taper ./hello dans le terminal de l’UI sous Xephyr.

    /img-articles/lm/81/art-7/fig-2.jpg

    Premier contact

     Pour ceux qui préfèrent le texte aux images, ce qui s’affiche dans l’image ci-dessus est :

    $ ls
    MyDocs
    $ cat > hello.c
    #include <stdio.h>
    int main (void) {
            printf ("Hello World !\n");
            return 0;
    }
    $ gcc -o hello hello.c
    $ ./hello
    Hello World !
    $

    Une application : Scribble

    On va utiliser l’exemple du tutoriel de Gtk+-2.0, Scribble. Récupérons le source (Voir liens) et compilons-le.

    [sbox-n770: ~] > gcc -o scribble scribble.c -I/targets/n770/usr/include/glib-2.0 \
    -I/targets/n770/usr/include/gtk-2.0 -I/targets/n770/usr/lib/glib-2.0/include \
    -I/targets/n770/usr/include/pango-1.0 -I/targets/n770/usr/lib/gtk-2.0/include \
    -I/targets/n770/usr/include/atk-1.0 -lgtk-x11-2.0
    [sbox-n770: ~] > ./scribble

    /img-articles/lm/81/art-7/fig-3.jpg
    Scribble, avant

    Bien ! Ca compile, ça se lance et c’est fonctionnel, on peut dessiner et quitter... Le bouton quit n’est pas beau en revanche, pas du tout n770... En relisant la documentation, on note qu’il faut lancer les applis d’une façon spéciale... Ce que l’on s’empresse de faire.

    [sbox-n770: ~] > run-standalone.sh ./scribble

    Voilà qui améliore le côté bouton... mais on se rend compte que lors de la miniaturisation de l’application, on ne peut pas la rappeler, car elle ne se place pas dans la barre des tâches. En outre, la fenêtre " bave " à droite et en bas au lieu d’être bien intégrée dans l’interface utilisateur.

    Adaptation

    Transformons cette application Gtk+ pour une meilleure intégration dans Hildon. Il nous faut tout d’abord ajouter quelques en-têtes supplémentaires.

    #include <hildon-widgets/hildon-app.h>
    #include <hildon-widgets/hildon-appview.h>

    On doit également modifier l’initialisation. En effet, notre fenêtre Gtk+ doit être encapsulée dans une vue Hildon, elle-même appartenant à une application Hildon. On déclare un pointeur sur notre application, de type HildonApp, et un pointeur sur la vue, de type HildonAppView à la place de la déclaration du pointeur de la fenêtre Gtk+ (GtkWidget *window).

    HildonApp *app;
    HildonAppView *view;

    Hildon utilise les vues pour choisir comment afficher ses données et lesquelles. Les vues peuvent être imaginées comme différents écrans dont un est affiché à un moment donné. Une vue est à considérer par la suite comme un conteneur Gtk+. On replace donc en toute logique l’initialisation de la fenêtre Gtk+ par celles de notre application et de sa vue. (Accessoirement, dans le code, remplacez les occurrences de la variable window par view.

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_name (window, "Test Input");

    devient

    app = HILDON_APP( hildon_app_new() );
    hildon_app_set_title( app, “Scribble”);
    hildon_app_set_two_part_title(app, TRUE);
    view = HILDON_APPVIEW( hildon_appview_new(“Scribble View”));
    hildon_app_set_appview( app, view );

    Le code se passe de commentaires. On crée l’application et on lui donne un titre. La ligne suivante (hildon_app_set_two_part_title) spécifie que le titre visible sera constitué du titre de l’application ET de celui de la vue. On peut naturellement ne tenir compte que du titre de la vue en passant FALSE en deuxième paramètre de la fonction. Après cela, on crée la vue (avec son titre ou NULL en paramètre de la fonction hildon_appview_new) et on l’affecte à l’application en appelant hildon_app_set_appview. Vous pouvez ensuite supprimer tous les appels à gtk_widget_show mais placer avant l’appel de gtk_main la ligne de code suivante :

    gtk_widget_show_all (GTK_WIDGET(app));

    Le cast de notre application Hildon en widget Gtk+ n’est là que pour supprimer les warnings lors de la compilation. Cette application telle quelle ne fonctionnerait que quelques secondes sur un vrai N770. On doit la " connecter " au système. On utilise à cette fin le couple de fonctions osso_initialize et osso_deinitialize pour initialiser et libérer un contexte osso, osso étant la bibliothèque contenant nombre de fonctions de base de maemo pour la partie non liée à l’interface utilisateur.
    Il nous faut ajouter #include <libosso.h> en tête de code et ce bloc est à placer avant tout autre appel de fonction.

    osso_context_t *osso_context;
    /* Initialize maemo application */
    osso_context = osso_initialize("maemoscribble", "1.0.0", FALSE, NULL);

    Les paramètres de la fonction osso_initialize sont le nom du service D-Bus (sans préfixe com.nokia., voire plus loin) dont on parlera un petit peu après. Il ne doit contenir que les lettres de a à z et le caractère ‘_’. Le second paramètre est une chaîne représentant la version de l’application, viennent ensuite FALSE, parce que c’est ce qu’on nous invite à passer dans les sources de la libosso et, enfin, le contexte de la glib, soit NULL pour le contexte par défaut. Si le contexte renvoyé, osso_context, est NULL, on doit quitter l’application, il y a eu une erreur.
    Pour libérer les ressources, on place un appel à osso_deinitialize à chaque fois que l’on s’apprête à quitter l’application :

    osso_deinitialize (osso_context);

    Pour compiler avec les headers et bibliothèques correspondant à Libosso, Hildon et Gtk+, on va utiliser pkg-config, pour ne pas avoir à taper une ligne encore plus interminable que celle de tout à l’heure.

    [sbox-n770: ~] > gcc -o maemoscribble Scribble/src/main.c \
    `pkg-config --cflags --libs gtk+-2.0 hildon-libs libosso`
    [sbox-n770: ~] > run-standalone.sh ./maemo_scribble

    Après ce lancement, on constate une bien meilleure intégration de l’application dans l’UI maemo, notamment en bas et à droite, grâce à l’utilisation du type de vue adapté, HildonAppView. On peut transférer l’exécutable directement sur le N770, soit par scp, si vous l’avez installé, soit plus simplement en passant par le câble USB. Toutefois, vous devrez déplacer l’exécutable en dehors de la carte mémoire et lancer l’application à l’aide du terminal. Ca marche, mais on va essayer d’intégrer cela encore un petit peu mieux dans le N770.

    /img-articles/lm/81/art-7/fig-5.jpg
    Scribble, au milieu

    Intégration

    L’intégration basique d’une application dans maemo passe par deux fichiers spéciaux. Mais avant de s’y intéresser, on commence par placer l’exécutable dans le répertoire /var/lib/install/usr/bin, c’est le chemin à utiliser pour toutes les applications supplémentaires que l’on veut placer sur le N770. Bien ! Attaquons-nous à présent aux fichiers dont je vous parlais à l’instant. Il vous faut tout d’abord un fichier .desktop pour intégrer votre application à la barre des tâches. Ce fichier doit être placé dans le répertoire /var/lib/install/usr/share/applications/hildon/. Appelons le Scribble.desktop et examinons son contenu.

    [Desktop Entry]
    Encoding=UTF-8
    Version=1.0
    Type=Application
    Name=Scribble
    Exec=/var/lib/install/usr/bin/maemoscribble
    Icon=qgn_list_gene_default_app
    X-Osso-Service=maemoscribble

    La première ligne du fichier .desktop doit être [Desktop Entry]. Encoding doit valoir UTF-8, Version est la version du fichier .desktop, ici 1.0. Le Type est Application, Name est le nom qui apparaîtra dans le menu, Exec est le chemin vers l’exécutable. Pour la ligne Icon, on peut utiliser un icône par défaut du système ou un icône installé par l’application (dans le répertoire /var/lib/install/usr/share/icons/). Enfin, X-Osso-Service spécifie le nom du service D-Bus à lancer lors du lancement via le menu.
    Attention ! Ce paramètre doit être exactement le même que celui fourni en paramètre de la fonction osso_initialize ou être préfixé par com.nokia. (ici encore, ce préfixe est ajouté par défaut, si la valeur ne contient pas le caractère ‘.’). On doit également placer un lien vers ce fichier dans le répertoire /var/lib/install/etc/others-menu/ ou /var/lib/install/etc/others-menu/extra_applications/ pour apparaître dans le sous-menu Suppléments par exemple. Théoriquement, les noms de liens doivent commencer par quatre chiffres et un caractère souligné tel que 4477_maemo_scribble.desktop, les chiffres servent à insérer les différentes entrées plus ou moins haut dans les menus, dans l’ordre alphabétique. Le second pré-requis pour pourvoir lancer une application depuis maemo est le fichier .service, à placer dans le répertoire /var/lib/install/usr/lib/dbus-1.0/services/.

    [D-BUS Service]
    Name=com.nokia.maemoscribble
    Exec=/var/lib/install/usr/bin/maemoscribble

    La première ligne du fichier .service doit être [D-BUS Service]. Name est le nom du service, le même que celui renseigné pour l’entrée X-Osso-Service du fichier .desktop mais ici, obligatoirement préfixé de com.nokia.. Ces noms de services, sont construits " à la java ", en partant du nom de domaine retourné, suivi du nom de l’application ou autre chose, afin de réduire les risques de conflits entre noms de service, mais sans passer par des uuid, illisibles et bien plus propices aux erreurs de saisie.
    Toutefois, il est pour l’instant impossible d’utiliser un autre domaine que nokia.com pour les services, d’une part, parce que, comme je l’ai déjà évoqué, le préfixe correspondant (com.nokia.) est ajouté aux entrées X-Osso-Service des fichiers .desktop et aux premiers paramètres de la fonction osso_initialize et, d’autre part, parce que cette même fonction interdit la présence du caractère ‘.’ dans la valeur acceptée comme premier argument. Exec nous permet de spécifier le chemin vers l’exécutable, le même que dans le fichier .desktop.
    Vous pouvez à présent lancer votre application via le menu auquel on accède via l’icône représentant deux fenêtres, dans la barre à gauche de l’écran. Vous trouverez Scribble dans le menu Suppléments. Voilà, il ne vous reste plus qu’à faire des applications utiles avec votre N770 après cette présentation sommaire. Sachez que pour l’installation de vos applications, vous vous en sortirez en générant un bête package Debian.
    Je vous invite pour plus de précisions à consulter le howto sur le portage de Gaim, sur le site de maemo. Les relecteurs, que je remercie, se posaient des questions sur la taille de l’exécutable maemoscribble, dans sa version finale. Il pèse 15ko. A la lumière de cette information, les 64Mo disponibles sur le N770, hors carte mémoire, devraient vous paraître plus conséquents.

    /img-articles/lm/81/art-7/fig-6.jpg
    Scribble, après

    Liens :

    Retrouvez cet article dans : Linux Magazine 81

    Posté par Xavier Garreau (xgarreau) | Signature : Xavier Garreau | Article paru dans

    Laissez une réponse

    Vous devez avoir ouvert une session pour écrire un commentaire.