samedi 16 juillet 2011

Message d'erreur lors de l'installation de vim

J'ai rencontré un petit soucis lors de la tentative d'installation de Vim sur Debian, avec un message d'erreur

# apt-get install vim
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 vim : Depends: vim-common (= 2:7.2.445+hg~cb94c42c0e1a-1) but 2:7.3.035+hg~8fdc12103333-1 is to be installed
E: Broken packages
# apt-get install vim-common vim
Reading package lists... Done
Building dependency tree      
Reading state information... Done
vim-common is already the newest version.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 vim : Depends: vim-common (= 2:7.2.445+hg~cb94c42c0e1a-1) but 2:7.3.035+hg~8fdc12103333-1 is to be installed
E: Broken packages

La solution pour y remédier était juste de désinstaller vim-common, puis d'installer Vim de suite après et tout est bon.

# apt-get remove vim-common
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following package was automatically installed and is no longer required:
  xulrunner-1.9.1
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  vim-common vim-tiny
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
After this operation, 1,114 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 116281 files and directories currently installed.)
Removing vim-tiny ...
update-alternatives: using /usr/bin/see to provide /usr/bin/view (view) in auto mode.
Removing vim-common ...
Processing triggers for man-db ...

Une fois l'application terminée, vous pouvez lancer vimtutor pour apprendre les bases concernant l'utilisation de Vim dans un terminal

$ vimtutor

lundi 11 juillet 2011

Debian: Sources List

#############################################################
################### OFFICIAL DEBIAN REPOS ###################
#############################################################

###### Debian Main Repos
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free

###### Debian Update Repos
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ squeeze-proposed-updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze-proposed-updates main contrib non-free

##############################################################
##################### UNOFFICIAL  REPOS ######################
##############################################################

###### 3rd Party Binary Repos

#### Debian Backports - http://backports.debian.org/
deb http://backports.debian.org/debian-backports squeeze-backports main

#### Debian Multimedia - http://www.debian-multimedia.org/
## Run this command: apt-get update && apt-get install debian-multimedia-keyring && apt-get update
## Run this command: wget -q -O - http://unofficial.debian-maintainers.org/project/openpgp/archive-key.asc | apt-key add -
deb http://www.debian-multimedia.org stable main non-free

#### Unofficial Maintainer - http://unofficial.debian-maintainers.org/
## Run this command: wget -q -O - http://unofficial.debian-maintainers.org/project/openpgp/archive-key.asc | apt-key add -
deb http://unofficial.debian-maintainers.org/ squeeze main contrib non-free restricted


####### 3rd Party Source Repos

#### Unofficial Maintainer (Source) - http://unofficial.debian-maintainers.org/
## Run this command: wget -q -O - http://unofficial.debian-maintainers.org/project/openpgp/archive-key.asc | apt-key add -
deb-src http://unofficial.debian-maintainers.org/ squeeze main contrib non-free restricted


Source:
Debian Sources List Generator

mercredi 29 juin 2011

Installation de Firefox sur Debian

Je vois d'ici déjà certaines personnes qui vont me dire que Iceweasel et Firefox sont exactement les mêmes choses. A part que sur Iceweasel, mes Addons pour Firefox ne marchent pas, d'où mon choix.

Dans un premier temps, il faut télécharger le fichier firefox*.tar.bz2 qui devrait se trouver dans le dossier Downloads et de l'extraire dans le même répertoire et de déplacer le dossier firefox créé dans le répertoire /opt.

cd ~/Downloads/
tar xjf firefox-5.0.tar.bz2
mv firefox /opt/firefox

Une fois ceci fait, il faut configurer les liens symboliques afin de pouvoir lancer l'application Firefox.

sudo mv /usr/bin/firefox /usr/bin/firefox-old
sudo ln -s /opt/firefox/firefox /usr/bin/firefox

Une dernière chose, c'est d'ajouter un racourci pour lancer Firefox à partir du menu Applications. Dans le menu Système/Préférences/Menu Principal, sélectionner Internet, puis ajouter un nouvel élément en copiant les informations sur Iceweasel si vous ne savez pas quoi mettre, puis de remplacer Iceweasel par Firefox comme ci-dessous, et d'ajouter l'icône proposé par défaut dans /usr/share/icons/HighContrastLargePrint/48x48/apps/firefox-icon.png





Concernant la mise à jour vers la dernière version d'Iceweasel, l'équipe de Mozilla firefox a mis les informations sur la page suivante, qui est en anglais malheureusement, la procédure à suivre: http://mozilla.debian.net/

Source
How to install Firefox 5 on Linux Mint, Ubuntu, Debian, Fedora, Opensuse,

mercredi 9 février 2011

Debian: GDM ne démarre plus automatiquement

Suite aux màj effectuées sur debian fraichement installé, j'ai noté qu'après redémarrage de l'ordinateur, GDM ne se lance plus. J'étais obligé de lancer startx enmode console.

Il est à noter que gdm ne se trouve pas dans le dossier /usr/bin.

Apparement, l'explication est qu'un autoclean a supprimé le GDM et qu'une simple réinstallation de ce dernier résoud le problème.

# aptitude install gdm

Et voiloù, tout est rentré dans l'orde.

Source:
GDM ne démarre plus automatiquement en runlevel=2

Mise à jour de Leenny, puis mise à niveau vers Squeeze

Mon fichier /etc/apt/source.list d'origine après l'installation à partir du CD de debian:

#
# deb cdrom:[Debian GNU/Linux 5.0.6 _Lenny_ - Official i386 CD Binary-1 20100904-18:58]/ lenny main
deb cdrom:[Debian GNU/Linux 5.0.6 _Lenny_ - Official i386 CD Binary-1 20100904-18:58]/ lenny main
deb cdrom:[Debian GNU/Linux 5.0.6 _Lenny_ - Official i386 CD Binary-2 20100904-18:58]/ lenny main

# Line commented out by installer because it failed to verify:
#deb http://security.debian.org/ lenny/updates main
# Line commented out by installer because it failed to verify:
#deb-src http://security.debian.org/ lenny/updates main

# Line commented out by installer because it failed to verify:
#deb http://volatile.debian.org/debian-volatile lenny/volatile main
# Line commented out by installer because it failed to verify:
#deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Voici le contenu du nouveau fichier source.list:

# stable
deb http://ftp.fr.debian.org/debian/ stable main contrib non-free
#deb-src http://ftp.fr.debian.org/debian/ stable main contrib non-free
 
# stable security
deb http://security.debian.org/ stable/updates main contrib non-free
#deb-src http://security.debian.org/ stable/updates main contrib non-free
 
# stable volatile
deb http://volatile.debian.org/debian-volatile stable/volatile main contrib non-free
#deb-src http://volatile.debian.org/debian-volatile stable/volatile main contrib non-free
 
# stable multimedia
deb http://www.debian-multimedia.org stable main non-free
#deb-src http://www.debian-multimedia.org stable main non-free
 
# backports
deb http://backports.debian.org/debian-backports lenny-backports main contrib non-free
 
Ensuite, mise à jour du système:
# aptitude update
# aptitude safe-upgrade
 
Message d'erreur lors de la mise à jour:

W: GPG error: http://www.debian-multimedia.org
 
 
Pour y remédier:
# aptitude install debian-backports-keyring
# aptitude install debian-multimedia-keyring

Enfin, une vérification que toutes les mises ont bien été effectuées, puis mis à niveau de Lenny vers Squeeze

# aptitude safe-update (apt-get upgrade)
# aptitude full-update (apt-get dist-upgrade)
  
Ajouter ensuite le fichier sources.list ci-dessous dans /etc/apt/sources.list.d
# stable
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
#deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free

# stable security
deb http://security.debian.org/ squeeze/updates main contrib non-free
#deb-src http://security.debian.org/ squeeze/updates main contrib non-free

## stable volatile
## Le dépôt volatile à changé, il est désormais sous "squeeze-updates"
deb http://ftp.fr.debian.org/debian/ squeeze-updates main non-free contrib
#deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main non-free contrib

# stable multimedia
deb http://www.debian-multimedia.org squeeze main non-free
#deb-src http://www.debian-multimedia.org squeeze main non-free

# backports
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

Puis vérification s'il n'y a pas de mises à jour qui trainent.

Sources:
Mise à niveau (upgrade) de Lenny à Squeeze

mercredi 2 février 2011

Dual boot Ubuntu/Debian

Et oui, j'ai installé finalement Debian Lenny sur mon PC. L'installation s'est bien déroulée et je n'ai rencontré aucun problème.

