{{tag>Noble Application Android Partage Ecran}} {{ :scrcpy.png?100|Logo Scrcpy}} ====== Scrcpy ====== **Scrcpy** (pour //**scr**een **c**o**py**//, //copie d'écran// en français) est un logiciel libre multiplate-forme (aussi disponible sur macOS et Windows) permettant d'utiliser ou de cloner l'affichage de son smartphone Android sur son ordinateur. Il propose les fonctionnalité d'un [[:bureau à distance]], mais pour visualiser ou contrôler un appareil Android : smartphone, tablette, ou smart TV. Votre téléphone devient alors pilotable depuis votre PC. Ceci permet par exemple d'utiliser sur son PC des applications qui sont purement Android, sans faire appel à un émulateur, ou simplement de profiter du confort d'un clavier, d'une souris et d'un grand écran pour utiliser son smartphone. **Scrcpy** repose sur [[wpfr>Android_SDK#Android_Debug_Bridge|ADB]] (//Android Debug Bridge//), il s'agit d'une fonctionnalité initialement implémentée pour les développeurs, mais présente sur tous les appareils Android.\\ Il est assez simple de l'utiliser avec un câble USB, et un peu plus compliqué de l'utiliser sans câble, via [[:WiFi]]. ===== Pré-requis ===== * Un smartphone sous Android 5.0 ou plus. * Un câble USB de bonne qualité permettant de relier votre smartphone a votre ordinateur. ===== Installation ===== **Scrcpy** utilise des fonctions natives d'Android pour fonctionner, il n'y a donc rien à installer sur son smartphone (voir par contre la note ci-dessous pour activer ces fonctions). Il existe deux méthodes simples, //au choix//, pour installer **Scrcpy** sur Ubuntu : * Il est disponible en [[:deb]] dans les [[:depots#dépôts officiels]] [[:APT]] d'Ubuntu.\\ Pour l'installer il suffit donc d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] ''[[apt>adb]]'' et ''[[apt>scrcpy]]'' . * **Scrcpy** est aussi proposé de manière non-officielle en [[:snap]] sur [[https://snapcraft.io/scrcpy|Snapcraft]].\\ On peut donc simplement installer l'application ''scrcpy [unofficial]'' depuis le [[:snap store|centre d'applications]], ou installer le paquet ''scrcpy'' en ligne de commande : snap install scrcpy Pensez à activer sur votre téléphone le **débogage USB** (accessible en mode développeur) sans quoi **Scrcpy** ne pourra pas fonctionner : * Sur votre téléphone : dans les paramètres (⚙) -> //À propos du téléphone// -> tapotez **7 fois** sur le //Numéro de build// => le menu //Options pour les développeurs// apparaît alors : * Retournez dans les paramètres (⚙) -> //Système// -> //Options pour les développeurs// -> activez **//Débogage USB//**. ===== Utilisation simplifiée ===== ==== Démarrage ==== - 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, ...). - Reliez le téléphone au PC par un câble USB (pour une connexion sans câble, voir plus loin). - Vérifiez que le débogage USB est bien actif côté téléphone. - Lancez le logiciel (en tapant ''scrcpy'' ou mieux ''scrcpy -w'') au terminal sur le PC, ou en cliquant sur un [[:raccourci-lanceur|lanceur]] que vous aurez créé avec cette commande. **/!\** Le téléphone peut vous poser une question pour valider la connexion : regardez l'écran du smartphone. 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 ''Ctrl'' + 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 participer à des visioconférences. L'audio reste par contre cantonnée au smartphone, en entrée comme en sortie. 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 de **scrcpy**, du nom de **[[https://github.com/rom1v/sndcpy|sndcpy]]** (ce plugin n'est malheureusement pas disponible dans les dépôts d'Ubuntu). ===== Utilisation avancée ===== ==== Les principales options de commandes ==== Dans un [[:terminal]], saisir la [[:commande_shell|commande]] suivante sous Ubuntu : scrcpy Cette commande lance le logiciel et réplique l'écran du téléphone sur celui du PC (si l'application fonctionne correctement). ou si vous préférez éteindre l'écran du smartphone : scrcpy -S Cette option (''-S'') éteint l'écran du téléphone sans éteindre sa réplication sur votre écran de PC (ce qui permettrait d'économiser la batterie - cependant un smartphone se recharge lorsqu'il est connecté en USB). 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. L'option ''-w'' permet d'empêcher le passage en veille du téléphone (tant qu'il est connecté à **scrcpy**) : scrcpy -w On peut cumuler ces options. Ainsi le très utile : scrcpy -wS 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, s'il est utilisé sans câble). ==== Autres commandes ==== Cette application propose quantité de fonctionnalités.\\ On peut les lister avec la commande : scrcpy --help Voici une rapide présentation de quelques commandes utiles, additionnelles à celles déjà évoquées : scrcpy --always-on-top permet de mettre au premier plan la fenêtre. scrcpy -n permet de faire un clonage de l’écran sans pouvoir contrôler le smartphone depuis l'ordinateur. scrcpy -K permet d'utiliser un clavier USB. 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. scrcpy -f passe l'écran de téléphone sur votre PC en plein écran. scrcpy -t affiche un point là où le doigt est posé sur l’écran du smartphone. scrcpy --window-title Nom_De_La_Fenetre permet de renommer la fenêtre. ==== Lanceur ==== À l'origine, **scrcpy** ne créait pas de [[:raccourci-lanceur|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 une option de lancement telle que ''-wS'' qui n'éteint pas la réplication à chaque fois que l'écran du smartphone se met en veille. Pour créer votre propre lanceur, le fichier ''.desktop'' doit ressembler à 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 -wS Icon=android-file-transfer Path= Terminal=false StartupNotify=false Vous donnez à ce fichier un nom quelconque en ''.desktop'', par exemple ''scrcpy.desktop'', et placez-le dans ''~/.local/share/applications/''. 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 d'utiliser **scrcpy** sans câble ([[:WiFi]]) il est préférable de tester //avec// un câble pour voir si tout fonctionne correctement. Pour que cette méthode fonctionne rendez vous sur Android dans les paramètres (⚙) -> //Système// -> //Options pour les développeurs// -> activez **//Débogage sans fil//** (ou **//ADB par réseau//** sur les très anciens systèmes). **Attention cependant :** cette action rend l'appareil vulnérable à des attaques depuis n'importe quelle machine connectée au même réseau. Pensez à désactiver cette option lorsque vous n'en avez plus besoin. Branchez votre smartphone à votre PC via un câble, et ouvrez un terminal. Dans celui-ci, exécutez : adb tcpip 5555 ceci indiquera au smartphone le port de connexion qui sera utilisé. Vous pouvez éventuellement choisir un autre numéro de port que ''5555''. 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 qu'il est connecté au même réseau qu'Ubuntu. 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 On peut alors lancer **scrcpy** de la même manière qu'avec un câble. Si vous rencontrez des ralentissements ou lags, cela peut venir de la distance avec votre point d’accès WIFI, ou de la qualité générale de la connexion. Pour fermer la connexion entre votre smartphone et votre PC : adb kill-server Pour revenir à la connexion USB : adb usb ===== Problèmes courants ===== Pas de connexion : au terminal la commande ''scrcpy'' renvoie des messages listés ci-dessous : ==== 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. - Si ce n'est pas cela, changez de câble USB (voir note ci-dessous). - Si ce n'est pas cela, changez le port USB utilisé sur votre PC. Les câbles USB vendus dans le commerce sont de qualité très variables, en particulier à partir de la norme USB 3 : peu de câbles possèdent tous les fils nécessaires à tous les cas d'usage, certains ne peuvent même servir qu'à alimenter ou recharger un appareil. Les débits maximum (ainsi que la puissance électrique) qu'ils peuvent délivrer varient aussi énormément d'un câble à l'autre. Il est malheureusement très courant de s'arracher les cheveux sur ce problème lorsqu'on l'ignore : un mauvais câble, même neuf et en bon état peut complètement empêcher le fonctionnement des outils tels qu'[[wpfr>Android_SDK#Android_Debug_Bridge|ADB]], [[wpfr>Fastboot]], ou **scrcpy**. ==== 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 parfois nécessaire après chaque déconnexion du câble). ==== 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 ==== Utilisation sous Wayland ==== L'utilisation sous [[: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|KDE Connect]], un autre logiciel permettant d'échanger avec un appareil Android. ---- //Contributeurs : [[:utilisateurs:Zaienj]], [[:utilisateurs:krodelabestiole]]//