Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Comment synchroniser un iPhone 3g et 3gs sous ubuntu ?

Pour l'iPhone 3gs et l'iPhone 3g, fonctionnant avec le firmware 3.0 à 3.1.3, il est possible de synchroniser ses musiques, ses photos et ses vidéos sous ubuntu en se passant de iTunes. Cette methode est utile pour les iPhone jailbreaké ou non.

iPhoneOS 4.0 semble ne pas être pris en charge.

Depuis Ubuntu Natty 11.04, les iPhone, iPod Touch et iPad sont supportés en natif!
Pour utiliser un iPhone avec iOS 4, 5, 6 et iOS 7 sous Ubuntu Precise et version ultérieur, il faut utiliser Rhythmbox, inclus avec Ubuntu depuis Precise
Ces explications se rapportent aux versions précédentes (<10.04) d'Ubuntu, et servent d'archives pour les anciennes astuces qui pourront peut-être être réutilisées en cas de futurs problèmes d'incompatibilité.
La première méthode est fortement recommandée.
Marche également pour tous les iPod Touch et iPhones jusqu'au fw 3.1.3 inclus.

La méthode qui semble la plus simple pour le premier venu. En effet elle ne nécessite pas de compilation, ce qui est parfois problématique. En outre il semblerait que certaines personnes rencontrent des problèmes avec la deuxième méthode. De plus cette méthode ne requiert pas de montage manuel de l'iPhone, ce dernier étant fait automatiquement, contrairement à la deuxième méthode. Enfin cette dernière supporte les pochettes d'albums et utilise Rhythmbox, qui est installé par défaut avec Ubuntu.

La synchronisation de vidéos est1) possible avec gtkpod, que vous pouvez soit installer depuis la logithèque, soit compiler comme dans la deuxième méthode pour avoir les dernières mises à jour.

La méthode est disponible ici.

Voici sa traduction française :

  • Important : A l'aide d'un ordinateur sous Windows avec iTunes, ajouter au moins une chanson dans l'iPhone via iTunes. Cela créera la base de donnée de l'iPhone/iPod Touch nécessaire pour que le reste de ce tutoriel fonctionne,
  • Soyez sûr d'être connecté à Internet,
  • Ajoutez le dépôt pmcenery :
    sudo add-apt-repository ppa:pmcenery/ppa
  • puis installez les paquets suivants : gvfs gvfs-backends gvfs-bin gvfs-fuse libgvfscommon0 ifuse libgpod-dev libgpod-common libimobiledevice-utils libimobiledevice0 python-libimobiledevice libplist++1 libplist-utils python-plist libusb-1.0-0 libusb-1.0-0-dev libusbmuxd1 usbmuxd ou cliquez sur ce lien pour tout installer en un clic.
  • Entrez la commande suivante dans un terminal :
    sudo su -c "echo user_allow_other >> /etc/fuse.conf"
Cela va installer la dernière version de fink fuse, "fusepod" et la rendre utilisable par les utilisateurs normaux2)
  • Fermez votre session. Vous pouvez tout aussi bien redémarrer votre ordinateur.
  • Reconnectez-vous sous Ubuntu,
  • Connectez votre iPod Touch/iPhone. Il vous sera demandé plusieurs fois d'ouvrir l'iPod ; cliquez à chaque fois sur « Annuler »,
  • Ouvrez un terminal,
  • Créez le fichier SysInfoExtended sur le iPod/iPhone pour que des applications comme RhythmBox puissent l'utiliser, en copiant/collant les lignes suivantes dans la console :
sudo adduser "$USER" fuse
echo -e "\n\nVeuillez entrer le nom de votre iPod:"
read iPod_name
mkdir -p "$HOME/.gvfs/$iPod_name/iTunes_Control/Device/"
ipod-read-sysinfo-extended `sudo lsusb -v | grep 'iSerial' | awk 'length($0)>=68' | awk '{print $3}'` "$HOME/.gvfs/$iPod_name/"
Il vous sera demandé le nom de votre iPod Touch/iPhone. Il faut mettre le même nom que l'icône sous lequel apparait votre iPhone sur le bureau.
  • Déconnectez-vous de votre session une dernière fois puis reconnectez-vous,
  • lancez RhythmBox via « Applications → Son et vidéo → RhythmBox ». Votre iPod devrait se trouver sur la gauche. Glissez/déposez les fichiers comme vous le feriez avec iTunes.
