Je cherche une question/instruction qui pourrait permettre à un programme de reconnaître s’il est exécuté sur un Rpi ou sur un ordinateur « classique », pour débugger ou pour modifier l’affichage.
avec cette commande python: « sys.platform » sur Raspbian, on obtient quelle réponse?
linux ou raspbian?
Mon Rpi Zero V1.3 avec la dernière version de Raspbian Lite installée avant hier pour le projet de « boite à son » et juste mis à jour (puisque ma vision sur le projet ne collait pas).
Je suis sur un PC tournant sous GNU/Linux (LinuxMint)
nabla@NP300E5A ~ $ ssh pi@192.168.0.25
The authenticity of host '192.168.0.25 (192.168.0.25)' can't be established.
ECDSA key fingerprint is SHA256:***.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.25' (ECDSA) to the list of known hosts.
pi@192.168.0.25's password:
Linux raspberrypi 4.14.71+ #1145 Fri Sep 21 15:06:38 BST 2018 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Nov 9 22:08:05 2018
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.14.71+ #1145 Fri Sep 21 15:06:38 BST 2018 armv6l GNU/Linux
pi@raspberrypi:~ $
On voit donc que le système lancé s’annonce comme étant « Debian GNU/Linux system »
puis c’est clair. Linux raspberrypi 4.14.71+ #1145 Fri Sep 21 15:06:38 BST 2018 armv6l GNU/Linux
maintenant, ta commande ne passe pas (sur Rpi comme sur PC LinuxMint
pi@raspberrypi:~ $ sys.platform
-bash: sys.platform: command not found
Pour info, voici la même commande en local sur ce PC LinuxMint :
nabla@NP300E5A ~ $ uname -a
Linux NP300E5A 4.15.0-38-generic #41~16.04.1-Ubuntu SMP Wed Oct 10 20:16:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
(LinuxMint est basé sur Ubuntu)
Je dois partir, mais je vais essayer sur un PC faisant tourner la version Raspbian x86 pour voir.
++
Edit ; test fait sur un vieux PC de récup qui tourne avec Raspbian x86
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux
On dirait que c’esr Raspberry mais « AMD64 » et « x86_64 » mettent la puce à l’oreille.
OK, merci.
Bon, je ne peux pas utiliser ça pour reconnaitre quand le programme est utilisé en embarqué sur Rpi ou en fixe sur PC, je dois trouver autre chose…
Je pense que tu peux l’utiliser puisque seul le Rpi renvoie une ligne avec le terme « arm*** GNU/Linux »
Les 2 autre PC ont renvoyé « x86_64 GNU/Linux »
Faut juste prendre la fin de ligne en compte et pas le début où le mot « Raspberry » est juste le nom donné à la machine
Théoriquement le résultat de ‹ uname -m › devrait suffire. Sinon consulter le contenu de ‹ /etc/os-release ›, mais je ne suis pas sûr que tous les linux (autres que ceux basés sur Debian) aient ce fichier.