Es gibt viele Lösungen, um lokal am Smartphone Dokumente zu scannen. Mein Ziel ist aber eine Steuerung vom Linux-PC aus, um die Dokumente dann direkt in Paperworks zu importieren.
Folgende Möglichkeiten habe ich näher untersucht:
- kdeconnect
- IP Webcam
- Droidcam
- Scrcpy
- RemoteCam
- Iriun Webcam
In kdeconnect, einer kde app, die das Smartphone mit dem kde Desktop verbindet und Aktionen wie Anzeige von Meldungen, Mediensteuerung und Dateiaustausch anbietet, wird in älteren Beiträgen die Option --photo erwähnt, die eine Aufnahme am Smartphone auslösen soll. In Version 25.04 existiert diese Option allerdings nicht mehr; sie ist wohl der Einführung von Plasma 6 zu Opfer gefallen und scheidet damit aus.
IP Webcam ist eine Android App, die das Smartphone zur Webcam machen soll. Sie ist allerdings dermaßen mit Werbung vollgestopft, dass sie absolut unbedienbar ist. Sie flog nach wenigen Minuten erfolglosen Probierens, doch noch eine Eingabetaste zu treffen, wieder von meinem Telefon.
Droidcam hat eine sehr Ähnliche Funktionalität, und die Android-App läuft auch reibungslos. Die Linux-Seite macht allerdings auf Debian Probleme. Das liegt an der in aktuellen Versionen fehlenden libappindicator Applikation (die iegentlich nur für ein Symbol in der Statusleiste sorgen soll). Der Doidcam-Anbieter liefert zwar die fehlenden Pakete nach, diese lassen sich wegen unerfüllbarer Abhängigkeiten nicht installieren.
Scrpy ist eigentlich eher ein Werkzeug zur Fernbedienung des Smartphones; die Foto-Funktion ist nur ein Seiteneffekt des remote Desktops. Entsprechend unkomfortabel ist Installation, Konfiguration und Bedienung sowie die Übertragung der Dateien.
RemoteCam sah eigentlich interessant aus: ein Open Source Projekt, kostenlos und ohne Werbung und mit positiven Kommentaren. Das Smartphone stellt einen mjpeg-Stream zur Verfügung, aus dem man die Scans vom PC aus über einen Browser oder per ffmpeg grabben kann. Leider friert die App auf meinem Smartphone sofort ein und reagiert auf der Netzseite nicht.
Ich habe mich also letzten Endes Iriun Webcam zugewendet. Es ist, ähnlich wie Droiccam, IP Webcam und RemoteCam eine Applikation, die das Smartphone zur Webcam macht. Die Android-Installation aus dem Playstore ist problemlos, und nach dem Start wartet die App schon auf eine Verbindung zum Smartphone.

Die Linux-App ist nicht in den üblichen Paketquellen enthalten. Sie wird von der Iriun-Webseite als deb-Paket heruntergeladen und lokal installiert. Das funktioniert zunächst ohne Problem, aber beim Start beschwert sich die Software über das fehlende Kernel-Modul v4l2loopback. Das entsprechende Paket (v4l2loopback-dkms) ist zwar installiert, aber das Kernelmodul ist nicht geladen.
Das Nachladen mit:
sudo modprobe v4l2loopback exclusive_caps=1 devices=1 card_label="Iriun Webcam"
läuft auch in einen Fehler:
FATAL: Module v4l2loopback not found in directory /lib/modules/6.12.63+deb13-amd64
Das deutet darauf hin, dass das Modul noch nicht kompiliert wurde und deswegen im Modul-Verzeichnis fehlt. dkms status zeit das Modul zwar als „added”, aber nicht als „installed”. Es muss also zunächst mit folgenden Kommandos erzeugt werden:
sudo apt update
sudo apt install linux-headers-$(uname -r) dkms build-essential
sudo dkms build -m v4l2loopback -v 0.15.0 -k $(uname -r)
sudo dkms install -m v4l2loopback -v 0.15.0 -k $(uname -r)
Danach sollte dkms status so aussehen:
v4l2loopback/0.15.0, 6.12.63+deb13-amd64, x86_64: installed
Nun kann es per modprobe geladen werden:
sudo modprobe v4l2loopback exclusive_caps=1 devices=1 card_label="Iriun Webcam"
Wenn alles geklappt hat zeigt lsmod:
$ lsmod | grep v4l2loopback
v4l2loopback 61440 0
videodev 368640 1 v4l2loopback
und
$ v4l2-ctl --list-devices
Iriun Webcam (platform:v4l2loopback-000):
/dev/video0
Die Irium-Webcam ist also als Gerät /dev/video0 verfügbar. Das Kernel-Modul muss nun nur noch bootfest gemacht werden:
echo 'options v4l2loopback exclusive_caps=1 devices=1 card_label="Iriun Webcam"' | sudo tee /etc/modprobe.d/v4l2loopback.conf
Der Iriun Linux-Client zeigt sich danach schweigsam und schmucklos:

Aus dem laufenden Stream kann man dann jederzeit mit ffmpeg ein Bildschirmfoto aufnehmen:
fswebcam -d /dev/video0 -r 1920x1080 --jpeg 95 --no-banner ~/scans/page.jpg
Ob sich das Ganze Prozedere dann auch in der Praxis bewährt, oder ob ein lokales Scan-Programm auf dem Android Smartphone mit anschließender Übertragung der Dateien doch die bessere Lösung ist, wird sich mit der Zeit zeigen.