Par contre, j'ai noté que ma batterie tient plus longtemps sous Debian que sur Ubuntu (2h30 au lieu de 1h20). C'est à vérifier lorsque j'aurai Debian avec les mêmes configurations qu'Ubuntu.

Voici les petits soucis que j'ai rencontré après installation:

- la taille du police de caractère sur la page d'ouverture de session, pour entrer le l'identifiant et le mot de passe, est trop grand à mon gout :)

- la langue du clavier est en US

- la reconnaissance de ma clé 3G, pour accéder au net. Heureusement que je suis passé au cable.


1. Pour la taille de la police, pas de solution pour l'instant vu que ce n'est pas la première de mes priorités

2. Pour la langue, il m'a suffit de modifier le fichier /etc/X11/xorg.conf les informations suivantes:

Section "InputDevice"
    Identifier    "Generic Keyboard"
    Driver        "kbd"
    Option        "XkbRules"    "xorg"
    Option        "XkbModel"    "pc104"
    Option        "XkbLayout"    "us"
EndSection

par:

Section "InputDevice"
    Identifier    "Generic Keyboard"
    Driver        "kbd"
    Option        "XkbRules"    "xorg"
    Option        "XkbModel"    "pc105"
    Option        "XkbLayout"    "fr"
    Option        "XkbVariant"    "latin9"
    Option        "XkbOptions"    "altwin:meta_win"
EndSection

3. Pour la cle 3G,

- installation du driver de ma carte wifi: PRO/Wireless 3945ABG et chipset Intel® 945PM Express

http://www.intellinuxwireless.org/?n=Downloads

Mais cela n'a pas suffit à résoudre le problème.

Et voilà, un Debian fraichement installé ;). Et l'aventure continue.

samedi 16 octobre 2010

Aquisition d'une nouvelle machine: un MBP 6.2

Merci d'avoir lu mes messages sur ce blog, mais depuis mon acquisition d'une nouvelle machine, je vous propose aussi d'aller voir la suite de mes messages à cette adresse:

http://mbpmultiboot.blogspot.com/

Je continuerai évidement de faire mes tests sur mon PC évidement, quoique je pense de plus en plus à installer Debian dessus. A suivre.

jeudi 9 septembre 2010

BOINC: logiciel libre de calcul bénévole et distribué

Je me suis intéressé à ce projet du fait qu'il me semble utile de pouvoir aider les autres comme on peut et avec nos propres moyens.

Pas mal de projet me parait intéressant. Vous pouvez avoir la liste complète ci-dessous:

http://boinc.berkeley.edu/wiki/Project_list


J'ai choisi en premier lieu d'aider le projet Quantum Monte Carlo at home, du fait des études que j'ai effectué et je sais bien combien nous avons été ravi d'avoir plusieurs processeurs à notre disposition pour effectuer des calculs complexes qui peuvent durer des jours, voir des semaines.


Pour l'installation, ce n'est pas difficile. L'installation la plus simple sans prise de tête se fait en installant les paquets "boinc-manager" et "boinc-client" (apt-get install boinc-manager boinc-client) ou tout simplement en cliquant sur le lien apt://boinc. Vous pouvez également effectuer une rechercher de l'application BOINC à partir du Logithèque d'Ubuntu (menu Application>Logithèque Ubuntu), puis de l'installer.

Une fois l'application installée, il suffit juste de lancer Boinc à partir du menu Applications>Outil Système>Boinc puis de suivre la démarche proposée dans les fenêtres, comme décrit ci-dessous:






A la fin de l'installation, on nous redirige automatiquement vers une page internet pour configurer le compte.


Il est à noter que le but du jeux ici n'est pas de faire la compétition parmis ceux qui ont effectué le plus de calcul! mais une course contre la montre, afin d'aider certain projet à avancer plus rapidement, et ceci pour le bien de l'humanité.



Voici le calcul que j'ai à effectuer en ce moment. J'ai un peu moins de 52h pour terminer ce calcul avant de passer à un autre projet. Apparement, si le calcul qui m'a été assigné n'est pas terminé dans les temps, alors ce projet sera envoyé à une autre personne.

