I have an iPhone SE that I also use to take pictures. These pictures should also be accessible on my laptop running Ubuntu 18.04 LTS, since I want to store them on a portable hard drive disk or I want to use them on my laptop for specific experiments. Unfortunately, accessing photos from an iPhone on Ubuntu does not work out of the box. However, I found this great tutorial written by Ben Stockton that describes how you still can access iPhone photos on Ubuntu. In the following I will explain each step and the experience I made. If you rather want to follow the original tutorial, you can find it here.

First of all, we need to install the libimobiledevice library. This library makes it possible that our iPhone gets recognized by Ubuntu.

sudo apt install libimobiledevice6 libimobiledevice-utils

Now you can connect the iPhone with your laptop using a USB cable. For some reason it was also important to unlock my phone after I plugged in the USB cable. However, then only something called iPhone Documents got mounted. I'm not sure what that is, but it doesn't give me access to the photos. Thus, I needed to paired my iPhone with my laptop using the following command.

idevicepair pair

This actually gave me an error.

ERROR: Could not validate with device **** 
because a passcode is set. Please enter the passcode on the device and retry.

The error tells us to allow the connection between the iPhone and Ubuntu first. To do this, we need to take our iPhone, which should display now whether we trust the connection request. We need to confirm this on the iPhone and type in our password. Now, we can try to pair the phone with Ubuntu again. Therefor, we need to go back to the laptop and run idevicepair pair again. This time we should get a success response.

SUCCESS: Paired with device ****

Next, we need to allow multiple connections between the iPhone and Ubuntu. To do this we can use usbmuxd.

usbmuxd -f -v

Then, we need to install ifuse, which allows us to mount the file system of our iPhone on Ubuntu.

sudo apt-get install ifuse

Now, we can mount the iPhone. To do this we need to specify where it should be mounted on our laptop. I created a new directory that I simply called iphone for this.

sudo mkdir /media/iphone

Then, we can mount the iPhone with ifuse.

sudo ifuse /media/iphone

Now, we should be able to access the files on the iPhone. We can take a look with the ls command.

sudo ls /media/iphone

It should list several folders. One of these folders should be called DCIM. This is the folder where our photos are stored. So, let's take a look into that folder using ls.

sudo ls /media/iphone/DCIM

We should see a list of several folders named ***APPLE (e.g. 100APPLE). Each of these folders contains some subset of our photos.

Additionally, if you also want to view your photos through a GUI-based program, you can use shotwell for instance. It should be pre-installed on Ubuntu. If it is not, then you can install it using the following command.

sudo apt-get install shotwell

Then, we can start shotwell over the terminal using sudo.

sudo shotwell

It was necessary to start shotwell this way, because starting it without sudo rights it didn't work for me to access the iPhone. shotwell should display our mounted iphone folder. When we click on it, it should automatically import the photos. If this doesn't happen, when can go to File and then Import from Folder in shotwell to important them manually.

When we are finished accessing our photos, we need to unmount the iPhone again before we disconnect it from the laptop. Ben Stockton describes in his tutorial that we can unmount using the command ifuse -u /media/iphone. However, this didn't work for me. I simply used the following.

sudo umount /media/iphone

Additionally, we might also unmount the iPhone Documents drive manually over Nautilus. Then, we can unplug our iPhone from our laptop and we are done!