Jump to content

[TUTO] Accéder à ses fichiers sous Linux


Minux
 Share

Recommended Posts

Bonjour,

Depuis la décision de Google de ne plus supporter le mode UMS (Usb Mass Storage) sur les Nexus, les données contenues sur la carte SD interne ne sont plus accessibles nativement sous linux.

Il existe plusieurs possibilités pour accéder à ses données sous son OS préféré, que je vais essayer de détailler ici.

1. Utiliser ADB

Une fois le SDK Android installé avec les Platform-Tools, vous avez accès à l'utilitaire adb. Celui-ci vous permet de transférer des fichiers sur / depuis votre Nexus depuis votre PC, de manière basique, mais efficace et stable.

Vous pouvez également vous passer du SDK en installant seulement les deux exécutables nécessaire à ce tuto (adb et aapt) : http://motyczko.pl/qtadb/linux_binaries.tar.gz

Une fois l'archive récupérée, il suffit de la décompresser et de lancer les commandes depuis le répertoire ainsi créé.

Note : La carte SD se trouve sous /storage/sdcard0/

Donc pour récupérer un fichier (le [repertoire/], facultatif, est fonction de l'endroit ou vous voulez placer le fichier, et doit exister sinon vous rencontrerez une erreur) :

adb pull /storage/sdcard0/[repertoire/]MonFichier

Pour envoyer un fichier :

adb push MonFichier /storage/sdcard0/[repertoire/]

Pour créer un répertoire à la racine de la carte SD :

adb shell mkdir /storage/sdcard0/repertoire

Pour supprimer un répertoire (celui-ci doit être vide) :

adb shell rmdir /storage/sdcard0/repertoire

Vous pouvez aussi utiliser adb pour toutes vos manipulations de fichier, comme si vous étiez sous linux, avec les commandes adb shell cp (copie), adb shell mv (déplacement), adb shell rm (suppression), etc.

2. Utiliser QtADB

QtADB est un utilitaire basé sur adb vu précédemment, mais en mode graphique.

Nécessite le root + busybox installés sur le téléphone, ainsi que les librairies Qt 4.7 sur le PC, ainsi que les exécutables adb et aapt (voir 1.)

Pour l'installer, soit il est dispo sur vos dépôts (il est sur AUR sous Archlinux), soit récupérer les binaires sur le site officiel : http://qtadb.wordpress.com/ , section Downloads, tout est dispo, Linux, Mac mais aussi Windows.

Récupérer les binaires correspondant à votre système, décompressez l'archive, rendez le programme exécutable (chmod +x) et lancez-le.

QtADB vous permet de faire du transfert / organisation de fichiers, de consulter les infos du téléphone, de faire des screens, ainsi que d'autres choses que je vous laisse découvrir.

Note : Sur ma distribution (Archlinux 64bits), il m'a été impossible d'accéder à la fonction Apps (sauf apps système), ni à la gestion des SMS, qui nécessite l'installation d'un .apk sur le téléphone, mais qui a refusé de fonctionner sur ma distrib.

Quelques screens :

147f09938964c7e49f2e7724267958d34d845d81.png 646a1b2f8c511fc3eee844027495bf57f41c734b.png 18289f401a41b41c994591bc469b92960e24a54b.png

29f9bae0a98acdce13d464b69fd637db3ba6aa8e.png 8923d1eafc3a9d57f9674731a7b8dadf3b166bc5.png 9333501daf898a26ed833ccf619e31dcdd38b554.png

3. Utiliser le protocole MTP

Grace au protocole MTP, il est en théorie très facile de monter et démonter la carte SD interne afin de copier des données vers ou à partir de votre PC. Il s'agit d'une option qui vous permettra d'utiliser Nautilus (ou tout autre explorateur de fichier, comme Dolphin sous KDE) afin de copier des fichiers vers ou à partir de votre Nexus 4. le tuto devrait fonctionner pour tous les systèmes Linux (testé par moi-même sous Archlinux). En outre, cela devrait aussi fonctionner pour Nexus 7 et 10.

1. Activer les options développeur et activer le débogage USB sur le téléphone

2. Installer les modules nécessaire sur votre PC :

Avec Archlinux :

sudo pacman -S libmtp mtpfs

Avec Ubuntu :

sudo apt-get install mtp-tools mtpfs

3. Configurer le 51-android.rules : (remplacer gedit par votre éditeur de texte préféré, perso c'est vim)

sudo gedit /etc/udev/rules.d/51-android.rules

copier ce qui suit à la fin du fichier (si le fichier est vide, copier simplement le texte dedans):

#LG - Nexus 4
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"
#Samsung - Nexus 7 & 10
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"

Sauvegarder et quitter.

4. Rendez le fichier exécutable :

sudo chmod +x /etc/udev/rules.d/51-android.rules

5. Redémarrer udev (optionnel sous Archlinux, c'est automatique avec systemd) :

sudo service udev restart

6. Creer le point de montage et affecter les permissions (à reproduire aussi pour les Nexus 7 et 10 si vous en avez)

sudo mkdir /media/nexus4
chmod 755 /media/nexus4

7. Brancher le Nexus 4 et s'assurer qu'il est en mode MTP

8. Mounter la partition avec la commande suivante :

sudo mtpfs -o allow_other /media/nexus4

9. Quand vous avez terminé ce que vous vouliez faire, il est obligatoire de démonter la partition :

sudo umount /media/nexus4

Maintenant à chaque fois que vous voudrez copier depuis / vers votre Nexus 4 sur votre PC, vous devrez le brancher puis répéter le 8, puis le 9 une fois fini.

Afin de ne pas avoir à se souvenir des commande de montage / démontage, vous pouvez créer des alias. Ajouter à votre fichier .bashrc (normalement dans votre ~/) :

# Montage Nexus 4
alias nexusM='sudo mtpfs -o allow_other /media/nexus4'
# Demontage Nexus 4
alias nexusD='sudo umount /media/nexus4'

Une fois le Nexus 4 branché, vous n'aurez qu'à taper nexusM pour monter le point de montage, ou nexusD pour le démonter ;)

Source : http://forum.xda-developers.com/showthread.php?t=2004182

Par contre, après tests, cette méthode s'est avérée assez instable sur mon poste, les transferts n'allant pas toujours jusqu'au bout, et j'étais souvent obligé de déconnecter le Nexus pour relancer la connexion.

4. Conclusion

Il s'agit juste d'un retour de ma propre expérience en la matière (perso j'utilise QtADB qui est très bien et stable, après avoir tenté le MTP sans trop de succès), mais si vous avez d'autres méthodes, n'hésitez pas à m'en informer, je les rajouterai ;)

Note : Les partie 1 et 2 fonctionnent très bien également sous Windows / Mac, pour peu que le PC/Mac soit configuré correctement (pilotes, SDK, adb, etc.).

Edited by Minux
  • Like 2
Link to comment
Share on other sites

Merci de l'info ! :)

QtADB fonctionne parfaitement avec ma distro ubuntu 12.04 et mon Galaxy Note ou ma Touchpad

Pour plus de visibilité, je propose de déplacer vers une section plus générale. C'est parce que ton tuto est tout neuf que je l'ai débusqué ! :ph34r:

Edited by baastien
Link to comment
Share on other sites

  • 3 weeks later...

Et bien je ne vois pas le soucis ?

Et bien explique moi comment tu fais si t'as pas de wifi sur ta machine ...
Link to comment
Share on other sites

  • 1 month later...

je testerai qtadb ce soir ou ce week end ^^ sur archlinux et KDE (habitué a qt ça devrais me plaire ;) )

Je l'utilise quelque soit l'environnement (sous XFCE par exemple), et ça fonctionne très bien ;)
Link to comment
Share on other sites

