Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

This question already has an answer here:

I want to move some files from my PC to Nexus 7. The tablet is connected to my PC's USB port and it is successfully charging. Unfortunately, the PC is not detecting the devices - what I expected is to be shown the Nexus 7 tablet as external devices (like my USB flash memory).

As the tablet is connected to the my home internet network, I have checked if it will appear in the "Networks" section but it does not.

I am using Ubuntu 12.04 LTS.

Is there a easy way to connect the devices to my PC and move some information between them?

share|improve this question
    
For the record this doesn't work on Windows7 either. –  NoBugs Dec 26 '13 at 21:09
    
A lot time has been spent on reading and trying then, instead (like now) using the Ubuntu One. –  gotqn Jan 19 at 19:07
    
Sorry, that comment was meant to say that some cables will NOT work with Nexus 7, in Windows or Linux. Recent versions of Ubuntu connect to Nexus and other androids with no problems, so you can disregard my comment. –  NoBugs Jan 21 at 4:16
add comment

marked as duplicate by LiveWireBT, Warren Hill, Eric Carvalho, RolandiXor Nov 1 '13 at 23:01

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

7 Answers

up vote 33 down vote accepted

You have to follow a below procedure to share contents between Ubuntu to Nexus 7.

Install the necessary tools using terminal.

sudo apt-get install mtp-tools mtpfs 

Connect your Galaxy Nexus to your computer. On your phone, open up the notification drawer, and click on “USB Connection type”. Make sure that MTP is selected.

Type these commands in terminal:

mtp-detect | grep idVendor
mtp-detect | grep idProduct

The output of these commands should give you idVendor and idProduct. Note down the values given, as you'll need them later.

Run this command in terminal:

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

A Gedit window should open. Simply Copy and paste below line.

SUBSYSTEM=="usb", ATTR{idVendor}=="VENDORID", ATTR{idProduct}=="PRODUCTID", MODE="0666"

Replace VENDORID and PRODUCTID with the idVendor and idProduct you had noted down earlier in Gedit.

Save and close the file. Then, disconnect your phone and run these commands:

sudo service udev restart
sudo mkdir /media/GalaxyNexus
sudo chmod a+rwx /media/GalaxyNexus
sudo adduser YOURUSERNAME fuse

Replace YOURUSERNAME with your Ubuntu user name. Now, run this command:

gksu gedit /etc/fuse.conf

In the Gedit window, remove the # at the beginning of the last line.

You’re almost done! Now, restart your computer, and then run these three commands:

echo "alias android-connect=\"mtpfs -o allow_other /media/GalaxyNexus\"" >> ~/.bashrc
echo "alias android-disconnect=\"fusermount -u /media/GalaxyNexus\"" >> ~/.bashrc
source ~/.bashrc

Again, do re-type the quotes in each command after you’ve copied, otherwise the command won’t work.

Connect your phone again, and then make sure your phone is using MTP, then run this command:

android-connect

You will able to connect the Nexus 7 your to your Ubuntu computer.

share|improve this answer
1  
This works perfectly, although when I add the last three commands with new quotes as you said, the source ~/.bashrc prompt me that there is no such aliases. –  gotqn Oct 30 '12 at 22:11
2  
It works but data transfer is very slow. It also takes quite long (1 min) till Nexus device gets mounted. Is it a problem of my configuration or it's a general issue with mtp on Nexus ? –  tommyk Nov 4 '12 at 12:28
    
@tommyk I think this depends by your computer configuration - I have transfer a HD film larger then 3 GB for about a minute. –  gotqn Dec 13 '12 at 10:28
1  
I recommend changing out of both echo to echo [...] >> ~/.bash_aliases and for grant final accordingly source ~/.bash_aliases as a comment in bashrcstates: "You may want to put all your additions into a separate file like ~/.bash_aliases, instead of adding them here directly." –  yoshi Jan 5 '13 at 2:16
1  
You should use 12.04 LTS version. It's very stable. –  K.K Patel Apr 22 '13 at 3:26
show 4 more comments

I have found that the easiest way to transfer files is using the app called AirDroid. You'll need your laptop & the android device to be connected to the same network though.

Steps

  1. Install airdroid on Android device

  2. launch the app , if the Android device and laptop on same network it will automatiocally
    detect the computer IP and ask to Enter the generated pin on Android device on computer web address which is http://web.airdroid.com/

  3. Paste data on your computer on a particular folder say Download in this case
  4. On Android device access your folder via shown second tab named Tools
share|improve this answer
2  
Could you provide more information or few links with installation details or app information? –  gotqn Nov 4 '12 at 21:30
    
How is it better than syncing files with Ubuntu One? –  NoBugs Dec 26 '13 at 21:14
add comment

You can simply switch the Nexus 7 into Camera (PTP) mode under Storage / USB Connection.

share|improve this answer
    
Good idea, but doesn't work... Windows or Linux. –  NoBugs Dec 26 '13 at 21:12
add comment

For my personal use, I've used instructions similar to those that @K.K Patel provided in their answer.

However, some users either do not want to, or are uncomfortable with using the command line. For them, I recommend using AirDroid.

This solution does not require any configuration on the Ubuntu systems.

All that is needed is an application installed on the Android phone, a shared wireless connection between the phone and Ubuntu system, and a web browser on the machine running Ubuntu.

On the Android phone, follow these steps:

  1. Go to this link: https://play.google.com/store/apps/details?id=com.sand.airdroid&hl=en

    or:

    • Start the Google Play application
    • Search for AirDroid
  2. Install the AirDroid application
  3. Start the AirDroid application on the phone The AirDroid application will provide a URL to connect to as well as a QR confirmation code. Make note of these two bits of information.

On the Ubuntu system, follow these steps:

  1. Start a web browser.
  2. Enter URL provided by AirDroid from the phone (i.e. 198.168.1.4:9100(substitute the actual IP address and port number here))
  3. The user will be prompted for a login. Use the QR code provided by the phone. You can also choose to connect via https for a more secure connection.

After logging in, a 'desktop' will be presented, through the web browser, to communicate with your Android phone:

This provides a simple method of transferring files, photos, updating contacts, etc. between the Android phone and Ubuntu system.

share|improve this answer
add comment

You want to install gvfs-mtp because this is the absolute easiest and most comfortable way.

sudo add-apt-repository ppa:langdalepl/gvfs-mtp

sudo apt-get update && sudo apt-get dist-upgrade

sudo reboot

Have fun.

share|improve this answer
    
Use upgrade instead of dist-upgrade, less side-effects. –  Karel Bílek Jul 26 '13 at 4:40
    
From the ppa page: "13.10 (Saucy) and newer versions of Ubuntu contain all of these changes, so you don't need to use this ppa any more." –  NoBugs Dec 26 '13 at 21:13
add comment

gMtp is an mtp based application provides a gui interface to connect with the device.

All that is needed is to intall libusb-dev, mtp libraries and gmtp. This link provides information about this

http://www.humans-enabled.com/2011/12/how-to-fix-samsung-galaxy-nexus-mtp.html

You don't even need to compile libmtp from source as discussed in the write-up. I used synaptic and selected all the required packages and got the whole thing running instantly.

This might be easier if one doesn't want to go and mess with udev scripts.

share|improve this answer
add comment

After struggling with this for a while, and finding all the above solutions failing (mtpfs had errors, gmtp crashes and is really slow, airdroid also slow) this worked great:

https://github.com/hanwen/go-mtpfs

share|improve this answer
2  
Welcome to Ask Ubuntu! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  Seth Jan 11 '13 at 1:00
add comment

protected by Community Jan 26 '13 at 7:10

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.