Si votre iPhone n'apparait pas à gauche, essayez d'y accéder en cliquant sur son icône sur le Bureau, et en cliquant sur "Ouvrir Rhythmbox".
Si vous avez des problèmes, essayez de redémarrer votre iPhone. Si cela ne suffit pas, regardez les commentaires sur ce blog en anglais.

Avec KDE, il est possible de rencontrer des problèmes, essayez cette méthode (en anglais aussi).

Les procédures qui suivent utilisent des logiciels en développement. Des bugs peuvent survenir.
ATTENTION : Ce tutoriel ne fonctionne plus vraiment depuis quelques temps, suite à des changements dans le git. (cf. Source - voir les dernières pages)

Installation de iFuse

Préparation du système

  • Connectez votre iPhone et vérifiez que usbmuxd est actif en tapant dans un terminal :
ps ax | grep usbmuxd

Si usbmuxd est actif, vous aurez la réponse suivante:

6822 ?        S<     0:00 /usr/sbin/usbmuxd -u -U
21571 pts/0    S+     0:00 grep usbmuxd

Les chiffres en début de ligne seront différents que ceux dans l'exemple ci-dessus.

  • Maintenant, créez le point de montage pour votre iPhone, dans un terminal:
sudo mkdir /media/iPhone
sudo chmod 777 /media/iPhone
#user_allow_other

en

user_allow_other

Sauvegardez et quittez.

  • Ajoutez vous au groupe fuse.
usermod -aG fuse votre_login

Redémarrez votre machine. Ensuite, vérifiez que vous faites bien parti du groupe fuse en tapant dans un terminal:

id

Vous verrez alors les groupes auxquels vous appartenez, dont fuse.

Votre iPhone sera maintenant accessible en tapant dans un terminal: Pour le montage
ifuse /media/iPhone

Pour le démontage

fusermount -u /media/iPhone

Installer le paquet libgpod4.

Préparation de l'iPhone

  • Connectez votre iPhone et montez le :
ifuse /media/iPhone
  • Créer le répertoire suivant :
mkdir -p /media/iPhone/iTunes_Control/Device/
  • Obtenez le numéro de série de votre iPhone :
lsusb -v | grep -i iSerial

La commande vous retournera plusieurs informations dont une du type :

iSerial                 3 fb9961044533cd317cb6f2bce3424c2771ae16d6

Le numéro de série qui nous intéresse est dans notre exemple: fb9961044533cd317cb6f2bce3424c2771ae16d6

  • Entrez la commande dans un terminal :
ipod-read-sysinfo-extended votre_numéro_de_série /media/iPhone

Ceci va créer le fichier /media/iPhone/iTunes_Control/Device/SysInfoExtended contenant des informations au format XML.

Installation de gtkpod

Pour synchroniser votre musique, vos photos et vos vidéos, il faudra utiliser le logiciel gtkpod.

Synchronisation

  • Branchez et montez votre iPhone,
  • Lancer gtkpod,

A la première utilisation, gtkpod vous demandera le modèle de votre appareil. il apparaitra ensuite dans l'arborescence, dans la fenêtre de gauche. A partir de là vous pourrez transférer votre musique, vos photos et vidéos sur l'iPhone. Une fois l'opération effectuée, enregistrez les modification. N'oubliez pas d'éjecter votre iPhone de gtkpod, puis de votre système en tapant dans un terminal :

fusermount -u /media/iPhone

Cette méthode, assez ancienne et non-vérifiée récemment FIXME à l'avantage de fonctionner sans cable USB, grâce au SSH, mais requiert un iPhone jailbreaké ainsi qu'un firmware <3.0

La structure de la base de données de musique du firmware 3.0 ayant changé, il n'est pas possible de transférer sa musique à partir d'ubuntu et de l'écouter avec l'iPod. La solution VirtualBox 2.x + iTunes fonctionne.