Notes:
Il n'y a pas d'écran de veille disponible (pour l'instant!) sous linux.

Sources:
http://boinc.berkeley.edu/index.php
Aider la science avec Folding@home
Ubuntu et le calcul partagé (forum de discussion)
Une équipe Ubuntu pour soutenir la recherche (forum de discussion)

samedi 5 juin 2010

Une autre application de sauvegarde: flyback

Flyback est une application de sauvegarde par snapshot comme celle utilisée dans Virtualbox. Je le trouve pratique, et de plus c'est l'un des seuls projets parmis les forks de TimeMachine (Flyback, TimeVault, Back in Time, etc.), qui est toujours maintenu à jour.

Pour l'installation il faut récupérer dans un premier temps le paquet .deb sur la page http://code.google.com/p/flyback/downloads/list.

Puis de vérifier que vous avez déjà installé les paquets suivants:

apt://python,python-glade2,python-gnome2,python-gnome2-extras,python-gtk2,python-gconf,python-gobject,rsync

Ensuite, il faut ouvrir le paquet .deb avec Archive Manager, puis de l'extraire ainsi que son contenu.



Une fois ceci fait, vous pouvez choisir un lanceur à partir du menu Applications.

Pour ce faire, j'ai créé un fichier flyback auquel j'ai attribué les droits d'execution (sudo chmod +x flyback), avec comme contenu:

#!/bin/sh
cd /home/chemin_vers_le_dossier_flyback
python flyback.py

Le dossier flyback se trouve chez moi comme indiqué sur la photo ci-dessous:



Pour simplifier les choses, j'ai décidé de placer le fichier flyback dans le dossier ci-dessus pour pouvoir le retrouver facilement par la suite.

Ensuite à partir du menu Système > Menu Principal, de choisir l'endroit à partir duquel lancer directement l'application.



Type: Application
Name: Flyback
Command: /home/chemin_vers_le_fichier_flyback


Il est préférable d'utiliser un disque dur externe au lieu de faire un backup sur le même disque dur des données que vous souhaitez sauvegarder.



Humm .. rien ne se passe quand je clique sur Nouveau.

Sources:
http://doc.ubuntu-fr.org/flyback

lundi 26 avril 2010

Virtualisation avec Virtualbox (PUEL) - Part II

IV. Installation de "guest additions"

Cette fonctionnalité doit être installée pour chaque machine virtuelle, et permet entre autre pour la session sur laquelle elle est installée :

- d'avoir une meilleur interaction entre la machine hôte et invitée. Par exemple de partager des fichiers entre host et guest facilement; de ne plus garder la souris "piégée" dans la session invitée, etc.

- d'avoir aussi la fenêtre invité en plein écran.


Il faut tout d'abord monter le fichier VBoxGuestAdditions.iso; après avoir démarrée la machine invitée, cliquez sur le menu Périphériques, puis de choisir "Installer les Additions invitées".


Ensuite de vérifier que l'ISO a bien été monté en cliquant sur le menu Périphériques/ Périphériques optiques. L'iso VBoxGuestAdditions devrait être cochée. Si ce n'est pas le cas, vous pouvez toujours le cocher manuellement.


Une fois ceci vérifié, sur votre bureau vous devriez avoir l'icône d'un périphérique monté, dans mon cas avec le symbole d'un CD-Rom.

Mais avant tout, toujours dans la machine invitée, vérifiez que DKMS y est installée en entrant la commande:

sudo apt-get install dkms

Pour installer "guest addition", la manipulation peut se faire de manière graphique ou manuelle.

En mode graphique, il suffit d'ouvrir le lecteur CD qui est monté sur le bureau, de cliquer sur le fichier VBoxLinuxAdditions-x86.run puis de suivre les indications données.
Sinon, plus simple encore: cliquez avec le bouton de droite sur le lecteur de CD, puis de choisir:


A la fin de l'installation:


En mode manuelle, l'installation de "guest addition" se fait comme suit:
$ cd /media/VBOXADDITIONS_3.1.6_59338 
$ sudo ./VBoxLinuxAdditions-x86.run

malagasy@malagasy-laptop:/media/VBOXADDITIONS_3.1.6_59338$ sudo ./VBoxLinuxAdditions-x86.run 
Verifying archive integrity...  All good.
Uncompressing VirtualBox 3.1.6 Guest Additions for  Linux........
VirtualBox Guest Additions installer
tar:  Taille de l'enregistrement = 8 blocs
Building the VirtualBox Guest  Additions kernel modules
Building the main Guest Additions module  ...done.
Building the shared folder support module ...done.
Building  the OpenGL support module ...done.
Doing non-kernel setup of the  Guest Additions ...done.
Starting the VirtualBox Guest Additions  ...done.
Installing the Window System drivers
Installing  experimental X.Org Server 1.7 modules ...done.
Setting up the  Window System to use the Guest Additions ...done.
You may need to  restart the hal service and the Window System (or just restart
the  guest system) to enable the Guest Additions.

Installing  graphics libraries and desktop services components ...done.
malagasy@malagasy-laptop:/media/VBOXADDITIONS_3.1.6_59338$

Ensuite, après avoir redémarré la machine invitée, cette session devrait pouvoir s'ouvrir en mode plein écran.


V. Partage de fichier entre l'hôte et l'invitée

Pour pouvoir utiliser cette fonctionnalité, Virtualbox Guest Additions doit être installé. Ensuite il faut créer un dossier de partage dans la session hôte, que je vais appeler VirtualBoxShare. Il est préférable de créer ce dossier dans le repertoire /home/nom_utilisateur.
$ cd

$ mkdir VirtualBoxShare

Après avoir lancé la machine virtuelle, il faut maintenant faire en sorte que ce dossier de partage soit accessible à partir de la session invitée. A partir du menu Périphériques cliquer sur "Répertoires partagés"


Après avoir choisi le type de partage, puis de renseigner le chemin d'accès vers le dossier de partage (dans mon cas: /home/malagasy/VirtualBoxShare), vous devriez avoir:


Ensuite il faut monter le dossier de partage dans la machine virtuelle. Pour des raisons historiques, sous Unix tout se monte dans le dossier /mnt, sauf les lecteurs amovibles (clé USB, disque dur externe, etc.) qui se montent dans /media.

$ cd /mnt

$ sudo mkdir shared

$ sudo mount -t vboxsf VirtualBoxShare /mnt/shared

Et voila, l'opération est terminée. Vous pouvez maintenant vérifier si vous pouvez partager des fichiers et dossiers sans problème.


Il est à noter que les dossiers partagés ne se montent pas automatiquement, et qu'il faut les monter manuellement à chaque démarrage de la machine vituelle.

Les messages d'erreur qu'on peut rencontrer sont les suivantes:

$ sudo mount -t vboxsf VirtualBoxShare /mnt/shared
mount: unknown filesystem type 'vboxsf'

J'ai rencontré ce problème en pensant qu'il fallait monter le dossier de partage à partir de la machine hôte alors qu'il fallait taper cette commande à partir de la machine invitée.

Autre message d'erreur:

/sbin/mount.vboxsf: mounting failed with the error: Protocol error

Il suffit juste de vérifier qu'il n'y a pas d'erreur au niveau du nom du dossier partagé



VI. Astuces supplémentaires


Il est préférable de modifier la touche Host, qui était à la base la touche CTRL droit, par une touche morte: vous avez le choix entre la touche windows ou la touche Menu (entre la touche ALT Gr et CTRL droit).


Il est à noter que seul le compte utilisateur sur lequel Virtualbox a été installé peut la lancer. Pour que les autres comptes installés sur le même ordinateur puisse aussi utiliser Virtualbox, il suffit juste d'ajouter ces comptes comme membre du groupe Virtualbox.
Pour ce faire, cliquer sur le menu Système/ Administration/ "Utilisateurs et Groupes" puis de sélectionner un par un chacun des comptes utilisateurs qui peuvent lancer Virtualbox dans la liste.
Ensuite, dans Propriétés, cliquer sur l'onglet "Privilège Utilisateur", puis de cocher sur "Utiliser Virtualbox".





VII. Désinstallation/Réinstallation de Virtualbox

Avant de désinstaller Virtualbox, le mieux est de garder une sauvegarde des différents OS guests, au cas où plus tard vous souhaiterez réinstaller de nouveau Virtualbox avec tous les OS guests qui y étaient auparavant sans avoir à tout télécharger de nouveau.

Pour la sauvegarde des guests, c'est simple. Il suffit juste d'éteindre toutes les machines virtuelles puis dans le menu Ficher choisir Exporter, et suivez les instructions affichées.


Pour la restauration des sauvegardes, il suffit de choisir Importer dans le menu Fichier, puis naviguer dans vos sauvegardes.





Ceci étant dit, la désinstallation de Virtualbox n'est pas du tout compliquée. Par contre, assurez vous d'avoir éteint toutes les machines virtuelles, puis de fermer l'application avant de la désinstaller. Ensuite dans une console,

sudo apt-get remove virtualbox-3.1
Si vous voulez supprimer aussi les préférences de virtualbox, il faut supprimer le fichier .VirtualBox

$ cd

$ rm -rfv .VirtualBox

mercredi 21 avril 2010

Virtualisation avec Virtualbox (PUEL) - Part I

Il est temps d'essayer la virtualisation d'autre OS, surtout que je suis intéressé par à quoi cela pourrait ressembler la prochaine version d'Ubuntu sans avoir à installer quoi que ce soit sur le PC.



I. Installation de Virtualbox

J'ai opté pour la version PUEL de Virtualbox à cause des fonctionnalités en plus, comme la gestion des clés USB, etc. qui n'existent pas sur la version OSE.

Mon premier choix de virtualisation est l'utilisation de Virtualbox, et j'essayerai probablement VMware plus tard.

L'installation de Virtualbox PUEL est assez simple puisqu'il suffit juste d'entrer les commandes suivantes dans une console:

wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -

sudo apt-get update 

Une fois les mises à jour effectuées,

malagasy@malagasy-laptop:~$ sudo apt-get install virtualbox-3.1

The following extra packages will be installed:
  dkms fakeroot libqt4-opengl patch
Suggested packages:
  diff-doc
The following NEW packages will be installed:
  dkms fakeroot libqt4-opengl patch virtualbox-3.1
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.

Une fois l'installation terminée, il faut fermer la session actuelle ou redémarrer l'ordinateur pour que les modifications suite à l'installation de VirtualBox soient prises en compte.

Pour information, l'installation de la dernière version de Virtualbox PUEL peut se faire tout simplement en téléchargeant Virtualbox à partir du lien ci-dessous, puis de l'installer à partir du gestionnaire de packet.

http://www.virtualbox.org/wiki/Linux_Downloads

Vitualbox OSE fait parti des dépôts Ubuntu. Son installation se fait donc juste par ajout du paquet correspondant à partir du Logithèque Ubuntu.




II. Creation d'une machine virtuelle

Après avoir lancé Virtualbox, cliquer sur Nouveau puis lancer vous à la création d'une machine virtuelle en acceptant les paramètres par défaut proposées. Il faut cependant faire attention à la taille de la mémoire RAM allouée à la machine virtuelle:

/!\ la quantitée de RAM donnée à la machine virtuelle ne serait plus disponible pour la machine hôte. Quoi qu'il en soit, la machine hôte doit avoir entre 256Mo et 512Mo pour pouvoir fonctionner correctement.



Les paramètres que vous avez choisies lors de la création d'une machine virtuelle peuvent être modifiée une fois la machine virtuelle créée dans les préférences de la machine virtuelle.




III. Installation d'une machine de type client/invité/guest

Maintenant que la machine virtuelle est créée, il nous faut télécharger l'ISO d'un système d'exploitation. Mais avant de le faire, je conseille fortement d'utiliser le plugin Firefox ci-dessous qui est mieux que celui proposé par défaut dans Firefox, du fait qu'il est possible d'utiliser la fonction de reprise du téléchargement à tout moment, même après avoir redémarré l'ordinateur etc.

https://addons.mozilla.org/en-US/firefox/addon/201

Comme mon but premier pour l'utilisation d'une machine virtuelle est de vérifier ce que l'on pourrait s'attendre avec la prochaine version stable d'Ubuntu, de ce fait j'ai commencé par télécharger la version béta de Lucid à partir de la page suivante:

http://cdimage.ubuntu.com/daily-live/current/

Il faut ensuite ajouter un lecteur de CD virtuel afin de pouvoir installer l'ISO d'ubuntu.





Une fois l'installation terminée, il ne faut pas oublier de supprimer l'ISO d'Ubuntu du lecteur de CD virtuel, puis de le remplacer par celui de Virtualbox afin de pouvoir installer "guest additions". Puisqu'en gardant l'ISO d'installation d'un système d'exploitation, à chaque démarrage de la machine invitée, il vous serait demandé de réinstaller l'OS encore une fois de plus.


L'ISO se trouve dans /usr/share/virtualbox/VBoxGuestAdditions.iso. Si vous ne la trouver pas dans ce dossier, ce n'est pas très grave puisqu'il y a une autre façon de l'ajouter que je vais détailler dans un prochain chapitre.

lundi 29 mars 2010

Jamendo via Rythmbox ne marche pas: "http://api.jamendo.com/get2/stream/track/redirect/?id=XXXXXX&streamencoding=ogg2": Not Found

En voulant écouter Jamendo via Rythmbox, j'ai eu ce message:

"http://api.jamendo.com/get2/stream/track/redirect/?id=188548&streamencoding=ogg2": Not Found





Apparement, je ne suis pas le seul à l'avoir, et pour résoudre ce problème,il suffit juste de remplacer le dans fichier suivant : /usr/lib/rhythmbox/plugins/jamendo/JamendoSaxHandler.py

la ligne :
stream_url = "http://api.jamendo.com/get2/stream/track/redirect/?id=%s&streamencoding=ogg2"

par la suivante:

"http://api.jamendo.com/get2/stream/track/redirect/?id=%s"

Tout est bon maintenant, après avoir quitté et redémarrer Rythmbox ;)


