iPhone Screenshots on Linux, on a Stream Deck Button
How I screenshot my iPhone straight to the Linux clipboard with one Stream Deck button — iOS 17+ needs pymobiledevice3 and a root tunnel, not the classic idevicescreenshot. No...

I already have Stream Deck buttons that grab a screenshot from each of my phones straight into the clipboard, with a little ding when it’s ready (that story is here). Android was easy — one adb command. The iPhone was the interesting one, so here’s the short version for anyone trying to screenshot an iPhone from Linux.
Why it’s not just “idevicescreenshot”
libimobiledevice ships idevicescreenshot, and on older iOS that’s all you need. On iOS 17+ (mine is on 26) it just fails:
Could not start screenshotr service: Invalid service
Remember that you have to mount the Developer disk image ...
Two things changed on modern iOS: you need Developer Mode enabled and the Developer Disk Image mounted, and the developer services now live behind a RemoteServiceDiscovery tunnel instead of the old lockdown service. The classic tool doesn’t speak that.
What actually works
pymobiledevice3 speaks the new protocol. With Developer Mode on and the DDI mounted, the only missing piece is the tunnel — a small daemon that has to run as root. So I made it a systemd service (always on, like usbmuxd), which means I authenticate once and never again. The button itself runs as my user and just connects to it:
# tunneld runs as root (systemd service), once.
# the button runs as you, passwordless:
pymobiledevice3 developer dvt screenshot out.png
That writes a PNG; the button pipes it into the clipboard with xclip and plays the same ding as the others. No Mac, no Xcode, no password per screenshot.
The one gotcha (a familiar one)
If the iPhone is locked, you get a flawless screenshot of a perfectly black screen — exactly the same lesson the Pixel Fold taught me with its powered-off cover display: capture only works on a screen that’s actually awake. Unlock first, then press.
End result: four buttons on the Stream Deck — Samsung, Pixel, Pixel Fold, and now iPhone — each one screenshot-to-clipboard with a ding. Cross-platform UI comparisons are now one keypress away.