f-viktor@github.io%

Remote control for iOS devices from a Linux desktop

Aka scrcpy but for iOS and from Linux.

Since “Apple is the only platform compatible with everything” controlling it from linux can be quite a challenge. Thanks to some new projects, it is now possible. By combining xdotool, UxPlay and zxtouch you can view and control your Jailbroken iOS device from a Linux desktop over the network.

zxtouch

This is responsible for simulating touch events on the device based on network calls. You can install this from cydia by adding the repo:
https://zxtouch.net
And then installing the zxtouch app
It will start listening on port :6000 after installation.

UxPlay

This allows you to see your device’s screen on your linux desktop via apple’s screen mirroring. Install UxPlay on your desktop. Try running it, it will throw some avahi warnings, just ignore that. Your phone will likely not see it right away or will not be able to connect to it. When this happens run:

sudo systemctl stop systemd-resolved.service
sudo systemctl restart avahi-daemon.service

honestly not sure if the first one is necessary.

scrgto

Once both of these are installed, here’s a script to connect them. You want the clicks on your UxPlay mirrored screen to be translated into API calls for zxtouch. Enter scrgto It uses xdotool to register your clicks on the window and send them to the iOS device. To use it, install python-libxdo. And then just run the script. It will first ask you to click on the window where your mirrored screen is, then if the connection is successful, any subsequent clicks are sent to the phone.