Lea-Linux & Friends:   LinuxFR   GCU-Squad   Zarb.Org   StandBlog
Installer des logiciels sur un support externe (SD, USB), avec une icône dans le mode Easy de l'EeePC apparaissant automatiquement


Sommaire

Modification de Installer des logiciels sur un support externe (SD, USB), avec une icône dans le mode Easy de l'EeePC apparaissant automatiquement

Par Jice

Nous allons voir dans cet article comment installer et exécuter des logiciels depuis un support amovible, tel que carte SD ou SDHC, clef USB, disque dur externe...

De plus, grâce à une fonctionnalité cachée du mode Easy de l'EeePC, l'icône de lancement va apparaître lors de l'insertion du support. (Techniquement, les icônes peuvent être définies mais ne pas apparaître si la ligne de commande est invalide, par exemple si le programme n'existe pas. Cependant, si le programme se met à exister en cours de session, l'icône apparaît automatiquement !)

J'ai utilisé cette méthode pour :

Ce qui m'a permis d'économiser 120 Mo du disque principal :-)

J'ai depuis l'écriture de cette article découvert comment installer des logiciels intégrés à la distribution ou présents sur des dépôts additionnels, ce qui fait une bien plus grande variété de logiciels candidats !

Préparation du support

Les clefs USB ou les cartes SD sont formatées lors de leur achat au format FAT32 (format par défaut de Windows jusqu'à récemment). Or pour des raisons de sécurité, les distributions Linux empêchent par défaut d'exécuter des programmes stockés sur un tel support.

Cette page : http://wiki.eeeuser.com/execute_apps_off_sd Image:Flag-en.png explique comment outrepasser cette protection, ou mieux, partitionner en 2 la clef / carte SD afin de faire une partie FAT32 et une partie spéciale Linux. Si vous le pouvez, c'est la meilleure méthode, car elle ne nécessite pas de "bidouiller" pour monter/démonter la partition automatiquement (voir ci-dessous), et elle doit être plus performante de quelques pour cents. Elle est décrite dans deuxième partie de cet article.

Pour ma part, je ne voulais pas repartitionner ma carte SD (il faudra que je teste ça un jour ceci dit). J'ai donc créé un gros fichier dessus, que je vais utiliser comme une autre partition normale. Comme vous allez le voir, cette méthode ne nécessite pas de repartitionner la clef, mais en contre-partie, il va falloir modifier quelques programmes.

Créez un fichier vide, nommé hdd, de 1 Giga-octets (soit 1048576 = 1024 x 1024, vous pouvez changer ce nombre pour augmenter/diminuer sa taille) sur la carte :

Ensuite, il faut le formater en format ext2 (oui on peut formater un fichier ;-) par la commande :


Enfin, vous pouvez le monter dans un répertoire (j'ai choisi /opt2) et vous en servir :


Automatiser le montage du nouvel emplacement pour les logiciels

... et donc l'apparition automatique des icônes définies pour les programmes présents sur ce support.

Nous allons maintenant automatiser le montage et le démontage de notre disque virtuel. Si vous avez installé des applications dessus, disposant d'une icône dans le mode Easy de l'EeePC, celle-ci apparaîtra et disparaîtra lors de l'insertion et du retrait du périphérique (en utilisant l'icône du périphérique dans la bare de tâches, clic droit, retirer en toute sécurité).

Par exemple, j'ai installé Firefox 3.1 dans le disque virtuel, monté dans /opt2, et son icône apparaît automatiquement. Elle disparaît lorsque je retire la carte SD.

Automatisation du montage

Le montage passe par le programme . Nous allons donc le modifier.

Vous devez auparavant suivre le tutoriel Empêcher la détection automatique des périphériques USB et de la carte SD au démarrage de l'EeePC afin de transformer ce programme en un script modifiable. Si vous ne l'avez pas fait, faites-le maintenant.

Voici les modifications apportées au script :


La partie qui nous concerne est le premier bloc, entre if et fi. Le test vérifie si le bon périphérique est monté (dans mon cas, ma carte SD dans /media/MMC-SD/SDHC16GO), puis si le disque virtuel n'est pas monté (dans /opt2) et si le fichier le contenant existe bien (/media/MMC-SD/SDHC16GO/hdd). Dans ce cas, le fichier du disque virtuel est monté dans /opt2. Vous devez bien sûr adapter ces valeurs à ce que vous avez choisi.

Note : vous pouvez "choisir" le nom du répertoire dans lequel se monte votre périphérique USB, en lui donnant un ibellé (label en anglais). Pour ce faire, repérez le périphérique /dev/... avec la commande mount :


Ici, il s'agit de /dev/sdb1.

Ensuite donnez-lui un label par la commande :


ou bien


et le périphérique se montera dans le répertoire /media/MMC-SD/mon_nouveau_label (et apparaîtra aussi dans votre répertoire utilisateur sous ce nom).

Automatisation du démontage

Pour le démontage, nous devons modifier le programme .

Comme c'est un programme binaire (non modifiable facilement), aussi nous allons commencer par le renommer :


Puis nous allons créer un script dans l'ancien emplacement (c'est donc le script qui sera appelé à la place du programme original). Utilisez par exemple et copiez-collez le script ci-dessous.