QU'EST CE QUE C'EST JAMENDO?

Je ne me suis pas intéressé du tout à ce que c'est, pas avant d'avoir entendu la nouvelle sur la disponibilité d'Ubuntu One Music Store sur Lucid. Enfin bref, pour résumé, mieux vaut la définition du wiki qui explique bien la chose :)

Jamendo est un site Web qui propose des albums de musique en téléchargement gratuit. Les artistes, qui autorisent cette gratuité pour les internautes grâce aux licences ouvertes, peuvent, s'il le souhaitent, être rémunérés grâce aux dons des utilisateurs, au partage de 50 % des revenus publicitaires de Jamendo, ou encore grâce à la vente de licences d'utilisation commerciales de leur musique.

Pour les téléchargements de musique, et rien d'illégal dans tout cela:





Par contre, comme le procédé utilise le Peer to Peer, et donc tant qu'il n'y a pas assez d'utilisateur qui possède l'album, alors on va patienter le temps que la(les) personne(s) se connectent. En tout cas, le Peer to Peer va changer d'image bientôt, et en bien j'espère.

Veuillez noter que même si les albums sont gratuits, vous pouvez toujours faire une donation aux artistes en cliquant sur le bouton Faire une donation dans Rythmbox.

Source:
- http://forum.ubuntu-fr.org/viewtopic.php?pid=3331018
- http://fr.wikipedia.org/wiki/Jamendo

dimanche 28 mars 2010

100 paper cuts

Le but du projet de "100 paper cuts" est de pouvoir réparer un bug, facile à résoudre et ne nécessitant pas plus d'une personne pour le faire.

Et de plus, le bug ne devrait pas avoir pour origine la compromission de votre système, et devrait pouvoir être résolu en une journée. Si ce n'est pas le cas, alors ce n'est pas un bug à lister dans "100 paper cuts".


This project aims to improve user experience by:
  1. Identifying 100 bugs that appear relatively easy to fix but that negatively impact user experience.
  2. Channeling resources to fixing those bugs.
  3. Measuring and celebrating progress towards fixing those bugs.
  4. Tracking impact of the fixes in upstreams over successive versions.


If you prefer a more detailed, itemized definition, a paper cut is:
  • A bug, or an unintended problem occurring within an existing piece of software,
  • the presence of which makes a computer more difficult or less pleasant to use,
  • that is easy to fix,
  • that the average user would encounter...
  • in a default installation of Ubuntu or Kubuntu, Desktop Edition.
If a potential paper cut fails to meet any of the criteria above, it is not a paper cut. 


Et pourquoi je me suis intéressé à ce projet d'un coup? C'est parce que je trouve embêtant de ne pas avoir une notification lors du changement d'heure. Il se pourrait qu'il y a un script qui le fait, mais ce serait sympa que ça fasse parti du système et que les autres utilisateurs n'aient pas à bidouiller avec leurs machines pour l'avoir :)




Sources:
- https://edge.launchpad.net/hundredpapercuts
- https://wiki.ubuntu.com/PaperCut
- https://bugs.edge.launchpad.net/hundredpapercuts/+bug/550149

lundi 15 mars 2010

W: GPG error: http://archive.canonical.com karmic Release

Lors de la mise à jour de mon système avec apt-get update, j'ai rencontré le message d'erreur ci-dessous:

W: GPG error: http://archive.canonical.com karmic Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key


Pour y remédier, il suffit de taper dans une console les commandes suivantes:
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update
Source:
http://ubuntuforums.org/showthread.php?t=1152619

dimanche 14 mars 2010

Ubuntu 10.4 - Lucid Lynx : un Mac OS X du pauvre?

« Peu importe que le chat soit gris ou noir pourvu qu’il attrape les souris » : proverbe chinois.


Une BD vu sur framablog que je reprend ici ;)




Crédit : Simon Gee Giraudot (Creative Commons By-Sa)


Pour ceux qui ne sont pas au courant, voici à quoi on devrait s'attendre pour la nouvelle version LTS d'Ubuntu:





Sources:
https://wiki.ubuntu.com/Brand

lundi 22 février 2010

Mise à jour de Grub vers la version 2

Pour en profiter pleinement de l'application Cairo-dock, il faut avoir Grub 2 sur son système. D'autant plus que depuis la version 9.04 d'Ubuntu le bootloader, ou chargeur d'amorçage, par défaut est justement la version 2 de Grub, mais pour ceux qui avait une version antérieure à la 9.04, l'upgrade du Grub ne se fait malheureusement pas automatiquement.

Pour vérifier la version actuelle du grub sur votre système:

malagasy@malagasy-laptop:~$ grub --version
grub (GNU GRUB 0.97)
malagasy@malagasy-laptop:~$ grub-install -v
grub-install (GNU GRUB 0.97)

Comme vous pouvez le constater, c'est la version de Grub legacy que j'ai sur mon système. Avant de lancer l'upgrade du Grub, une mise à jour du système est obligatoire
sudo apt-get update
sudo apt-get upgrade

Ensuite, vous pouvez lancer la commande:
sudo apt-get install grub-pc




Il faut appuyer sur TAB pour pouvoir valider avec un OK. Ensuite l'installation va commencer avec les informations suivantes:
Suggested packages:
desktop-base
The following packages will be REMOVED:
grub
The following NEW packages will be installed:
grub-pc

Après redémarrage de l'ordinateur, je n'ai pas eu de problème particulier et aucun message d'erreur. J'ai donc pu finaliser l'installation en tapant la commande suivante:
sudo upgrade-from-grub-legacy

Appuyer sur les flèches haut et bas de votre clavier pour choisir le disque dur d'amorçage du système, puis sur ESPACE pour cocher le disque (ceci est obligatoire même s'il n'y a qu'un seul disque sur l'ordinateur, afin d'éviter d'avoir une error au redémarrage de l'ordinateur), enfin il faut appuyer sur TAB pour pouvoir valider sur OK.
malagasy@malagasy-laptop:~$ sudo upgrade-from-grub-legacy
[sudo] password for malagasy:
0
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0) /dev/sda
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-19-generic
Found initrd image: /boot/initrd.img-2.6.31-19-generic
Found linux image: /boot/vmlinuz-2.6.31-17-generic
Found initrd image: /boot/initrd.img-2.6.31-17-generic
Found linux image: /boot/vmlinuz-2.6.31-16-generic
Found initrd image: /boot/initrd.img-2.6.31-16-generic
Found linux image: /boot/vmlinuz-2.6.28-17-generic
Found initrd image: /boot/initrd.img-2.6.28-17-generic
Found memtest86+ image: /boot/memtest86+.bin
done

GRUB Legacy has been removed, but its configuration files have been preserved,
since this script cannot determine if they contain valuable information. If
you would like to remove the configuration files as well, use the following
command:

rm -f /boot/grub/menu.lst*

malagasy@malagasy-laptop:~$

/!\ Précaution à prendre:
/boot/grub/grub.cfg : il est autogénéré par update-grub et ne doit donc pas être modifié manuellement.
C'est lui qui est lu au démarrage comme l'était menu.lst sur grub-legacy.


Et voilà, j'ai Grub 2 installé par contre je n'ai pas encore envie de me lancer à la conversion de mon système de fichier de l'EXT3 vers EXT4. En tout cas, pas pour l'instant.


Sources:
https://help.ubuntu.com/community/Grub2
http://doc.ubuntu-fr.org/grub-pc

dimanche 14 février 2010