Je l'utilise quelque soit l'environnement (sous XFCE par exemple), et ça fonctionne très bien ;)[/size]

je sais que qt tourne sur tout ^^ juste que kde et qt c'est la duo gagnant ^^

bon et bien sinon il faut que j'étudie comment rooter le nexus 4 car qtadb en a besoin ^^ ...Demain ;) ou ce WE

Link to comment
Share on other sites

Salut,

en fait, le protocole mtp fonctionne très bien sous linux, mais l'outil mtpfs ainsi que les vieilles méthodes pour accéder à son téléphone sont « peu fiables et buggés » (c'est d'ailleurs celle donnée dans ce tuto).

C'est pas moi qui le dit, c'est un employé de google: http://blog.itsbilal...e-reliable-way/

Hé c'est là qu'arrive go-mtpfs, et c'est juste le paradis. Stable, pratique, convivial... enfin pour ceux comme moi qui aime la ligne de commande et ont toujours un terminal ouvert. Vous pourrez ainsi utiliser les commandes traditionnelles pour manipuler vos fichiers entre votre pc et votre Nexus 4 (parce que adb... mouais bon hein quoi...)

Vous pouvez le compiler vous même, si vous avez le compilateur go d'installé (ou bien alors, compiler le compilateur go pour compiler go-mtpfs... oui, je sais... :) )

Ou bien récupérer les binaires x86/x64 ici: http://hanwen.home.x...tware/go-mtpfs/

Sources du projet: https://github.com/hanwen/go-mtpfs ainsi qu'un tuto pour s'en servir/compiler/... que je ne paraphraserai pas ici.

Korben qui en parle aussi, en français dans le texte: http://korben.info/i...4-0-ubuntu.html

Voilà, à vos terminaux.

Edited by bobby6killer
Link to comment
Share on other sites

Super, merci pour l'info, je teste ça et je rajoute les infos au tuto quand j'aurai testé et utilisé cet utilitaire :)

Après un rapide test, je confirme, le MTP n'est pas stable, même avec go-mtpfs (tout du moins sur mon laptop et ma distribution, Archlinux x86_64), j'ai le même genre d'erreur qu'avec mtpfs, c'est inutilisable ...

Après d'autres auront peut-être des retours plus positifs sur go-mtpfs ;)

Et en plus, je préfère QtAdb, qui me permet d'avoir accès à mes fichiers, même si je suis en tether usb, ce qui m'arrive souvent ;)

Link to comment
Share on other sites

  • 2 weeks later...
  • 6 months later...

Bon, quant à moi, et pour rejoindre cette conversation un peu tard, je confirme que airdroid, c'est juste le pied. Quelle que soit la distribution, il suffit d'un navigateur, et d'y déposer délicatement l'adresse 192.168... et tout est accessible, y comprois les sms... J'ai fouillé sur le net pour avoir quelque chose de compliqué, et finalement...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...