2

I shot a cool video on my iPhone and I want to put it on my Ubuntu laptop to edit. So I plug it in with a USB cable, and I see the iPhone icon on my desktop. I open the DCIM folder in Thunar and I click and drag the .MOV file over to my Desktop and I get the "File Operation Progress, Copying Files..." window I expect to see, but hangs for a while and then it gives me a new window:

Error getting file
-7: I/O Problem
Do you want to skip it?

Retry / Yes To All / Yes / Cancel

I tried to copy over a JPG and a much smaller .MOV file and it worked. How can I get this larger video onto my Ubuntu?

(I am running Ubuntu 19.10, years Ubuntu Studio. Everything in apt is up to date.)

Here's a dmesg:

[   51.417533] usb 1-2: new high-speed USB device number 4 using xhci_hcd
[   51.431723] usb 1-2: New USB device found, idVendor=05ac, idProduct=12a8, bcdDevice=11.08
[   51.431729] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   51.431733] usb 1-2: Product: iPhone
[   51.431737] usb 1-2: Manufacturer: Apple Inc.
[   51.431740] usb 1-2: SerialNumber: 00008020001D199C0EC1002E
[   51.668187] ipheth 1-2:4.2: Apple iPhone USB Ethernet device attached
[   51.668334] usbcore: registered new interface driver ipheth
[   51.692586] ipheth 1-2:4.2 enp0s21f0u2c4i2: renamed from eth0
[   55.193312] kauditd_printk_skb: 5 callbacks suppressed
[   55.193317] audit: type=1400 audit(1585582427.982:71): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/snap/core/8935/usr/lib/snapd/snap-confine" pid=2236 comm="apparmor_parser"
[   55.196580] audit: type=1400 audit(1585582427.986:72): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/snap/core/8935/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=2236 comm="apparmor_parser"
[   55.772014] audit: type=1400 audit(1585582428.561:73): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.gimp.hook.install" pid=2244 comm="apparmor_parser"
[   55.794550] audit: type=1400 audit(1585582428.584:74): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.gimp.hook.post-refresh" pid=2245 comm="apparmor_parser"
[   56.204412] audit: type=1400 audit(1585582428.993:75): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.core.hook.configure" pid=2252 comm="apparmor_parser"
[   57.222233] audit: type=1400 audit(1585582430.011:76): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.gimp" pid=2242 comm="apparmor_parser"
[   57.597357] audit: type=1400 audit(1585582430.386:77): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.opendvdproducer.opendvdproducer" pid=2251 comm="apparmor_parser"
[   57.638088] audit: type=1400 audit(1585582430.427:78): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.picard" pid=2253 comm="apparmor_parser"
[   57.761365] audit: type=1400 audit(1585582430.550:79): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.gimp.gimp" pid=2243 comm="apparmor_parser"
[   59.023122] audit: type=1400 audit(1585582431.812:80): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.chromium" pid=2255 comm="apparmor_parser"
[   62.045912] kauditd_printk_skb: 1 callbacks suppressed
[   62.045916] audit: type=1400 audit(1585582434.835:82): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.chromium.chromedriver" pid=2256 comm="apparmor_parser"
[   62.110534] audit: type=1400 audit(1585582434.899:83): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.chromium.chromium" pid=2257 comm="apparmor_parser"
[   62.127192] audit: type=1400 audit(1585582434.916:84): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.core" pid=2280 comm="apparmor_parser"
[   62.127554] audit: type=1400 audit(1585582434.917:85): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.shotcut" pid=2281 comm="apparmor_parser"
[   62.127745] audit: type=1400 audit(1585582434.917:86): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.shotcut.ffmpeg" pid=2282 comm="apparmor_parser"
[   62.128318] audit: type=1400 audit(1585582434.917:87): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.opendvdproducer" pid=2279 comm="apparmor_parser"
[   62.131097] audit: type=1400 audit(1585582434.920:88): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.shotcut.ffplay" pid=2283 comm="apparmor_parser"
[   62.131536] audit: type=1400 audit(1585582434.921:89): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.shotcut.ffprobe" pid=2284 comm="apparmor_parser"
[   62.132769] audit: type=1400 audit(1585582434.922:90): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.shotcut.melt" pid=2285 comm="apparmor_parser"
[   62.132781] audit: type=1400 audit(1585582434.922:91): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.shotcut.qmelt" pid=2286 comm="apparmor_parser"
[   69.326711] kauditd_printk_skb: 5 callbacks suppressed
[   69.326716] audit: type=1400 audit(1585582442.116:97): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.chromium.chromium" pid=2305 comm="apparmor_parser"
[   69.769423] audit: type=1400 audit(1585582442.558:98): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.chromium.chromedriver" pid=2304 comm="apparmor_parser"
[   69.786251] audit: type=1400 audit(1585582442.575:99): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.core" pid=2310 comm="apparmor_parser"
[   69.789677] audit: type=1400 audit(1585582442.578:100): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.core.hook.configure" pid=2311 comm="apparmor_parser"
[   69.793140] audit: type=1400 audit(1585582442.582:101): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.gimp" pid=2312 comm="apparmor_parser"
[   69.797336] audit: type=1400 audit(1585582442.586:102): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.opendvdproducer" pid=2316 comm="apparmor_parser"
[   69.798235] audit: type=1400 audit(1585582442.587:103): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.gimp.hook.post-refresh" pid=2315 comm="apparmor_parser"
[   69.800822] audit: type=1400 audit(1585582442.589:104): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.gimp.gimp" pid=2313 comm="apparmor_parser"
[   69.802144] audit: type=1400 audit(1585582442.591:105): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.gimp.hook.install" pid=2314 comm="apparmor_parser"
[   69.814765] audit: type=1400 audit(1585582442.603:106): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.opendvdproducer.opendvdproducer" pid=2317 comm="apparmor_parser"
Eliah Kagan
  • 119,820