Projet Ubuntuzilla: Thunderbird 3, etc.

Après ma déception suite à l'installation de la version 3 de Thunderbird, qui ressemble plus à une version béta, je me suis penché sur le projet Ubuntuzilla.

I. Installation de Thunderbird last release, dernière version en date pour ce moi: TB 3

Avant de lancer n'importe quel upgrade, mieux vaut toujours se préparer à faire un backup de ces données. En tout cas, dans mon cas, j'ai exporté mes données de Firefox (bookmark, etc.) et de Thunderbird (flux RSS, etc.) pour pouvoir les récupérer si jamais il y a un soucis avec la mise à jour. Une fois ceci fait, rajoutons dans le fichier /etc/apt/sources.list la ligne suivante:

deb http://downloads.sourceforge.net/project/ubuntuzilla/mozilla/apt all main
Je tiens à rappeller que je suis sous Karmic Koala. Ensuite, il faut récupérer la clé:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com C1289A29
Et pour finir, une petite mise à jour du système.
sudo apt-get update

Enfin, vous pouvez choisir l'application que vous voulez installer:
sudo apt-get install firefox-mozilla-build
sudo apt-get install thunderbird-mozilla-build
sudo apt-get install seamonkey-mozilla-build



Sur la photo ci-dessus, à droite de Thunderbird, c'est l'application Lightning que j'ai ajouté en supplément pour avoir un calendrier intégré dans TB. Suite à l'installation de cette application, le calendrier n'apparaît pas automatiquement après avoir relancé TB, par contre il faut sortir de la session pour que l'application y apparaisse.

II. Configurations supplémentaires


Pour que Thunderbird fasse parti de la liste des applications de l'Indicator-applet, il suffit juste d'effectuer la manipulation suivante:
cd /usr/share/indicators/messages/applications/
sudo cp empathy thunderbird
gksu gedit thunderbird

Une fois le fichier ouvert, il suffit juste de remplacer "empathy" par "thunderbird". Et voilà, le tour est joué.


La manipulation suivante n'est pas intéressant à moins que vous n'avez pas une notification automatique à chaque nouveau message sur TB, ou que vous souhaitez remplacer la notification prédéfinie par TB. Pour ce faire, l suffit juste de modifier le fichier /usr/share/applications/thunderbird.desktop. N'oubliez surtout pas d'effectuer une copie de votre fichier avant de vous lancer dans les manipulations sur ce fichier.
[Desktop Entry]
Name=Mozilla Thunderbird Mail/News
Comment=Read/Write Mail/News with Mozilla Thunderbird
GenericName=Mail Client
X-GNOME-FullName=Empathy IM Client
X-GNOME-FullName[fr]=Gestion de messagerie THUNDERBIRD
Exec=thunderbird %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=thunderbird
Categories=GNOME;GTK;Network;Messaging;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;
StartupWMClass=Thunderbird-bin
StartupNotify=true
Name[cs]=Poštovní klient Thunderbird
Name[ca]=Client de correu Thunderbird
Name[fi]=Thunderbird-sähköposti
Name[fr]=Messagerie Thunderbird
Name[pl]=Klient poczty Thunderbird
Name[pt_BR]=Cliente de E-mail Thunderbird
Name[sv]=E-postklienten Thunderbird
Comment[ca]=Llegiu i escriviu correu
Comment[cs]=Čtení a psaní pošty
Comment[de]=Emails lesen und verfassen
Comment[fi]=Lue ja kirjoita sähköposteja
Comment[fr]=Lire et écrire des courriels
Comment[it]=Leggere e scrivere email
Comment[ja]=メールの読み書き
Comment[pl]=Czytanie i wysyłanie e-maili
Comment[pt_BR]=Ler e escrever suas mensagens
Comment[sv]=Läs och skriv e-post
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=thunderbird
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=2.28.1.1
X-Ubuntu-Gettext-Domain=thunderbird

Les informations en rouges sont les lignes supplémentaires que j'ai ajouté au fichier. La dernière est la plus importante car c'est celle qui permet réellement d'afficher la notification "en bas à droite" de votre écran. Je rappelle que si TB affiche déjà une notification chez vous, suite à cette manipulation, vous allez avoir deux fois la même notification d'arrivée d'un nouveau message.

En passant, je n'ai pas réussi à supprimer pidgin de la liste de l'indicator-applet, mais par contre pour arrêter la notification, il suffit juste de supprimer la ligne contenant X-Ubuntu-Gettext-Domain=pidgin.

Sources:
- Visit project ubuntuzilla
- Lightning, l’agenda pour Thunderbird
- Ajouter thunderbird dans la liste des applications de l' indicator-applet
- Thunderbird: lecteur de courriers électroniques

dimanche 24 janvier 2010

Installation de Thunderbird 3 Shredder sur Koala

Thunderbird 3 est sorti il y a peu de temps, mais ne sera pas de suite dans les dépots officiels d'Ubuntu.

Pour installer Thunderbird 3 à partir du PPA de mozilla, nous allons procéder comme suit :

sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv B34505EA326FEAEA07E3618DEF4186FE247510BE
gpg: requesting key 247510BE from hkp server keyserver.ubuntu.com
gpg: key 247510BE: public key "Launchpad PPA for Ubuntu Mozilla Daily Build Team" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)

sudo apt-get update


Ensuite, nous allons installer Thunderbird 3 ainsi que les fichiers de support pour gnome

sudo apt-get install thunderbird-3.0 thunderbird-3.0-gnome-support

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
mozilla-traybiff-common linux-headers-2.6.31-16
xulrunner-1.9.1-gnome-support linux-headers-2.6.31-16-generic
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
thunderbird-3.0 thunderbird-3.0-gnome-support
0 upgraded, 2 newly installed, 0 to remove and 5 not upgraded.
6 not fully installed or removed.
Need to get 10.4MB of archives.
After this operation, 29.6MB of additional disk space will be used.
Get:1 http://ppa.launchpad.net karmic/main thunderbird-3.0 3.0.2~hg20100123r4647+nobinonly-0ubuntu1~umd1~karmic [10.4MB]
Get:2 http://ppa.launchpad.net karmic/main thunderbird-3.0-gnome-support 3.0.2~hg20100123r4647+nobinonly-0ubuntu1~umd1~karmic [24.7kB]
Comme vous l'avez probablement remarqué, le nom de l'application à partir du menu Applications>Internet est "Shredder 3 Mail/News" qui fait étrangement penser à une version non stable. Du coup, heureusement que j'avais un backup, pour revenir en arrière et surtout pour vérifier si la restauration des sauvegardes avec sbackup se fait sans problème (cf. mon poste ici sur comment effectuer/restaurer un backup).


Source:
- Install Thunderbird 3 On Ubuntu 9.10 Karmic Koala
Lien

mercredi 30 décembre 2009

Humour sur linux en bd

Petites histoires "de geek ...", heu .. drôle :)

Black hat support

Sandwich
Surgery



Source:
http://xkcd.com/

lundi 21 décembre 2009

III. Synchronisation de l'iPhone/iPod Touch sous linux

Avant de continuer dans la manipulation afin de pouvoir synchroniser mon iTouch, je vais revenir dans un premier temps sur la partie 5 du précédent billet, au moment ou j'ai décidé de compiler libgpod malgré l'information indiquant que l'iTouch n'est pas supporté.


8. Synchronisation non supporté
: libiphone-dev non installé

Après avoir lancé la commande 'make', tout à l'air de s'être bien déroulé, comme indiqué ci dessous.

~/libgpod$ make

