{{tag>Focal scrcpy Application Tutoriel Android Partage Ecran}}
{{ :scrcpy.png?100|Logo Scrcpy}}
====== Scrcpy ======
**Scrcpy** (screen copy) est un logiciel libre / open source permettant d'utiliser ou de cloner l'affichage de son smartphone Android sur son ordinateur. Il a également des versions pour MacOS et Windows.
Votre téléphone devient alors pilotable depuis votre PC. Cela permet par exemple d'utiliser sur son PC des applications qui sont purement Android, sans faire appel à un émulateur Android.
===== Pré-requis =====
* Disposer des [[sudo|Droits de super utilisateur]].
* Disposer d'une connexion internet.
* Un smartphone sous Android 5.0 ou plus.
* Un câble permettant de relier votre smartphone a votre ordinateur.
===== Installation =====
[[:tutoriel:comment_installer_un_paquet|Installez les paquets]] suivants sur votre PC : **[[apt>adb|adb]]**, **[[apt>scrcpy|scrcpy]]**
Pensez à activer sur votre téléphone le **débogage USB** (mode développeur / ADB) sinon **Scrcpy** ne fonctionnera pas :\\
- Sur votre téléphone : Paramètres > Système > "À propos du téléphone" > Tapoter **7 fois** sur le « numéro de build » => Le menu « options pour développeurs » apparaît dans les paramètres système.\\
- Aller dans Paramètres > Système > « options pour développeurs » > activer "**débogage USB**".
===== Utilisation simplifiée =====
==== Démarrage ====
1- le téléphone doit être actif, comme pour une utilisation normale. L'écran doit donc être déverrouillé de la façon habituelle (code PIN, empreinte digitale, ...).
2- Reliez le téléphone au PC par un câble USB (pour une connexion sans câble, voir plus loin).
3- Vérifiez que le débogage USB est bien actif côté téléphone.
4- Lancez le logiciel (en tapant **scrcpy** ou mieux **scrcpy -w -S**) au terminal sur le PC, ou en cliquant sur un [[raccourci-lanceur|lanceur]] que vous aurez créé avec cette commande.
La réplication de l'écran de votre téléphone apparaît sur celui de votre PC, après quelques secondes.
==== Fonctionnement ====
Pour lancer une application : cliquez dessus à la souris.
Pour passer d'un écran virtuel du téléphone à un autre : faire tourner la molette de la souris.
Pour revenir à l'écran en fermant une application : cliquer sur les flèches arrières, ou plus rapidement sur **ctrle + molette**.
Pour fermer **scrcpy** : clic sur le bouton de fermeture de sa fenêtre.
{{:scrcpy.jpg?400|}}
La vidéo est déportée d'Android vers le PC comme les autres affichages. Vous pouvez même faires des vidéo-conférences. Mais le son reste lui (entrée ou sortie) sur le smartphone. Ce n'est normalement pas très gênant, mais si vous souhaitez également que le son passe du téléphone au PC, vous pouvez utiliser un plugin à scrcpy, qui s'appelle [[https://github.com/rom1v/sndcpy|sndcpy]] (le plugin n'est pas dans les dépôts, en tout cas jusqu'à Ubuntu 22.04).
===== Utilisation avancée =====
==== Les principales options de commandes ====
Au **terminal** de votre PC (qui doit être connecté au téléphone).
scrcpy
Cette commande lance le logiciel et réplique le téléphone sur l'écran du PC (si le téléphone est connecté au PC et qu'il est activé / déverrouillé).
ou mieux :
scrcpy -S
Cette option (-S) éteint l'écran du téléphone sans éteindre sa réplication sur votre écran de PC (économise la batterie du smartphone).
Si lors d'un lancement du logiciel vous avez un message d'erreur au terminal du genre
adb: error: failed to get feature set: no devices/emulators found
l'autorisation ADB ("débogage USB") est sans doute à réactiver (l'option peut se désactiver lors de certaines manipulations, ou lors de l'extinction complète du téléphone).
__Attention__, si votre téléphone est prévu pour se mettre en veille au bout d'un délai (disons 1Mn), **scrcpy** ne l'empêchera pas : la réplication d'écran s'éteindra aussi sur votre PC. Un clic **droit** réactive l'écran, mais s'il faut un déblocage (type empreinte digitale, code, etc ...) il faudra le saisir pour que la réplication remontre le téléphone. Pour éviter le passage en veille du téléphone (tant qu'il est connecté à **scrcpy**) , il faut faire un
scrcpy -w
On peut mixer les options. Ainsi le très utile :
scrcpy -w -S
laisse la réplication d'écran sur votre PC tout le temps active (pas de passage en veille du téléphone), tout en éteignant l'écran du téléphone lui même (économie d'énergie).
==== Autres commandes ====
Cette application a plein de fonctionnalités que nous pouvons afficher en exécutant au terminal sur le PC :
scrcpy --help
Voici une rapide présentation de quelques commandes utiles, additionnelles à celles déjà évoquées:
La commande
scrcpy --always-on-top
permet de mettre au premier plan la fenêtre.
La commande
scrcpy -n
permet de faire un clonage de l’écran sans pouvoir contrôler le smartphone depuis l'ordinateur.
La commande
scrcpy -K
permet d'utiliser un clavier USB (version de scrcpy >= 1.20)
La commande
scrcpy --record file.mp4
permet d'enregistrer l’écran de votre smartphone en l’affichant sur l’écran de l'ordinateur.
La commande''scrcpy -N'' s'utilise avec la commande ''scrcpy --record file.mp4'' donc la commande est :
scrcpy --record file.mp4 -N
Elle enregistre l’écran de votre téléphone sans afficher l’écran du smartphone sur l'ordinateur.
La commande
scrcpy -f
passe l'écran de téléphone sur votre PC en plein écran.
La commande
scrcpy -t
affiche un point là où le doigt est posé sur l’écran du smartphone.
La commande
scrcpy --window-title Nom_De_L_a_Fenetre
permet de renommer la fenêtre.
Personnellement j'utilise la commande
scrcpy --window-title Honor8 -S
==== Lanceur ====
A l'origine, **scrcpy** ne créait pas de lanceur. Désormais il en crée un, mais avec l'option de lancement par défaut "**scrcpy**" qui fait que la réplication s'éteint dès que l'écran du smartphone s'éteint.
Il peut être intéressant de créer un lanceur avec l'option de lancement **-w -S** qui n'éteint pas la réplication à chaque fois que l'écran du smartphone se met en veille. Pour créer votre propre lanceur, il vous faut un fichier __texte__ similaire à celui-ci :
[Desktop Entry]
Version=1.0
Type=Application
Categories=Utility
Name=Téléphone - scrcpy
Comment=Réplication écran Androïd sur écran PC
Exec=scrcpy -S -w
Icon=android-file-transfer
Path=
Terminal=false
StartupNotify=false
Vous donnez à ce fichier un nom quelconque en **.desktop**, par exemple **scrcpy.desktop**, et vous le placez où vous le souhaitez (mais en toute logique dans **~/.local/share/applications/**, car le .desktop apparaît alors dans votre menu des **accessoires**). Vous pouvez bien sur changer l'icône, le nom, le commentaire, les options de lancement de **scrcpy**, ...
==== Raccourcis ====
Des raccourcis sont disponibles pour utiliser son smartphone
''Ctrl+H'' Il fait un retour menu.
''Ctrl+B'' Il fait un retour en arrière.
''Ctrl+S'' Il va dans le multi-tache.
''Clic droit'' Allume le smartphone.
''Ctrl+P'' Allume/Éteint le smartphone.
''Ctrl+O'' Éteint l’écran du smartphone.
''Ctrl+R'' Tourne l’écran si possible.
''Ctrl+N'' Ouvre le panel de notification.
''Ctrl+Shift+N'' Ferme le panel de notification.
==== Connexion sans Câble ====
Avant de l'utiliser **SANS CÂBLE** (wi-fi) il est préférable de tester **avec** un câble pour voir si tout fonctionne correctement\\
Dans certains cas il faut aller dans paramètres > Système > Options pour les développeurs et activer "**ADB par réseau**". Cette action rend le smartphone vulnérable.
L'utilisation de **Scrcpy** est plus simple avec une connexion via câble USB. Sans câble c'est un peu plus complexe.
Branchez votre smartphone a votre pc via un câble, et ouvrez un terminal. Dans celui-ci, exécutez :
adb tcpip 5555
cela indiquera au smartphone le port de connexion qui sera utilisé. Bien sûr, 5555 est __un__ port de connexion, que vous pouvez tout à fait changer.
Maintenant il faut récupérer l'**ip** de votre smartphone : allez dans Paramètre > Système (tout en bas) > À propos du téléphone > État > Adresse IP. Notez cette adresse (en IPV4 ou IPV6).
Vérifiez que le Wi-Fi est actif sur votre téléphone, et que c'est la même source wi-fi que pour votre PC (votre box, normalement).
Connectez le smartphone avec l'instruction dans le terminal de votre PC :
adb connect address_ip_smartphone:port
(remplacez **address_ip_smartphone** par la vraie adresse que vous avez notée, et port, par celui défini ci-dessus - par exemple **adb connect 192.168.1.14:5555**)
Vous pouvez maintenant débrancher le câble USB reliant votre smartphone à votre pc. Vérifiez bien que le débogage USB est toujours actif sur le téléphone.
Vérifions si le téléphone est bien connecté (toujours au terminal de votre PC) :
adb devices
Le retour devrait être :
List of devices attached
device_ip_address:5555 device
C'est bon on peut utiliser scrcpy comme si on avait un câble.
Si vous avez des ralentissements ou lags, cela peut venir de la distance avec votre point d’accès WIFI
Pour fermer la connexion entre votre smartphone et votre pc il faut juste faire au terminal :
adb kill-server
Pour revenir à la connexion USB :
adb usb
===== Problèmes rencontrés =====
Pas de connexion : au terminal la commande **scrcpy** renvoie des messages listés ci-dessous :
**1. Téléphone non détecté**
ERROR: "adb push" returned with value 1
ADB (qu'utilise scrcpy) ne voit pas votre téléphone. Vérifiez avec la commande
adb devices
que votre téléphone est vu par ADB. Si ce n'est effectivement pas le cas (la commande ne renvoi rien), il faut trouver la raison :
- le débogage USB est désactivé sur le smartphone (c'est le plus probable).
- Si ce n'est pas cela, changez le port USB utilisé sur votre PC.
- Si ce n'est pas cela, changez de câble : un problème de câble usagé n'est pas du tout exceptionnel.
**2. Débogage USB non activé**
adb: error: failed to get feature set: no devices/emulators found
l'autorisation **ADB** ("débogage USB") est sans doute à réactiver côté téléphone (ce qui est généralement nécessaire après chaque déconnexion du câble).
**3. Plusieurs téléphones branchés en même temps**
adb: error: failed to get feature set: more than one device/emulator
Débranchez le ou les téléphones surnuméraires.
Pour en savoir plus, voir la FAQ des problèmes rencontrés : https://github.com/Genymobile/scrcpy/blob/master/FAQ.md#adb-issues
**4. Utilisation sous Wayland**
L'utilisation sous [[wayland|Wayland]] peut poser problème. Voir : https://github.com/Genymobile/scrcpy/blob/master/FAQ.md#issue-with-wayland
===== Voir Aussi =====
* **(en)** [[https://github.com/Genymobile/scrcpy|Le github de l'application]]
* **(fr)** [[https://korben.info/scrcpy-un-outil-en-ligne-de-commande-pour-afficher-et-controler-un-appareil-android-depuis-son-ordinateur-linux-macos-windows.html|Article sur le site de Korben]]
* **(fr)** [[https://linuxfr.org/users/rom1v/journaux/scrcpy-une-appli-pour-afficher-et-controler-des-devices-android|Article sur Linux.fr]]
* [[kdeconnect-kde|Kdeconnect]], un autre logiciel, avec des fonctionnalités similaires.
----
Contributeur: [[utilisateurs:zaienj|Zaienj]]