Am 28. September 2024 stehe ich zusammen mit Lioh seit Langem wieder auf der Bühne. Beim Datenschutzfestival Hack the Promise in Basel sprechen wir darüber, wie man sein Smartphone befreien kann. Für den Vortrag/Workshop ist es wichtig, den Zuschauenden zeigen zu können, was auf dem Telefon abgeht. Dafür gibt es das Werkzeug SCRCPY.
Obwohl Joël vor vier Jahren und ich im letzten Jahr darüber geschrieben haben, dachte ich mir, dass ein aktueller und ausführlicher Artikel nicht schaden kann. Welche Gründe gibt es, weshalb man den Bildschirm des Smartphones auf den PC spiegeln möchte?
SCRCPY (oder Screen Copy) ist eine FOSSS-Anwendung, mit der man sein Android-Gerät vom Computer aus anzeigen und steuern kann. Es verwendet eine ADB-Verbindung über USB und benötigt keine gerooteten Geräte. Was macht SCRCPY also so besonders?
Erstens hat SCRCPY eine sehr geringe Latenzzeit. Das bedeutet, dass es nur eine geringe oder gar keine Verzögerung zwischen dem Gerät und dem Computer gibt. Dies ist wichtig für Nutzer, die ihr Gerät für Spiele oder andere Aktivitäten nutzen wollen, die schnelle Reaktionszeiten erfordern.
Zweitens ist SCRCPY in hohem Maße konfigurierbar. Das bedeutet, dass die Nutzer das Tool nach ihren Wünschen anpassen können. Zum Beispiel können die Benutzer die Auflösung, die Bitrate und die fps des Tools ändern.
Drittens ist SCRCPY einfach zu bedienen.
Diese Anwendungsfälle fallen mir ein:
- Zeigen des Telefon-Screens bei Präsentationen
- Bedienung des Smartphones vom PC mit Tastatur und Maus
- Gaming
- Screenshots erstellen
- Fernwartung von Android-Geräten
- Audio-Weiterleitung auf den PC
Installation
Das Werkzeug SCRCPY befindet sich in den Repositories eurer Distributionen und lässt sich wie gewohnt installieren. Auf dem Telefon muss nichts installiert werden; allerdings müssen erweiterte Rechte eingerichtet werden. Zunächst könnt ihr überprüfen, ob euer Telefon als Laufwerk eingehängt wird, wenn ihr es per USB-Kabel an den Rechner anschliesst. Üblicherweise sollte das der Fall sein, nicht jedoch bei meinem Fairphone 5 mit /e/OS.
Dort musste ich Folgendes machen:
- Im Systemmenü "Über das Telefon" 7-mal auf Build-Nummer drücken
- Unter System erscheint die Auswahlmöglichkeit „Entwickleroptionen“
- Scrolle herunter bis zu dem Punkt „Standard-USB-Konfiguration“
- Drücke darauf und wähle „Dateiübertragung“
- Verbinde dein Smartphone neu mit dem PC, nun sollte es als Gerät im Dateimanager angezeigt werden
Diese Einstellung ist generell sinnvoll, wenn ihr Daten zwischen Telefon und PC kopieren möchtet.
Nun müsst ihr das Debugging über USB erlauben. Auch das schaltet man in den Entwickleroptionen ein, die ihr soeben aktiviert habt. Dazu geht ihr auf System, Entwickleroptionen und schaltet dort das USB-Debugging an.
Das war es auch schon. Manche empfehlen, das Smartphone an dieser Stelle neu zu starten, damit die Änderungen wirksam werden. Ob das wirklich nötig ist, kann ich nicht beurteilen. Ich habe es gemacht.
Verwenden
Nachdem nun alle Voraussetzungen geschaffen wurden, könnt ihr SCRCPY verwenden. Dazu öffnet ihr ein Terminal und gebt dort scrcpy ein. Das sieht dann so aus:
Beim ersten Mal werdet ihr vom Smartphone um eine Bestätigung dieser Verbindung gebeten. Ich musste scrcpy erneut starten, weil ich bei der Bestätigung zu langsam war. Dann seht ihr den Telefon-Screen in voller Pracht auf eurem Desktop und könnt in mit der Maus und der Tastatur bedienen.
Falls euch die Grösse des gespiegelten Bildschirms nicht gefällt, könnt ihr z. B.: scrcpy -m 800 aufrufen, um die vertikale Grösse des Fensters auf 800 px einzustellen. SCRCPY kennt noch viele weitere Parameter, deren Erklärung den Umfang dieses Artikels sprengen würde. Schaut auf der Projektseite nach, um mehr zu erfahren.
Mich würde interessieren, ob SCRCPY bei euch auch funktioniert und welche Einsatzzwecke ihr dafür habt. Schreibt es bitte in die Kommentare.
https://github.com/Genymobile/scrcpy
https://community.e.foundation/t/usb-verbindung-scheitert-bislang/42792/8
Wir setzen scrcpy in Laborumgebung(en) ein. Entweder weil man das Laptop an dem das Endgerät angeschlossen ist remote bedient (weil man selber ganz woanders ist), oder weil das Endgerät in einer Schirmbox liegt und man es gar nicht manuell bedienen könnte. Sehr praktisch!
Wichtig ist, das man immer aktuelle Versionen benutzt, da ältere Versionen schonma inkompatible zu neueren Smartphones sein können.
Ansonsten nutze ich gerne folgende Commandline
scrcpy -m 1000 --no-audio --always-on-top --stay-awake
Ggf kann noch "--show-touches" interessant sein. Vor allem wenn man es mit --record=file.mp4 benutzt.
Welche remote control software setzt du ein?
Ich hab es mit DWService probiert. Es erfolgt zwar mouse/keyboard capture - aber Eingabe ist nicht möglich.
Nächster Schritt ist Test eines SSH-Tunnels, jedoch - trotz NAT - nach Möglichkeit ohne zusätzliche Router-Konfiguration/port forwarding.
Hmm, nur über USB, und dann muss das Telefon noch umgestellt werden. Sorry aber da bleibe ich lieber bei KDE-Connect!, da muss ich aus F-Droid nur die KDE Connect laden, und einmal die Verbindung (Über WLAN) einrichten, und kann auch alles damit in beide Richtungen machen.
Kleiner Tipp an alle Debian / Ubuntu Nutzer und Nutzerinnen. Installiert nicht die Version aus dem Repo. Diese Version ist hoffnungslos veraltet und funktioniert auch nicht mehr mit Android 14. Die im Git des Developers beschriebene Methode zur Installation und Aktualisierung von scrcpy funktioniert problemlos (habe es gerade auf Ubuntu 24.04 ausprobiert).
Ich nutze es vorwiegend privat um schnell mittles Tastatur längere Texte zu schreiben.
Hinweis zur Verwendung: Apps können die Spiegelung auf den PC verbieten, so zum Beispiel Banking Apps. In diesem Fall sieht man nur einen schwarzen Bildschirm bei scrcpy. Das ist eine Eigenschaft der APP die man meines Wissens nach nicht umgehen kann.
Vielen Dank für den Artikel! Funktioniert tadellos. Kann meinen online Musikunterricht super ergänzen.
Gerade für Handys mit kaputten Bildschirm macht das Sinn, kann man doch so das Handy wunderbar fernsteuern.
Wenn man Software entwickeln will, kann man das direkt auf dem Telefon machen, ohne "Simulator".
Oder wenn du die Bedienung deiner App aufzeichnen möchtest.