Bien sûr, remplacez dans le script et

par les valeurs que vous avez choisies.

Pour les plus curieux, le script contient des commentaires expliquant son fonctionnement.

Plus simple : partitionner une clef USB ou la carte SDHC

J'ai fait le test en partitionnant en 2 une clef USB. L'objectif est d'avoir une partie au format "Linux" (en réalité ext2), et une autre au format Windows (en réalité FAT32) qui pourra être utilisée sur tous les ordinateurs, quelque soit leur système d'exploitation.

Cette méthode est plus simple, car il n'y a aucun script à écrire pour monter/démonter le support : tout est géré automatiquement.

Attention : cette manipulation va effacer toutes les informations présentes sur votre support.

Préparation du support

Nous allons utiliser l'outil , qui permet de définir les partitions (en ligne de commande car il n'y a pas de logiciel graphique sur l'EeePC).

Ma clef USB est le périphérique . Avant de continuer, assurez-vous en comme expliqué ci-dessus (tapez simplement ).

Enfin, lancez fdisk :


La commande p permet d'afficher la table de partitions de la clef.

Nous allons supprimer la partition, en utilisant la commande d :


Puis créer les 2 partitions avec la commande n. La première fera 512 Mo, la seconde prendra la place restante. La commande t permet de changer le type de partition :


Enfin, utilisez la commande w pour écrire la table des partitions sur la clef :


Reste maintenant à formater les 2 partitions. La première en ext2, la deuxième en FAT32 :


et (formatage + libellé "FAT32" pour la deuxième partition) :


Enfin, donnons le libellé "Linux" la partition ext2, afin qu'elle soit montée dans un endroit facilement reconnaissable :


C'est terminé !

Configuration de l'EeePC

Il suffit maintenant de repérer où est montée la partition Linux, en regardant dans le répertoire /media. Chez moi, elle se trouve dans /media/DataTraveler 2.0/Linux (on retrouve le nom que l'on a donné à la partition) :


Nous allons donc créer un lien /opt3 vers ce répertoire (car /opt et /opt2 sont déjà utilisés) par :


Et c'est tout ! Les modifications de scripts vues dans la première partie de l'article ne sont pas nécessaires (bien que compatibles).

Vous pouvez maintenant installer des logiciels sur le répertoire /opt3, créer des icônes vers ses programmes, qui dans le mode Easy apparaîtront automatiquement sur le bureau lors de l'insertion, et disparaîtrons lors de son extraction (après clic droit sur l'icône de clef USB dans la zone de notification, "Retirer en toute sécurité").

Création des icônes

Utilisez par exemple Simple UI Editor, et définissez la ligne de commande vers l'exécutable se trouvant sur votre support amovible, par exemple ou (Voir cet article). C'est tout, cela va créer une icône qui apparaîtra / disparaîtra automatiquement.



@ Retour à la rubrique Eee PC

Copyright

© 2009 Jean-Christophe Cardot

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 3.0 :
http://creativecommons.org/licenses/by-sa/3.0/
Affichages

Serveur hébergé par Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons CC-BY-SA