6 Answers6

6

On Ubuntu 20.04

After connecting the phone with Data cable you may get a popup saying to Trust the device.

  1. click the Trust button from popup
  2. browse the documents folder that is listed in your file browser
  3. press Control + L , this will show your device UUID with :3/ at the end
  4. edit that address the remove everything from (including) that last colon :
  5. press enter, now you should get all the directories and files listed in the file browser

Now you can transfer big files, music files, recordings etc from the respective folders.

2

I would try cloud services instead. Use e.g. Dropbox and transfer your movie file there. Then you can install Mydropbox on Ubuntu and even synchronize files from there. That worked for me on 16.04. However nowadays there are other cloud services in Ubuntu Software center.

miro5lav
  • 62
  • 1
  • 7
  • 1
    So I tried this. At this rate it will take... several days to upload from my iPhone. I think this is not the solution. – Traveler Mar 30 '20 at 16:37
  • Same for me, using lftp the connection times out. Even if it works, it seems only to offer "Local files" local to the app (EF File Explorer), not local to the phone (with camera and DCIM) – Tankman六四 Apr 25 '20 at 06:12
1

You can also use FTP to transfer the videos. I've successfully File Explorer on my iPhone with Filezilla on Ubuntu.

Nicled
  • 327
  • Interesting idea. I just tried to browse the iphone via ftp in thunar and I got:

    Failed to open "File System" Unexpected end of stream.

    – Traveler Mar 30 '20 at 16:35
1

This has happened to me in the past and when I tried a different cable it worked for me. So it might be a faulty cable.

1

This killed me too. The most likely cause is the the iPhone has saved the data in HEIC format: Settings > Camera > Formats > High Efficiency AND the album setting is: Settings > Photos > Automatic This causes the iPhone to save the pictures in HEIC format and present them as JPG files in the album view, ie what is seen in the DCIM folder. When this conversion fails this error is shown.

You can change the Camera setting from 'High Efficiency' to 'Most Compatible' for future pictures and the JPG view should work from then on - it will not resave the images so the conversion error will occur.

The only way I can see out of this is to copy the files in their original format by changing the Photos setting from 'Automatic' to 'Keep Originals' and copy them as .HEIC files and convert them using an external tool (suggestions welcome!).

I've left my camera settings at 'Most Compatible' but that will not change 4K videos etc, so it depends on your use case.

Hope this helps. -Chris

  • +10 that's it. The "Keep Originals" is the key. Thank you for taking the time to write this, it was driving me crazy and nobody else thought of writing this!!! – Davide Apr 11 '24 at 12:23
1

As of 2022, on Ubuntu 18.04 (sorry I'm behind the times), the following utility got things working :

apt-get install libimobiledevice-utils

Now, after connecting my iPhone (running iOS 15.6.1) and unlocking the device and selecting "Trust". I can transfer files from the device without running into the I/O Problem and other related errors