Android UbuntuJ'ai voulu diffuser facilement l'écran d'une tablette sur mon ordinateur sous Ubuntu afin de pouvoir la commander directement de mon ordi et j'ai eu pas mal de problèmes pour le faire... Dire que sous Windows 10, il existe l'application "Se connecter" qui permet cela en un rien de temps... C'est une des rares fois où Windows 10 fait mieux que mon Ubuntu...
Source : https://linuxconfig.org/how-to-mirror-your-android-mobile-screen-to-linux

Remarques :

  • S'il s'agit de seulement visualiser l'écran de l'ordiphone sur son ordinateur, on pourra y installer l'application ScreenStream : https://f-droid.org/fr/packages/info.dvkr.screenstream/ et passer par son navigateur Internet.
  • Dans tous les cas, il faudra que les 2 appareils utilisent le même réseau Wifi.

Préparation de l'ordinateur sous Ubuntu 20.04 :

  • Il faut tout d'abord installer le paquet Android Debug Bridge "adb" sous Ubuntu avec la commande :
    sudo apt install adb
  • Toujours sur l'ordinateur on installe le paquet "scrcpy" avec la commande :
    sudo snap install scrcpy

Préparation de l'appareil sous Android :

Remarque : voir cette page pour rooter un ordiphone Xiaomi https://lofurol.fr/joomla/divers/ordiphones-sous-android/271-android-xiaomi-mi-10-lite-5g

  • Si ce n'est pas déjà fait, il faut activer le mode développeur en allant dans les paramètres -> " À propos de l'appareil" -> et taper 7 fois sur la ligne indiquant le N° de build (Sous mon Xiaomi, c'est la ligne "Version MIUI").
  • Dans les "Options développeur" (sous mon Xiaomi, il faut aller dans "Paramètres" -> "Paramètres supplémentaires"),Il faut aussi autoriser le débogage USB.
  • Et autoriser ADB par réseau qui indiquera l'adresse et le port sur lequel communiquer. Attention, il faudra activer cette fonction à chaque redémarrage de la tablette (ce qui est assez contraignant...).
    Heureusement, il existe l'application "Wifi ADB" contournant ce problème qui ne fonctionne que pour les appareils ayant l'accès root : https://play.google.com/store/apps/details?id=com.ttxapps.wifiadb&hl=fr&gl=US. Il existe aussi le programme "ADB Wireless" : https://play.google.com/store/apps/details?id=in.devsv.adbwireless&hl=fr&gl=US.
    Dans Magisk, on donne un accès root (super-utilisateur) pour "Applications et ADB", on rafraîchit la page (en revenant en arrière par exemple) sinon la ligne "Gérer les accès root" reste grisée.
    On a désormais une icône dans les notifications permettant d'activer le wifi ADB ou pas. Quand il est activé on a l'adresse IP de la tablette.
  • Fixer l'adresse IP de sa tablette sur le réseau wifi sur lequel ce partage sera réalisé afin d'indiquer cette adresse dans un script éventuel.
  • Depuis Android 11, il est nécessaire d'aller dans Système -> Options pour les développeurs -> et d'activer Débogage sans fil pour pouvoir utiliser Wifi ADB

Remarque : si l'appareil Android n'est pas rooté, il est possible d'utiliser une connexion USB pour forcer l'utilisation de WiFi ADB et en tapant dans le terminal de son Ubuntu, la commande suivante :

adb tcpip 5555

On débranche l'USB et on pourra partager son écran en WiFi en indiquant l'adresse qui apparaît sur son appareil Android dans WiFi ADB.

Plus d'explications ici sur la commande "scrcpy" très puissante : https://github.com/Genymobile/scrcpy

Connexion de l'appareil sous Android sous Ubuntu 20.04 :

  • Sur l'ordinateur, on lance le serveur ADB avec cette commande :
    adb start-server
  • On se connecte au mobile en tapant l'adresse et le port fournis par WIFI ADB sur l'appareil Android (un message indiquera la réussite ou pas de la connexion) :
    adb connect adresse_IP_tablette:n°_port
    Remarque : on peut vérifier la connexion en tapant la commande :
    adb devices
  • Pour afficher l'écran de la tablette sur son ordinateur, il suffit de taper dans le terminal la commande :
    scrcpy

Script automatique et Raccourci :

Pour faciliter les connexions, on peut envisager de réaliser un script qui permettra en 1 clic de partager son écran. Pour cela, il est utile de fixer l'adresse IP de sa tablette sous Android afin de ne pas avoir à la chercher.

Ensuite on crée ce fichier script sans oublier de lui donner des droits d'exécution :

#!bin/bash
#Script permettant de connecter automatiquement un appareil Android
#sous Ubuntu 20.04
adb start-server
adb connect 192.168.6.5:5555 #adresse IP donnée par l'application Android WIFI ADB
scrcpy

On peut éventuellement créer un raccourci .desktop (ou lanceur) afin de lancer ce script via un bouton. Attention, la commande à renseigner est :

sh -c /home/thierry/scripts/ecran-tablette-android-vers-ubuntu.sh

 

Script plus évolué se basant sur la reconnaissance de 2 réseaux Wifi répertoriés :
#!/bin/sh

#Script permettant de connecter automatiquement un appareil Android
#sous Ubuntu 20.04

#Récupère le nom de la connexion wifi SSID
connexion_wifi=$(iw dev | grep ssid | awk '{print $2}')

if [ $connexion_wifi = "Livebox-CA10" ]
then
    adresse="192.168.1.24:5555"
elif [ $connexion_wifi = "Ecole_Daudet_Ext" ]
then
    adresse="192.168.6.5:5555"
else
    adresse=""
fi

if [ adresse != "" ]
then
    adb start-server
    adb connect $adresse
    scrcpy
fi

 

Sécurité :

Le fait de donner un accès root sur sa tablette n'est pas anodin et représente un risque d'un point de vue sécurité. Ce qui est bien avec l'application WIFI ADB, c'est qu'il est possible de restreindre son activation à certains réseaux locaux comme par exemple celui de l'école uniquement. Il suffit de cocher son SSID dans les réseaux Wifi proposés.