Update 15 Décembre 2009 : Il est désormais possible de synchroniser sa musique pour les firmware 3.x jailbreaké ou non !!! C'est encore en version alpha mais ca fonctionne : voir ce message dans le forum et Comment synchroniser un iPhone 3g et 3gs sous ubuntu ? FIXME c'est cette page de doc ??!!

.

Le problème des firmware 2.X consiste en l'utilisation par l'iTunes de l'iPhone d'une base de données spécifique pour gérer la bibliothèque des musiques et vidéos de l'appareil. Selon que vous souhaitez ou non utiliser l'iPod de l'iPhone, deux solutions s'offrent à vous.

  • si vous souhaitez utiliser les logiciels natifs de l'iPod de l'iPhone : il faut générer une nouvelle base de donnée qui soit compatible avec des applications linux (comme gtkPod ou Amarok). Avec cette méthode la synchronisation se fait de façon transparente sous le logiciel Linux choisi.
  • si vous ne souhaitez pas utiliser l'iPod de l'iPhone : il vous suffit d'installer des logiciels de lecture alternatifs sur l'iPhone, par exemple dTunes (pour lire musique et vidéos), pwnPlayer (pour la musique uniquement) et Mplayer (pour musique et vidéo). Ces logiciels sont disponibles sous Cydia. Avec cette méthode, la "synchronisation" se fait manuellement en déposant les fichiers musiques/vidéos dans les répertoires adhoc de l'iPhone par connexion ssh.

Les manipulations suivantes on été testées sur iphone et ipod-touch jailbreakés pour tous les firmwares jusqu'au 2.2.1

Synchronisation avec l'iPod de l'iPhone

Nous expliquons ici comment synchroniser avec Amarok ou gtkPod. Ces deux logiciels permettent de synchroniser musiques, playlistes et vidéos entre votre PC et votre iPhone. Ils transfèrent tous les deux les jaquettes des albums et chansons déjà présents dans votre collection, mais ne gèrent pas les aperçus des vidéos (la faute en incomberait à l'iPod de l'iPhone).

Préparation de l'iPhone

