ubuntu logo32Toujours grâce à Sébastien Sauvage, voici un moyen de piloter son ordiphone (au moins sous Android 5.0) à partir de son ordinateur sous Ubuntu : https://sebsauvage.net/links/?21CrwQ. Le post originel se situe ici : https://www.linuxuprising.com/2019/03/control-android-devices-from-your.html

Il peut être utile, lors d'une présentation notamment, d'afficher l'écran de son ordiphone pour faire une démonstration et même de pouvoir faire une capture de son écran (screencast). C'est possible avec les manip décrites dans les pages évoquées ci-dessus grâce à l'application SCRCPY.

Site du projet scrcpy : https://github.com/Genymobile/scrcpy

I- Installation sous Ubuntu 18.04

  • Installer les paquets suivants, via un terminal, avec la commande :
    sudo apt install adb ffmpeg libsdl2-2.0.0 make gcc pkg-config meson ninja-build libavcodec-dev libavformat-dev libavutil-dev libsdl2-dev
  • Créer le répertoire suivant :
    sudo mkdir -p /usr/local/share/scrcpy
  • Se placer dans le répertoire :
    cd /usr/local/share/scrcpy
  • Récupérer la partie serveur du programme programme scrcpy avec la commande :
    wget https://github.com/Genymobile/scrcpy/releases/download/v1.8/scrcpy-server-v1.8.jar
  • Renommer le fichier .jar en enlevant le N° de version :
    mv scrcpy-server-v1.8.jar scrcpy-server.jar
  • Placer vous dans votre home :
    cd ~
  • Récupérer le code source de scrcpy qui se trouve sur cette page https://github.com/Genymobile/scrcpy/releases (à l'heure où j'écris il s'agit de la version 1.8) :
    wget https://github.com/Genymobile/scrcpy/archive/v1.8.tar.gz
  • Décompresser cette archive avec la commande :
    tar zxvf v1.8.tar.gz
  • Renommer le dossier obtenu en enlevant le n° de version :
    mv scrcpy-1.8 scrcpy
  • Se placer dans le dossier scrcpy :
    cd scrcpy
  • Indiquer l'emplacement du serveur :
    server_path='/usr/local/share/scrcpy/scrcpy-server.jar'
  • Compiler scrcpy :
    meson build --buildtype release --strip -Db_lto=true -Dbuild_server=false -Doverride_server_path="${server_path}"
  • Finir l'installation à l'aide des 3 commandes suivantes :
    cd build
    ninja
    sudo ninja install
  • À ce stade, il est possible de supprimer le dossier scrcpy dans le home.

II- Lancement de scrcpy par liaison USB

  • Sur l'ordiphone, aller dans les paramètres et "Options pour les développeurs".
  • De là, activer le mode "débogage USB" et on connecte le câble USB à l'ordinateur.
  • Sous Ubuntu, on lance scrcpy (le lancement de la commande "scrcpy" seule, sans indiquer la résolution, plante)  :
    scrcpy -m 1280

III- Lancement de scrcpy par liaison Wifi (moins fluide)

  • Sur l'ordiphone, aller dans les paramètres et "Options pour les développeurs".
  • De là, activer le mode "débogage USB" ainsi que "ADB par réseau". On récupère l'adresse IP affichée (du style 192.168.1.xx:5555).
  • Sur Ubuntu, on tape la commande :
    adb tcpip 5555
  • Puis on se connecte sur l'ordiphone avec :
    adb connect ADRESSE_IP_ORDIPHONE:5555
  • On lance scrcpy (le lancement de la commande "scrcpy" seule, sans indiquer la résolution, plante)  :
    scrcpy -m 1280

IV- Options utiles

    -b, --bit-rate value
        Encode the video at the given bit-rate, expressed in bits/s.
        Unit suffixes are supported: 'K' (x1000) and 'M' (x1000000).
        Default is 8000000.

    -c, --crop width:height:x:y
        Crop the device screen on the server.
        The values are expressed in the device natural orientation
        (typically, portrait for a phone, landscape for a tablet).
        Any --max-size value is computed on the cropped size.

    -f, --fullscreen
        Start in fullscreen.

    -F, --record-format
        Force recording format (either mp4 or mkv).

    -h, --help
        Print this help.

    -m, --max-size value
        Limit both the width and height of the video to value. The
        other dimension is computed so that the device aspect-ratio
        is preserved.
        Default is 0 (unlimited).

    -n, --no-control
        Disable device control (mirror the device in read-only).

    -N, --no-display
        Do not display device (only when screen recording is
        enabled).

    -p, --port port
        Set the TCP port the client listens on.
        Default is 27183.

    -r, --record file.mp4
        Record screen to file.
        The format is determined by the -F/--record-format option if
        set, or by the file extension (.mp4 or .mkv).

    -s, --serial
        The device serial number. Mandatory only if several devices
        are connected to adb.

    -t, --show-touches
        Enable "show touches" on start, disable on quit.
        It only shows physical touches (not clicks from scrcpy).

    -T, --always-on-top
        Make scrcpy window always on top (above other windows).

    -v, --version
        Print the version of scrcpy.

IV- Raccourcis clavier

Ctrl+f : bascule en mode plein écran

Ctrl+g : redimensionne la fenêtre en 1:1 (pixel-perfect)

Ctrl+x : double-clic sur les bordures noires, redimensionne la fenêtre pour enlever les bordures noires.

Ctrl+h : Home, clic milieu, clic sur HOME

Ctrl+b : Ctrl+Backspace,
    Right-click (when screen is on)
        click on BACK
Ctrl+s : click on APP_SWITCH

Ctrl+m : clic sur MENU

Ctrl+Up : clic sur VOLUME +

Ctrl+Down : clic sur VOLUME -

Ctrl+p : clic sur POWER (allume/éteint l'écran)

Clic droit (quand l'écran est éteint) : rallume l'écran

Ctrl+n : étend le panneau de notification

Ctrl+Shift+n : réduit le panneau de notification

Ctrl+v : colle le contenu du presse-papier de l'ordinateur vers le smartphone

Ctrl+i : active/désactive le nombre de frame/sec (écrit les frames/seconde dans les logs)

Glisser & déposer un fichier APK : installation sur le smartphone