make all-recursive
make[1]: Entering directory `/home/malagasy/libgpod'
Making all in src
make[2]: Entering directory `/home/malagasy/libgpod/src'
CC libgpod_la-db-artwork-debug.lo
CC libgpod_la-db-artwork-parser.lo
CC libgpod_la-db-artwork-writer.lo
CC libgpod_la-db-image-parser.lo
CC libgpod_la-db-parse-context.lo
CC libgpod_la-itdb_artwork.lo
CC libgpod_la-itdb_chapterdata.lo
CC libgpod_la-itdb_device.lo
CC libgpod_la-itdb_hash58.lo
CC libgpod_la-itdb_hash72.lo
CC libgpod_la-itdb_iphone.lo
CC libgpod_la-itdb_itunesdb.lo
CC libgpod_la-itdb_photoalbum.lo
CC libgpod_la-itdb_playlist.lo
CC libgpod_la-itdb_plist.lo
CC libgpod_la-itdb_sqlite.lo
CC libgpod_la-itdb_sysinfo_extended_parser.lo
CC libgpod_la-itdb_thumb.lo
CC libgpod_la-itdb_track.lo
CC libgpod_la-itdb_tzinfo.lo
CC libgpod_la-itdb_zlib.lo
CC libgpod_la-ithumb-writer.lo
CC libgpod_la-pixmaps.lo
CC libgpod_la-rijndael.lo
CCLD libgpod.la
make[2]: Leaving directory `/home/malagasy/libgpod/src'
Making all in tools
make[2]: Entering directory `/home/malagasy/libgpod/tools'
CC ipod_read_sysinfo_extended-read-sysinfoextended.o
CC ipod_read_sysinfo_extended-ipod-lockdown.o
CCLD ipod-read-sysinfo-extended
/usr/bin/ld: warning: libplist.so.0, needed by /usr/lib/libiphone.so, may conflict with libplist.so.1
make[2]: Leaving directory `/home/malagasy/libgpod/tools'
Making all in tests
make[2]: Entering directory `/home/malagasy/libgpod/tests'
CC itdb_main.o
CCLD test-itdb
CC test-ls.o
CCLD test-ls
CC test-fw-id.o
CCLD test-firewire-id
CC test-sysinfo-extended-parsing.o
CC itdb_plist.o
CC itdb_sysinfo_extended_parser.o
CCLD test-sysinfo-extended-parsing
CC test_thumbnails-test-covers.o
CCLD test-thumbnails
CC test_write_thumbnails-test-write-covers.o
CCLD test-write-thumbnails
CC test_photos-test-photos.o
CCLD test-photos
CC get-timezone.o
CCLD get-timezone
CC test-init-ipod.o
CCLD test-init-ipod
make[2]: Leaving directory `/home/malagasy/libgpod/tests'
Making all in po
make[2]: Entering directory `/home/malagasy/libgpod/po'
file=`echo de | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file de.po
file=`echo es | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file es.po
file=`echo fr | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file fr.po
file=`echo he | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file he.po
file=`echo it | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file it.po
file=`echo ja | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file ja.po
file=`echo ro | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file ro.po
file=`echo sv | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file sv.po
file=`echo zh_CN | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file zh_CN.po
make[2]: Leaving directory `/home/malagasy/libgpod/po'
Making all in m4
make[2]: Entering directory `/home/malagasy/libgpod/m4'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/malagasy/libgpod/m4'
Making all in docs
make[2]: Entering directory `/home/malagasy/libgpod/docs'
Making all in reference
make[3]: Entering directory `/home/malagasy/libgpod/docs/reference'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/malagasy/libgpod/docs/reference'
make[3]: Entering directory `/home/malagasy/libgpod/docs'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/malagasy/libgpod/docs'
make[2]: Leaving directory `/home/malagasy/libgpod/docs'
Making all in bindings
make[2]: Entering directory `/home/malagasy/libgpod/bindings'
Making all in python
make[3]: Entering directory `/home/malagasy/libgpod/bindings/python'
cat gpod_doc.i.in > gpod_doc.i
if test -x "`which xsltproc 2>/dev/null`"; then \
for xml in ../../docs/reference/xml/*.xml; do \
xsltproc ./gtkdoc-to-swig.xsl $xml; \
done >> gpod_doc.i; \
fi
warning: failed to load external entity "../../docs/reference/xml/*.xml"
unable to parse ../../docs/reference/xml/*.xml
make[3]: [gpod_doc.i] Error 6 (ignored)
/usr/bin/swig -python -o gpod.py gpod.i
../../src/itdb.h:280: Warning(451): Setting a const char * variable may leak memory.
/usr/bin/swig -python -I../../src -o gpod_wrap.c gpod.i
../../src/itdb.h:280: Warning(451): Setting a const char * variable may leak memory.
make all-recursive
make[4]: Entering directory `/home/malagasy/libgpod/bindings/python'
Making all in examples
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python/examples'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python/examples'
Making all in tests
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python/tests'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python/tests'
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python'
CC _gpod_la-gpod_wrap.lo
CCLD _gpod.la
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[4]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[3]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[3]: Entering directory `/home/malagasy/libgpod/bindings'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/malagasy/libgpod/bindings'
make[2]: Leaving directory `/home/malagasy/libgpod/bindings'
make[2]: Entering directory `/home/malagasy/libgpod'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/malagasy/libgpod'
make[1]: Leaving directory `/home/malagasy/libgpod'

~/libgpod$

Avant de créer et d'installer le nouveau paquet ainsi préparé, il faut désinstaller la librairie libgpod originale

malagasy@malagasy-laptop:~/libgpod$ sudo apt-get remove libgpod-common


9. Création et installation d'un paquet DEB : libiphone-dev non installé

Lancer la commande checkinstall pour ce faire.

~/libgpod$ sudo checkinstall

checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.


The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]: #Taper sur la touche ENTRÉE directement

Preparing package documentation...OK

Please write a description for the package.
End your description with an empty line or EOF.
>> Libgpod4 SVN
>>

*****************************************
**** Debian package creation selected ***
*****************************************

*** Warning: The package version "0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT
0.7.3GIT" is not a
*** Warning: debian policy compliant one. Please specify an alternate one


This package will be built according to these values:

0 - Maintainer: [ root@malagasy-laptop ]
1 - Summary: [ Libgpod4 SVN ]
2 - Name: [ libgpod ]
3 - Version: [ ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ libgpod ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ libgpod ]

Enter a number to change any of them or press ENTER to continue:

(...)

This package will be built according to these values:

0 - Maintainer: [ malagasy ]
1 - Summary: [ Libgpod4 SVN ]
2 - Name: [ libgpod4 ]
3 - Version: [ 0.7.3 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ libgpod ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ libgpod4 ]

Enter a number to change any of them or press ENTER to continue:

Installing with make...Installing with install...

