UxPlay unter Debian 13: iPhone-Bildschirm auf Linux spiegeln
Wer wie ich Linux auf dem Rechner und gleichzeitig ein iPhone verwendet, möchte vielleicht auch mal den Bildschirm des iPhones auf dem Computer anzeigen. Normalerweise denkt man bei AirPlay an einen Apple TV oder andere Geräte aus dem Apple-Umfeld.
Mit UxPlay gibt es dafür eine kostenlose Open-Source-Lösung. Das Programm verwandelt den Linux-Rechner in einen AirPlay-Empfänger. Damit lassen sich der iPhone-Bildschirm, Fotos, Videos oder Präsentationen auf dem Computer anzeigen. Auch die Übertragung von Musik einschließlich Ton ist möglich.
Ich habe UxPlay unter Debian 13 eingerichtet und dabei eine interessante Erfahrung gemacht. Die Installation war am Ende gar nicht das Problem, sondern das WLAN, in dem ich mich befand.
Was kann UxPlay?
UxPlay unterstützt die Bildschirmübertragung von iPhones, iPads und Macs. Bild und Ton werden über das lokale Netzwerk übertragen und auf dem Linux-Rechner wiedergegeben.
Neuere Versionen bieten außerdem die Möglichkeit, Übertragungen als MP4 aufzuzeichnen oder Bild- und Tonsignale an Programme wie OBS Studio weiterzugeben.
Bei kopiergeschützten Streaminginhalten gibt es Einschränkungen. Auch eine Fernsteuerung des iPhones über den Linux-Rechner ist damit nicht möglich.
UxPlay unter Debian 13 installieren
Die Installation ist grundsätzlich einfach:
sudo apt install uxplayAllerdings war in meinen Debian-13-Paketquellen noch Version 1.71.1 enthalten. Wer neuere Funktionen wie die Bluetooth-Geräteerkennung nutzen möchte, benötigt mindestens Version 1.73.
Ich habe deshalb UxPlay 1.73.7 direkt von GitHub installiert.
Zunächst die alte Version entfernen und alle benötigten Abhängigkeiten installieren:
sudo apt update
sudo apt remove -y uxplay
sudo apt install -y \
git cmake build-essential pkg-config \
libssl-dev libplist-dev libavahi-compat-libdnssd-dev \
libdbus-1-dev libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev libx11-dev \
gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad gstreamer1.0-libav \
gstreamer1.0-gl gstreamer1.0-x \
avahi-daemonAnschließend den Quellcode herunterladen und kompilieren:
cd ~
git clone https://github.com/FDH2/UxPlay.git
cd UxPlay
git checkout v1.73.7
cmake -S . -B build
cmake --build build -j"$(nproc)"
sudo cmake --install buildDie neue Version liegt anschließend normalerweise unter /usr/local/bin/uxplay. Da sie selbst kompiliert wurde, muss man sich auch selbst um zukünftige Updates kümmern.
iPhone mit Linux verbinden
Zunächst sicherstellen, dass Avahi läuft:
sudo systemctl enable --now avahi-daemonDanach UxPlay starten:
uxplay -n "Debian Laptop"Auf dem iPhone öffnet man das Kontrollzentrum und wählt Bildschirmsynchronisierung. Dort sollte der Linux-Rechner erscheinen.
Nach dem Auswählen wird der iPhone-Bildschirm auf dem Desktop angezeigt. Eine zusätzliche App auf dem iPhone ist dafür nicht notwendig.

Und was ist mit Bluetooth?
Seit UxPlay 1.73 wird auch Bluetooth Low Energy unterstützt. Darüber kann der Linux-Rechner als AirPlay-Empfänger angekündigt werden.
Allerdings sollte man eines wissen: Bluetooth dient ausschließlich der Geräteerkennung. Bild und Ton werden weiterhin über das Netzwerk übertragen.
Das bedeutet auch, dass Bluetooth keine direkte Netzwerkverbindung zwischen iPhone und Linux-Rechner ersetzen kann.
Für die zusätzliche Bluetooth-Erkennung benötigt man BlueZ, passende Python-Bibliotheken und das mitgelieferte Skript uxplay-beacon.py. Die Einrichtung ist in der Projektdokumentation beschrieben.
Für die normale Bildschirmspiegelung ist Bluetooth überhaupt nicht erforderlich.
Warum mein iPhone den Rechner zunächst nicht gefunden hat
Obwohl UxPlay korrekt lief und der AirPlay-Dienst im Netzwerk angekündigt wurde, erschien mein Laptop zunächst nicht auf dem iPhone.
Nach einigen Tests stellte sich heraus, dass die Geräte im verwendeten WLAN offenbar nicht direkt miteinander kommunizieren durften.
Das nennt sich Client-Isolation und ist besonders in öffentlichen WLAN-Netzwerken verbreitet. Damit wird verhindert, dass Nutzer auf die Geräte anderer WLAN-Teilnehmer zugreifen können.
Eine durchaus sinnvolle Sicherheitsfunktion, die allerdings Anwendungen wie AirPlay Probleme bereitet.
Beide Geräte hatten zwar eine IP-Adresse aus demselben Netzwerk, konnten sich aber gegenseitig nicht erreichen. Auch die Bluetooth-Geräteerkennung änderte daran nichts.
Die Lösung war schließlich ziemlich einfach: Ich habe ein eigenes privates WLAN verwendet, in dem sich iPhone und Linux-Rechner direkt erreichen konnten.
Und schon funktionierte die Bildschirmübertragung.
Wer sich in einem öffentlichen WLAN mit Client-Isolation befindet, kann alternativ einen eigenen WLAN-Router verwenden oder einen persönlichen Hotspot des iPhones ausprobieren. Letzteres hängt allerdings von der jeweiligen Hotspot-Konfiguration ab und funktioniert nicht in jeder Konstellation.
Mein Fazit
UxPlay ist eine praktische Open-Source-Lösung, um den iPhone-Bildschirm ohne Apple TV auf einem Linux-Rechner anzuzeigen.
Die Installation unter Debian 13 ist mit den passenden Abhängigkeiten überschaubar. Wer die neueren Funktionen nutzen möchte, sollte allerdings auf eine aktuelle Version achten.
Was ich bei meiner Einrichtung gelernt habe: Wenn AirPlay nicht funktioniert, muss es nicht an UxPlay liegen. Manchmal verhindert schlicht das WLAN die Verbindung.
Und ganz wichtig: Bluetooth kann bei UxPlay die Geräteerkennung übernehmen, für die eigentliche Bildschirmübertragung bleibt eine funktionierende Netzwerkverbindung notwendig.
Projekt: https://github.com/FDH2/UxPlay
Release 1.73.7: https://github.com/FDH2/UxPlay/releases/tag/v1.73.7

Gedanken dazu 0 Kommentare
Noch ist es ruhig hier. Dein Gedanke könnte der erste sein.
Du kannst den Link auch in der Suche deiner eigenen Instanz öffnen. Öffentliche Antworten und bei Sharkey auch Home-Antworten können hier als Kommentare erscheinen. Antworten anderer Personen erscheinen nach Freigabe, deine eigenen direkt nach dem Abruf. Antworten nur für Follower werden nicht übernommen.
Was denkst du dazu?
Dein Kommentar erscheint nach der Freigabe.