Files
StefanandClaude Opus 5 3c41623e52 install-scrcpy.sh statt apt — in Debian 12 gibt es das Paket nicht
Meine Anweisung 'sudo apt install scrcpy' war falsch: scrcpy ist in bookworm gar
nicht enthalten, und wo es existiert (ab trixie-backports) liegt es in contrib
statt main. 'Paket kann nicht gefunden werden' war also die richtige Antwort des
Systems, kein Konfigurationsfehler.

Das Projekt liefert ein eigenständiges Linux-Paket. Gegen das System geprüft:
keine fehlenden Bibliotheken, läuft ohne root. Installiert wird nach ~/.local,
Rückbau mit --deinstallieren.

Wichtiger Teil ist der erzeugte Starter: das Paket bringt ein eigenes adb mit,
hier 37.0.0 gegen 36.0.0 im System. Trifft ein abweichendes adb auf einen
laufenden Server, beendet es ihn — und kappt damit mitten in der Arbeit die
WLAN-Verbindung zum Telefon. Der Starter schiebt scrcpy deshalb dasselbe adb
unter, das auch die Provisioning-Skripte benutzen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 21:33:10 +02:00

4.0 KiB

Am Projekt arbeiten

Die Bildschirmtastatur eines Telefons ist zum Entwickeln unbrauchbar. Zwei Werkzeuge lösen das, und sie ergänzen sich: SSH für alles Textliche, scrcpy für alles, was man sehen muss.

SSH nach Termux — für Terminalarbeit

Der wichtigere der beiden Wege. Echte Tastatur, Zwischenablage, Verlauf, Rollbalken.

# Einmalig auf dem PC (provision.sh bietet es von selbst an)
adb push ~/.ssh/id_ed25519.pub /sdcard/hpos-id.pub

# Auf dem Telefon
bash ~/hpos/tools/dev-ssh.sh

# Danach vom PC
ssh -p 8022 <benutzer>@<telefon-ip>

Port 8022 statt 22, weil eine gewöhnliche App keine Ports unter 1024 belegen darf.

Dateien im Editor des Rechners bearbeiten — kein Hin- und Herkopieren:

mkdir -p ~/telefon
sshfs -p 8022 <benutzer>@<ip>:/data/data/com.termux/files/home ~/telefon
# lösen mit:  fusermount3 -u ~/telefon

sshd überlebt keinen Neustart von Termux. Danach genügt sshd in Termux. In fremden Netzen abschalten: pkill sshd — der Dienst ist im ganzen WLAN erreichbar.

scrcpy — Bildschirm und Zwischenablage

Für alles Grafische unverzichtbar: Beweis S1 zeigt sich nur auf dem Bildschirm, und die Kamera in S3 prüft man in einem Browserfenster.

./tools/install-scrcpy.sh   # holt das offizielle Linux-Paket nach ~/.local
scrcpy                      # nutzt die bestehende adb-Verbindung, auch über WLAN

apt install scrcpy funktioniert auf Debian 12 nicht — dort ist das Paket gar nicht enthalten, und ab trixie-backports liegt es in contrib statt main. Das Projekt liefert aber ein eigenständiges Linux-Paket ohne Systemabhängigkeiten, und genau das holt das Skript. Kein root, alles unter ~/.local, Rückbau mit --deinstallieren.

Das Skript legt dabei einen Starter an, der scrcpy dasselbe adb unterschiebt, das auch die Provisioning-Skripte benutzen. Das ist kein Schönheitsfehler: das Paket bringt eine eigene, oft neuere adb-Fassung mit, und ein abweichendes adb beendet einen laufenden Server — was mitten in der Arbeit die WLAN-Verbindung zum Telefon kappen würde.

Was es mitbringt, ohne weitere Einrichtung:

  • Zwischenablage in beide Richtungen. Auf dem Telefon kopieren, auf dem PC einfügen und umgekehrt.
  • Tastatur und Maus des Rechners wirken direkt im Telefon — auch in Termux.
  • Läuft über dieselbe WLAN-Verbindung, die schon steht.

Nützliche Schalter:

Schalter Wofür
--max-size 1024 weniger Bandbreite, flüssiger über WLAN
--stay-awake Bildschirm bleibt an, solange gespiegelt wird
--turn-screen-off Telefonbildschirm aus, spart Akku beim langen Arbeiten
--no-audio falls die Tonübertragung stört

scrcpy --new-display kann eine App in ein eigenes virtuelles Display legen. Als Entwicklerwerkzeug ist das nützlich — als Produktbestandteil wurde es verworfen, weil es dauerhaft Shell-Rechte bräuchte.

Der Weg der Änderungen

PC (Arbeitskopie)  --git push-->  Forge  --git pull-->  Telefon (~/hpos)

Auf dem Telefon wird nicht entwickelt, dort wird ausgeführt. Änderungen entstehen auf dem Rechner, werden gepusht und mit cd ~/hpos && git pull geholt. Deshalb kommt per adb auch nur das Startskript aufs Gerät und nicht das Repo — sonst wäre es eine Kopie statt einer Arbeitskopie.

Ergebnisse laufen in die Gegenrichtung: spike/out/ bleibt lokal auf dem Telefon (bewusst nicht im Repo), die Auswertung wandert von Hand nach spike-protokoll.md.

Kleinigkeiten, die Zeit sparen

  • Protokolle direkt vom Telefon holen, ohne SSH: adb shell run-as com.termux cat … scheitert meist an fehlender Debuggability. Einfacher ist der Umweg über die gemeinsame Ablage: cp ~/hpos/spike/out/*.log /sdcard/ und dann adb pull /sdcard/…
  • Termux offen halten: Ein Wisch aus den zuletzt verwendeten Apps beendet den gesamten Stack. Im Task-Manager anpinnen.
  • Mehrere Sitzungen in Termux mit Ctrl+Alt+C — praktisch, um neben einem laufenden Desktop noch ein Terminal zu haben.