========================= Installation results ===========================
Making install in src
make[1]: Entering directory `/home/malagasy/libgpod/src'
make[2]: Entering directory `/home/malagasy/libgpod/src'
test -z "/usr/lib" || /bin/mkdir -p "/usr/lib"
/bin/bash ../libtool --mode=install /usr/bin/install -c libgpod.la '/usr/lib'
libtool: install: /usr/bin/install -c .libs/libgpod.so.4.2.0 /usr/lib/libgpod.so.4.2.0
libtool: install: (cd /usr/lib && { ln -s -f libgpod.so.4.2.0 libgpod.so.4 || { rm -f libgpod.so.4 && ln -s libgpod.so.4.2.0 libgpod.so.4; }; })
libtool: install: (cd /usr/lib && { ln -s -f libgpod.so.4.2.0 libgpod.so || { rm -f libgpod.so && ln -s libgpod.so.4.2.0 libgpod.so; }; })
libtool: install: /usr/bin/install -c .libs/libgpod.lai /usr/lib/libgpod.la
libtool: install: /usr/bin/install -c .libs/libgpod.a /usr/lib/libgpod.a
libtool: install: chmod 644 /usr/lib/libgpod.a
libtool: install: ranlib /usr/lib/libgpod.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/sbin" ldconfig -n /usr/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/include/gpod-1.0/gpod" || /bin/mkdir -p "/usr/include/gpod-1.0/gpod"
/usr/bin/install -c -m 644 itdb.h '/usr/include/gpod-1.0/gpod'
make[2]: Leaving directory `/home/malagasy/libgpod/src'
make[1]: Leaving directory `/home/malagasy/libgpod/src'
Making install in tools
make[1]: Entering directory `/home/malagasy/libgpod/tools'
make[2]: Entering directory `/home/malagasy/libgpod/tools'
test -z "/usr/bin" || /bin/mkdir -p "/usr/bin"
/bin/bash ../libtool --mode=install /usr/bin/install -c ipod-read-sysinfo-extended '/usr/bin'
libtool: install: /usr/bin/install -c .libs/ipod-read-sysinfo-extended /usr/bin/ipod-read-sysinfo-extended
test -z "" || /bin/mkdir -p ""
test -z "" || /bin/mkdir -p ""
make[2]: Leaving directory `/home/malagasy/libgpod/tools'
make[1]: Leaving directory `/home/malagasy/libgpod/tools'
Making install in tests
make[1]: Entering directory `/home/malagasy/libgpod/tests'
make[2]: Entering directory `/home/malagasy/libgpod/tests'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/malagasy/libgpod/tests'
make[1]: Leaving directory `/home/malagasy/libgpod/tests'
Making install in po
make[1]: Entering directory `/home/malagasy/libgpod/po'
linguas="de es fr he it ja ro sv zh_CN "; \
for lang in $linguas; do \
dir=/usr/share/locale/$lang/LC_MESSAGES; \
/bin/bash /home/malagasy/libgpod/install-sh -d $dir; \
if test -r $lang.gmo; then \
/usr/bin/install -c -m 644 $lang.gmo $dir/libgpod.mo; \
echo "installing $lang.gmo as $dir/libgpod.mo"; \
else \
/usr/bin/install -c -m 644 ./$lang.gmo $dir/libgpod.mo; \
echo "installing ./$lang.gmo as" \
"$dir/libgpod.mo"; \
fi; \
if test -r $lang.gmo.m; then \
/usr/bin/install -c -m 644 $lang.gmo.m $dir/libgpod.mo.m; \
echo "installing $lang.gmo.m as $dir/libgpod.mo.m"; \
else \
if test -r ./$lang.gmo.m ; then \
/usr/bin/install -c -m 644 ./$lang.gmo.m \
$dir/libgpod.mo.m; \
echo "installing ./$lang.gmo.m as" \
"$dir/libgpod.mo.m"; \
else \
true; \
fi; \
fi; \
done
installing de.gmo as /usr/share/locale/de/LC_MESSAGES/libgpod.mo
installing es.gmo as /usr/share/locale/es/LC_MESSAGES/libgpod.mo
installing fr.gmo as /usr/share/locale/fr/LC_MESSAGES/libgpod.mo
installing he.gmo as /usr/share/locale/he/LC_MESSAGES/libgpod.mo
installing it.gmo as /usr/share/locale/it/LC_MESSAGES/libgpod.mo
installing ja.gmo as /usr/share/locale/ja/LC_MESSAGES/libgpod.mo
installing ro.gmo as /usr/share/locale/ro/LC_MESSAGES/libgpod.mo
installing sv.gmo as /usr/share/locale/sv/LC_MESSAGES/libgpod.mo
installing zh_CN.gmo as /usr/share/locale/zh_CN/LC_MESSAGES/libgpod.mo
make[1]: Leaving directory `/home/malagasy/libgpod/po'
Making install in m4
make[1]: Entering directory `/home/malagasy/libgpod/m4'
make[2]: Entering directory `/home/malagasy/libgpod/m4'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/malagasy/libgpod/m4'
make[1]: Leaving directory `/home/malagasy/libgpod/m4'
Making install in docs
make[1]: Entering directory `/home/malagasy/libgpod/docs'
Making install in reference
make[2]: Entering directory `/home/malagasy/libgpod/docs/reference'
make[3]: Entering directory `/home/malagasy/libgpod/docs/reference'
make[3]: Nothing to be done for `install-exec-am'.
installfiles=`echo ./html/*`; \
if test "$installfiles" = './html/*'; \
then echo '-- Nothing to install' ; \
else \
if test -n ""; then \
installdir="/usr/share/gtk-doc/html/libgpod-"; \
else \
installdir="/usr/share/gtk-doc/html/libgpod"; \
fi; \
/bin/bash ../../mkinstalldirs ${installdir} ; \
for i in $installfiles; do \
echo '-- Installing '$i ; \
/usr/bin/install -c -m 644 $i ${installdir}; \
done; \
if test -n ""; then \
mv -f ${installdir}/libgpod.devhelp2 \
${installdir}/libgpod-.devhelp2; \
mv -f ${installdir}/libgpod.devhelp \
${installdir}/libgpod-.devhelp; \
fi; \
! which gtkdoc-rebase >/dev/null 2>&1 || \
gtkdoc-rebase --relative --dest-dir= --html-dir=${installdir} ; \
fi
-- Nothing to install
make[3]: Leaving directory `/home/malagasy/libgpod/docs/reference'
make[2]: Leaving directory `/home/malagasy/libgpod/docs/reference'
make[2]: Entering directory `/home/malagasy/libgpod/docs'
make[3]: Entering directory `/home/malagasy/libgpod/docs'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/malagasy/libgpod/docs'
make[2]: Leaving directory `/home/malagasy/libgpod/docs'
make[1]: Leaving directory `/home/malagasy/libgpod/docs'
Making install in bindings
make[1]: Entering directory `/home/malagasy/libgpod/bindings'
Making install in python
make[2]: Entering directory `/home/malagasy/libgpod/bindings/python'
make install-recursive
make[3]: Entering directory `/home/malagasy/libgpod/bindings/python'
Making install in examples
make[4]: Entering directory `/home/malagasy/libgpod/bindings/python/examples'
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python/examples'
make[5]: Nothing to be done for `install-exec-am'.
make[5]: Nothing to be done for `install-data-am'.
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python/examples'
make[4]: Leaving directory `/home/malagasy/libgpod/bindings/python/examples'
Making install in tests
make[4]: Entering directory `/home/malagasy/libgpod/bindings/python/tests'
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python/tests'
make[5]: Nothing to be done for `install-exec-am'.
make[5]: Nothing to be done for `install-data-am'.
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python/tests'
make[4]: Leaving directory `/home/malagasy/libgpod/bindings/python/tests'
make[4]: Entering directory `/home/malagasy/libgpod/bindings/python'
make[5]: Entering directory `/home/malagasy/libgpod/bindings/python'
make[5]: Nothing to be done for `install-exec-am'.
test -z "/usr/lib/python2.6/dist-packages/gpod" || /bin/mkdir -p "/usr/lib/python2.6/dist-packages/gpod"
/bin/bash ../../libtool --mode=install /usr/bin/install -c _gpod.la '/usr/lib/python2.6/dist-packages/gpod'
libtool: install: warning: relinking `_gpod.la'
libtool: install: (cd /home/malagasy/libgpod/bindings/python; /bin/bash /home/malagasy/libgpod/libtool --silent --tag CC --mode=relink gcc -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -Werror -std=c89 -g -O0 -Wno-strict-aliasing -Wno-sign-compare -Wdeclaration-after-statement -module -avoid-version -o _gpod.la -rpath /usr/lib/python2.6/dist-packages/gpod _gpod_la-gpod_wrap.lo -lgobject-2.0 -lglib-2.0 -lsqlite3 -lxml2 -lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgobject-2.0 -lglib-2.0 ../../src/libgpod.la )
libtool: install: /usr/bin/install -c .libs/_gpod.soT /usr/lib/python2.6/dist-packages/gpod/_gpod.so
libtool: install: /usr/bin/install -c .libs/_gpod.lai /usr/lib/python2.6/dist-packages/gpod/_gpod.la
libtool: install: /usr/bin/install -c .libs/_gpod.a /usr/lib/python2.6/dist-packages/gpod/_gpod.a
libtool: install: chmod 644 /usr/lib/python2.6/dist-packages/gpod/_gpod.a
libtool: install: ranlib /usr/lib/python2.6/dist-packages/gpod/_gpod.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/sbin" ldconfig -n /usr/lib/python2.6/dist-packages/gpod
----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib/python2.6/dist-packages/gpod

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/lib/python2.6/dist-packages/gpod" || /bin/mkdir -p "/usr/lib/python2.6/dist-packages/gpod"
/usr/bin/install -c -m 644 __init__.py gtkpod.py ipod.py '/usr/lib/python2.6/dist-packages/gpod'
Byte-compiling python modules...
__init__.pygtkpod.pyipod.py
Byte-compiling python modules (optimized versions) ...
__init__.pygtkpod.pyipod.py
test -z "/usr/lib/python2.6/dist-packages/gpod" || /bin/mkdir -p "/usr/lib/python2.6/dist-packages/gpod"
/usr/bin/install -c -m 644 gpod.py '/usr/lib/python2.6/dist-packages/gpod'
Byte-compiling python modules...
gpod.py
Byte-compiling python modules (optimized versions) ...
gpod.py
make[5]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[4]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[3]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[2]: Leaving directory `/home/malagasy/libgpod/bindings/python'
make[2]: Entering directory `/home/malagasy/libgpod/bindings'
make[3]: Entering directory `/home/malagasy/libgpod/bindings'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/malagasy/libgpod/bindings'
make[2]: Leaving directory `/home/malagasy/libgpod/bindings'
make[1]: Leaving directory `/home/malagasy/libgpod/bindings'
make[1]: Entering directory `/home/malagasy/libgpod'
make[2]: Entering directory `/home/malagasy/libgpod'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/lib/pkgconfig" || /bin/mkdir -p "/usr/lib/pkgconfig"
/usr/bin/install -c -m 644 libgpod-1.0.pc '/usr/lib/pkgconfig'
make[2]: Leaving directory `/home/malagasy/libgpod'
make[1]: Leaving directory `/home/malagasy/libgpod'