Pré-requis

  • Supprimer toutes les musiques et vidéos de l'iPhone avec iTunes pour éviter les conflits,
  • Un iPhone jailbreaké,
  • Installer openssh sur l'iPhone via cydia,
  • Iphone connecté en wifi avec une ip fixe (soit en la fixant dans l'iphone soit en liant l'adresse mac de l'iphone à une adresse ip fixe dans votre routeur/box/etc.).
Lorsque l'iPhone passe en veille, le wifi est automatiquement désactivé, excepté lorsqu'il est relié en USB à l'ordinateur. Pensez toujours à connecter votre iPhone en USB lors des transferts wifi pour éviter une coupure réseau. Vous pouvez également installer l'application "Insomniak" disponible dans Cydia qui permettra que votre iPhone soit toujours opérationnel même lorsque son écran est en veille.

Se connecter en ssh sur l'iphone via la commande (mot de passe : alpine):

ssh root@adresse_ip_de_l'iphone

Il est possible que la clé SSH ne soit plus valide (mise à jour du firmware, …), il vous faudra donc régénérer celle-ci pour que la connexion puisse être faite :

ssh-keygen -R adresse_ip_de_l'iphone

Effacez l'ancienne base de donnée de l'iPhone :

rm /private/var/mobile/Media/iTunes_Control/iTunes/iTunesDB
rm /private/var/mobile/Media/iTunes_Control/iTunes/iTunesDB.ext

Changez la base de donnée pour une version compatible Linux en éditant le fichier /System/Library/Lockdown/Checkpoint.xml de l'iphone

 pico /System/Library/Lockdown/Checkpoint.xml

ou

 nano /System/Library/Lockdown/Checkpoint.xml

selon l'éditeur texte installé sur l'iPhone.

Trouvez la clé "DBVersion" et changez sa valeur de 4 à 2.

Déconnectez le ssh.

Vous disposez maintenant d'un iPhone sans contenu multimédia et dont la base de donnée est synchronisable avec des logiciels Linux.

Préparation de Ubuntu

Dès lors que votre iPhone dispose d'un serveur SSH, vous pouvez vous y connecter de manière transparente sous Ubuntu. Nous vous proposons ici d'utiliser ipod-convenience qui permet de monter et démonter le contenu de votre iPhone dans un répertoire média de votre installation Ubuntu.

Pour ubuntu 7.10, il faut rajouter le dépôt suivant dans synaptic pour pouvoir installer ipod-convenience :
deb http://ppa.launchpad.net/ipod-touch/ubuntu gutsy main

Pensez à mettre à jour la liste des logiciels pour pouvoir installer ipod-convenience.

Installez le paquet ipod-convenience. Pendant l'installation l'assistant de configuration va demander de renseigner les paramètres de montage :

  1. l'adresse IP de l'iphone (ou l'alias que l'on a configuré précédemment),
  2. le point de montage : celui-ci est un dossier qui va être créé pour recevoir l'iPhone. Indiquez par exemple /media/iphone

configuration de ipod-convenience

Branchez votre iphone sur une prise USB, ceci est nécéssaire pour générer le hash (ou firewireGUID) utilisé par la base de données iTunes. Si nécessaire, ajoutez vous au groupe fuse, déconnectez vous, puis reconnectez vous.

Vous pouvez désormais connecter et déconnecter votre iphone depuis un terminal avec les commandes suivantes (mot de passe : alpine ):

iphone-mount
iphone-umount

Votre iphone est alors monté sur /media/iphone

Problème éventuel

la commande 'iphone-mount' affiche une erreur et rien ne se produit :

 ssh: : Name or service not known

Ceci est un bug connu sur la dernière version de ipod-convenience.

En attendant le patch il suffit d'éditer le script :

 sudo gedit /usr/bin/iphone-mount

Puis remplacer la ligne 66 :

if ssh root@192.168.6.136 test -d /var/mobile; then

Par :

if ssh root@$IPADDRESS test -d /var/mobile; then
Eviter que l'iPhone ne demande un mot de passe à chaque connexion

Se connecter en ssh à l'iPhone :

ssh root@<device ip>

Entrer le mots de passe dottie si il est en version 1.1.0 et alpine si il est en version 1.1.1 ou supérieur

Tapez ensuite les commandes suivantes

chmod 0755 ~ ~/.ssh
chmod 0644 ~/.ssh/*
nano /etc/ssh/sshd_config

Cherchez la partie commençant par #RSAAuthentication et modifiez la en enlevant tout les « # ».

Code :

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

Faites CTRL+O pour sauvegarder puis CTRL+X pour quitter.

Pour ceux qui n'ont pas d'éditeur de texte convivial, sed suffira pour enlever ce « # ». Exécutez les commandes suivantes (sans oublier le "." juste avant "&&"):

cp /etc/ssh/sshd_config sshd_config.bak
cp /etc/ssh/sshd_config . && sed "s/#RSAAut/RSAAut/g" sshd_config > /etc/ssh/sshd_config
cp /etc/ssh/sshd_config . && sed "s/#PubkeyAut/PubkeyAut/g" sshd_config > /etc/ssh/sshd_config
cp /etc/ssh/sshd_config . && sed "s/#Authorized/Authorized/g" sshd_config > /etc/ssh/sshd_config

Tapez ensuite :

reboot

Votre iPhone redémarre tout seul.

Maintenant quand vous tapez :

ssh root@<device ip>

la connexion doit se faire sans demander de mot de passe.

Avec Amarok

Ouvrez Amarok, cliquez sur le menu "Configuration > Configurer Amarok".

  • Ouvrez l'icône "Périphérique de média",
  • Cliquez sur "Ajouter un périphérique",
  • Selectionnez ensuite "Périphérique de média Apple iPod",
  • Entrez "iphone" comme nom de périphérique,
  • Entrez "/media/iphone" comme point de montage.

La liste de lecture de votre iPhone doit maintenant apparaître dans l'onglet "Périphérique" de Amarok. Si vous avez utilisé la méthode avec ipod-convenience (FIXME Lien à mettre à jour) vous pouvez ajouter "iphone-mount" à la commande de pré-montage et "iphone-umount" à la commande de pré-déconnexion. Précisez le modèle de l'appareil : toujours dans l'onglet "Périphériques", cliquez sur le menu "iPod > Définition du modèle de l'iPod > Mobile Phones > iPhone".

Vous pouvez maintenant monter votre iPhone directement sous Amarok dans l'onglet Périphériques, puis synchroniser vos médias.

Iphone en cours de synchronisation sous Amarok

Comme Amarok ne permet pas l'édition des tags des vidéos mp4, les vidéos apparaitront toutes sous l'intitulé "untitled" dans l'iPod de l'iPhone. Afin de modifier les tags auteur, titre et album des fichiers vidéos, vous pouvez par exemple utiliser easytag avant le transfert vers l'iPhone.

N'oubliez pas de redémarrer l'iPod de l'iPhone pour voir les changements dans la bibliothèque musicale (lancez iPod et appuyez environs 12 secondes sur le bouton home).

Avec gtkPod

Montez l'iPhone dans un terminal avec la commande iphone-mount (voir précédemment FIXME Lien à mettre à jour) puis ouvrez gtkPod. Lors du premier lancement, celui-ci génére automatiquement une nouvelle base de données sur votre iPhone.

  • Ouvrez ensuite le menu "Édition > Préférences",
  • Dans l'onglet "Général" cliquez sur "Définir le point de montage …",
  • Notez le point de montage "/media/iphone",
  • Spécifiez un endroit de sauvegarde pour iTunesDB.,
  • Spécifiez le modèle : iPhone.

Vous pouvez maintenant synchroniser vos médias avec gtkPod. À la différence d'Amarok, gtkPod permet non seulement la synchronisation des photos mais aussi l'édition des tags mp4 videos qui apparaitront sous l'iPod de l'iPhone,

Gestion de l'iPhone sour gtkPod

Maintenant vous pouvez utiliser votre iPhone sous Ubuntu avec gtkPod et Amarok mais ne réutiliser pas iTunes après sous peine de devoir recommencer la manipulation.

Synchronisation manuelle de l'iPhone

Avec cette méthode, vous déposez vos fichiers multimédias par ssh dans l'arborescence de l'iPhone. Votre musique et vos vidéos ne sont plus accessibles par l'iPod de l'iPhone et vous devez utiliser d'autres logiciels iPhone pour les lire.

Si vous avez suivi la méthode ipod-convenience (voir ci-dessus), l'arborescence de votre iPhone est accessible par votre navigateur de fichier dans /media/ipod/.

Navigation dans l'arborescence de l'iPhone sous Nautilus

dTunes

dTunes est disponible via Cydia. Il permet de lire musiques et vidéos qui sont stockées dans le répertoire /var/mobile/Library/Downloads de l'iPhone.

  • Installez dTunes sur l'iPhone jailbreaké via Cydia,
  • Montez l'iPhone avec ipod-convenience (cf plus haut pour le tuto),
  • Copiez vos musiques sur l'iPhone dans le dossier /var/mobile/Library/Downloads comme sur une clé USB et utilisez dTunes pour les lire.

pwnPlayer

pwnPlayer ne permet que de lire la musique pour le moment. La marche à suivre est similaire à celle de dTunes.

  • Installez pwnPlayer sur l'iPhone jailbreaké via Cydia et configurez le pour utiliser les musiques situées dans /private/var/mobile/Media/Musiques,
  • Montez l'iPhone avec ipod-convenience (cf plus haut pour le tuto),
  • Copiez vos musiques sur l'iPhone dans le dossier Musiques comme sur une clé USB et utilisez le logiciel pwnPlayer pour les lire.

Attention : pwnPlayer n'est plus maintenu.

Mplayer

MPlayer est disponible via Cydia. Il supporte les formats mpeg4, h.264, wmv, mp3, aac, wma et real media et s'installe de façon similaire aux deux logiciels précédents. Les fichiers doivent être stockés dans le répertoire /private/var/media.

Je n'ai pas de son sur les fichiers .MOV avec MPlayer sur IPhone 3GS iOS 3.1.3 :-(

Partage de la connexion Internet du téléphone portable avec un PC (sans connexion Internet) via son cordon USB.

Installation de ipheth-utils (jusqu'à Ubuntu Lucid)

Il faut ajouter le dépôt PPA de Paul McEnery 3), puis recharger la liste des paquets ou copier/coller la ligne de commande suivante dans une fenêtre de Terminal :

sudo add-apt-repository ppa:pmcenery/ppa && sudo apt-get update -qq

Puis installez le paquet apt://ipheth-utils

Installation de ipheth-utils (a partir de Ubuntu Maverick)

Ce paquet est déjà présent dans le dépôt Universe, il suffit d'activer ce dépôt et d'installez le paquet apt://ipheth-utils.

Mise en oeuvre

Brancher votre iPhone en ayant activé avant le partage de connexion sur l'iPhone.

Pour vérifier que le module est charge, tapez :

lsmod | grep ipheth

Normalement, une nouvelle interface réseau est créée.

ifconfig

Puis sur vôtre iPhone, aller dans "Paramètres⇒Général⇒Réseau⇒Partage de connexion" et l'activer.

Si "Partage de connexion" n'apparait pas, se rendre sur http://help.benm.at avec vôtre iPhone et cliquer sur “Tethering”, et sélectionner vôtre pays et la porteuse de vôtre mobile.

Ne pas oublier d'installer User Agent Switcher pour firefox, puis redémarrer Firefox et choisir iPhone 3.0 dans l'onglet Outils de "User Agent Switcher".

Pour que le "User Agent" soit positionné dès l'ouverture de Firefox, plusieurs solutions:

  • soit le définir au niveau global (c.a.d appeler un nouveau fichier de config contenant la définition en Javascript du UserAgent iPhone 3.0 via un "general.config.filename" dans le fichier "/usr/lib/firefox-<VERSION>/greprefs/all.js")
  • soit dans "about:config", définir le boolean "useragentswitcher.reset.onclose" a "false" (mais celà peut poser des problèmes d'après l'auteur du module sur son site)
  • soit creer un fichier "user.js" dans le profile Firefox de la maniere suivante:
echo 'user_pref("general.appname.override", "Netscape");' >> user.js
echo 'user_pref("general.appversion.override", "5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16");' >> user.js
echo 'user_pref("general.platform.override", "iPhone");' >> user.js
echo 'user_pref("general.useragent.appName", "Mozilla");' >> user.js
echo 'user_pref("general.useragent.override", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16");' >> user.js
echo 'user_pref("general.useragent.vendor", "Apple Computer, Inc.");' >> user.js
echo 'user_pref("general.useragent.vendorSub", "");' >> user.js

Il semblerait que ces méthodes ne fonctionnent pas avec l'iPhoneOS 4.0. Ce dernier est encore en phase de test, mais il sera bientôt disponible pour le public. Apple aurait en fait changé le hash de la base de données. Évitez par conséquent l'installation de l'iPhoneOS 4.0 si vous tenez absolument à utiliser ces alternatives à iTunes.

L' iOS 4 est sorti, la technique fonctionne toujours ! (Testé avec iOS 4.01, iPhone 3Gs)

Ça ne marche pas avec la dernière version de IOS 4

La dernière version d'ipheth inclue le support de l'iPhone 4 et ça fonctionne parfaite avec iOS 4.2.1 (dernière version).

Il est également possible de lire la musique avec Amarok (du moins sous KDE) moyennant quelques subtilités donné dans ce sujet du forum.

Solution ?

Avec un iPhone jailbreaké : Par SSH, modifier le fichier /System/Library/Lockdown/Checkpoint.xml, y trouver la clef DBVersion, et la ramener à 4, utilisant ainsi la version de base de donnée compatible avec Rhythmbox & co, utilisée par l'iPhoneOS 3.1.2.


Page créée par emris, mise à jour par JeanMat ( première méthode), retravaillée par TheCameleon

Mise en forme : draco31.fr


1)
peut-être - je n'ai pas re-testé récemment
2)
non-root
  • tutoriel/comment_synchroniser_un_iphone_3g_3gs_sous_ubuntu.1467852808.txt.gz
  • Dernière modification: Le 07/07/2016, 02:53
  • par 95.215.46.165