======================== Installation successful ==========================

Copying documentation directory...
./
./ChangeLog
./docs/
./docs/Makefile
./docs/Makefile.am
./docs/reference/
./docs/reference/libgpod-sections.txt
./docs/reference/version.xml.in
./docs/reference/tmpl/
./docs/reference/tmpl/chapterdata.sgml
./docs/reference/tmpl/smart-playlists.sgml
./docs/reference/tmpl/itunesdb-time.sgml
./docs/reference/tmpl/artwork.sgml
./docs/reference/tmpl/Internal.sgml
./docs/reference/tmpl/track.sgml
./docs/reference/tmpl/device.sgml
./docs/reference/tmpl/itunesdb-db.sgml
./docs/reference/tmpl/itunesdb-lowlevel.sgml
./docs/reference/tmpl/playlists.sgml
./docs/reference/tmpl/itunesdb-copying.sgml
./docs/reference/tmpl/photodb.sgml
./docs/reference/tmpl/libgpod-unused.sgml
./docs/reference/version.xml
./docs/reference/Makefile
./docs/reference/Makefile.am
./docs/reference/libgpod-overrides.txt
./docs/reference/Makefile.in
./docs/reference/libgpod-docs.xml
./docs/Makefile.in
./COPYING
./README
./README.SysInfo
./INSTALL_GIT
./AUTHORS
./NEWS
./INSTALL
grep: /var/tmp/tmp.LQOxRqh7KE/newfile: No such file or directory

Some of the files created by the installation are inside the build
directory: /home/malagasy/libgpod

You probably don't want them to be included in the package,
especially if they are inside your home directory.
Do you want me to list them? [n]: n
Should I exclude them from the package? (Saying yes is a good idea) [y]: y

Copying files to the temporary directory...OK

Stripping ELF binaries and libraries...OK

Compressing man pages...OK

Building file list...OK

Building Debian package...OK

Installing Debian package...OK

Erasing temporary files...OK

Writing backup package...OK

Deleting temp dir...OK


**********************************************************************

Done. The new package has been installed and saved to

/home/malagasy/libgpod/libgpod4_0.7.3-1_i386.deb

You can remove it from your system anytime using:

dpkg -r libgpod4

**********************************************************************

Nous allons maintenant monter l'iTouch

~/marcan-sandbox$ ifuse /mnt/ipod/


Puis de créer un dossier /mnt/ipod/iTunes_Control/Device

~/marcan-sandbox$ cd /mnt/ipod/iTunes_Control/

/mnt/ipod/iTunes_Control$ mkdir Device

Nous avons besoin du numéro de Série de l'iTouch :

/mnt/ipod/iTunes_Control$ lsusb -v | grep -i iSerial

can't get hub descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
iSerial 1
iSerial 1
iSerial 1
iSerial 1
iSerial 3 numéro_de_série
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
iSerial 0
iSerial 1

Génerez un fichier iTunes_Control/Device/SysInfoExtended, à partir de la commande ipod-read-sysinfo-extended numéro_de_série point_de_montage , qui est un fichier de type XML.

/mnt/ipod/iTunes_Control$ ipod-read-sysinfo-extended numéro_de_série /mnt/ipod

**(process:12170): WARNING **: Compiled without libiphone support, can't read SysInfoExtended from an iPhone UUID
Couldn't read xml sysinfo from numéro_de_série
/mnt/ipod/iTunes_Control/Device$

--------------------------------

If you have installed packages for libiphone, you will need to install the libiphone-dev (or equivalent) package to get the headers. Then reconfigure the gtkpod sources and ensure that it says “iPhone/iPod Touch support: yes” or something in the summary after configuration is done.

--------------------------------

Et voilà l'alerte qui vous indique que vous devez absolument installer le paquet libiphone-dev, ou équivalent, afin de pouvoir synchroniser avec l'iTouch. Une fois ce problème résolu, passons à l'étape suivante.


10. Compilation après avoir installé tous les paquets nécessaires


La suite de la manipulation du billet "II. Compilation de libgpod4" commence à partir d'ici. Je m'étais arrêté au moment où il fallait lancer la commande 'make'.

~/marcan-sandbox$ make

make all-recursive
make[1]: Entering directory `/home/malagasy/marcan-sandbox'
Making all in src
make[2]: Entering directory `/home/malagasy/marcan-sandbox/src'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/malagasy/marcan-sandbox/src'
Making all in tools
make[2]: Entering directory `/home/malagasy/marcan-sandbox/tools'
CC ipod_read_sysinfo_extended-ipod-lockdown.o
cc1: warnings being treated as errors
ipod-lockdown.c: In function ‘read_sysinfo_extended_by_uuid’:
ipod-lockdown.c:70: error: implicit declaration of function ‘plist_get_dict_el_from_key’
ipod-lockdown.c:70: error: nested extern declaration of ‘plist_get_dict_el_from_key’
ipod-lockdown.c:70: error: assignment makes pointer from integer without a cast
ipod-lockdown.c:73: error: implicit declaration of function ‘plist_add_sub_key_el’
ipod-lockdown.c:73: error: nested extern declaration of ‘plist_add_sub_key_el’
ipod-lockdown.c:74: error: implicit declaration of function ‘plist_add_sub_string_el’
ipod-lockdown.c:74: error: nested extern declaration of ‘plist_add_sub_string_el’
ipod-lockdown.c:78: error: assignment makes pointer from integer without a cast
make[2]: *** [ipod_read_sysinfo_extended-ipod-lockdown.o] Error 1
make[2]: Leaving directory `/home/malagasy/marcan-sandbox/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/malagasy/marcan-sandbox'
make: *** [all] Error 2

Et oui, comme vous pouvez le constater, les problèmes continuent. Pour y remédier, il faut utiliser le GIT officiel de libgpod.
git clone git://gtkpod.git.sourceforge.net/gitroot/gtkpod/libgpod
cd libgpod
git checkout
Puis de contiuer la compilation normalement.

~$ git clone git://gtkpod.git.sourceforge.net/gitroot/gtkpod/libgpod

~$ cd libgpod/
~/libgpod$ git checkout

~/libgpod$ CFLAGS="-g -O0" sh autogen.sh -prefix=/usr

~/libgpod$ make

~/libgpod$ sudo apt-get remove libgpod-common

~/libgpod$ sudo checkinstall

Et voilà, la compilation et l'installation du paquet est terminée.


11. Synchronisation de l'iTouch avec GTKpod

La suite de la manipulation, je l'ai déjà donné en détail lors de mon précédent test, et donc je ne vais plus détailler (cf. chap 9 de ce billet).

Nous allons monter l'iTouch en tapant la commande ifuse /mnt/ipod/ puis de créer un dossier Device dans /mnt/ipod/iTunes_Control/ avec la commande mkdir /mnt/ipod/iTunes_Control/Device/

Ensuite de récupérer l'UUID (identifiant unique universel) de votre iTouch via la commande lsusb -v | grep -i iSerial. L'UUID de votre appareil est le numéro de série de votre iTouch contenant 40 caractères. Ensuite taper la commande suivante :
~$ ipod-read-sysinfo-extended numéro_de_série /mnt/ipod
Cette commande doit avoir généré un fichier SysInfoExtended dans le dossier /mnt/ipod/iTunes_Control/Device/. Veuillez vérifier à ce que ce fichier existe bien.


Ça y est, maintenant il ne reste plus qu'à installer l'application GTKpod et synchroniser votre musique.

~$ sudo apt-get install gtkpod
The following extra packages will be installed:
gtkpod-data id3v2 libid3-3.8.3c2a vorbis-tools
Suggested packages:
mp3gain faad faac lame

Une fois l'installation terminée, vous pouvez lancer GTKpod.



L'erreur ci dessous devrait pouvoir être résolu facilement. (Je ferai plus de recherche dessus quand j'en aurai le temps).


D'après ce message, je dois créer un dossier Photos dans /mnt/ipod/iPod_Control/.

/!\ N'oubliez surtout pas de déconnecter l'iTouch proprement une fois que vous avew fini de le synchroniser. Pour ce faire,


- clic droit/éjecter l'ipod dans gtkpod

- fusermount -u /mnt/ipod/ dans un terminal


Sources :
- tutoriel pour pouvoir transférer de la musique avec iFuse sur iPhone
- iPhone syncing on Linux Part 2
- le topic qui m'a dirigé vers la résolution du problème de sync sous linux
- problème de compilation libgpod4
- Main Page - iFuse