Bureau Gnome pour BeagleBone Black

Publié par cpb
Juil 09 2013

Cet article propose deux méthodes (une directe et une distante) pour accéder à l’environnement graphique Gnome inclus dans la distribution Angström présente sur le BeagleBone Black. Il a été écrit par François Tremel, à qui j’ai proposé de développer le commentaire qu’il avait posté sous l’article Console série de debug pour BeagleBone Black. – CPB.

 

Pour découvrir le bureau Gnome du BeagleBone Black, la première solution consiste à utiliser un écran, une souris et éventuellement un clavier.

Pour l’occasion j’ai ressorti mon écran Iiyama avec entrée DVI et hub USB. Pour relier l’écran il faut un adaptateur micro-HDMI vers DVI. J’ai acheté le mien sur eBay à un vendeur chinois (compter de 2 à 6 semaines de transport). Le hub de l’écran permet de brancher le clavier et la souris.

Ecran et clavier sur BeagleBone Black

 

Avec la distribution Angström, le bureau se connecte automatiquement sur le compte root. On peut donc se passer de clavier puisqu’il existe un clavier virtuel : Applications > Universal Access > Florence Virtual Keyboard.

La prise de contrôle à distance avec VNC

Une solution moins encombrante est la prise de contrôle à distance grâce au protocole VNC (Virtual Networked Computing). Dans cette solution on utilise les périphériques d’entrée/sortie de l’ordinateur hôte.

Installation du serveur

Dans un premier temps, il faudra installer le serveur VNC sur le BeagleBone. Sur les dernières versions de Angström, cette étape est inutile car le serveur est déjà installé.

On branche le BeagleBone sur l’ordinateur hôte avec le port USB et on lance une session SSH (voir l’article de Christophe si nécessaire)

Pour vérifier que le serveur VNC est installé :

root@beaglebone:~# opkg list-installed x11vnc
x11vnc - 0.9.13-r0.7

Ici, le package x11vnc est bien présent.

Dans le cas contraire, il faudra l’installer :

root@beaglebone:~# opkg update
root@beaglebone:~# opkg install x11vnc

Pour démarrer le serveur en créant la bonne configuration on utilise la formule magique suivante :

root@beaglebone:~# x11vnc -bg -o %HOME/.x11vnc.log.%VNCDISPLAY -auth /var/run/gdm/auth-for-gdm*/database -display :0

Sur le PC hôte on lance un visualiseur de bureaux distants, par exemple Remmina sur Linux Mint, et l’on se connecte à l’adresse 192.168.7.2.

Configuration Remmina

Automatiser le démarrage de VNC

Voici maintenant comment automatiser le démarrage du serveur VNC sur le BeagleBone. Dans le commentaire de l’article de Christophe j’avais décrit une méthode utilisant un script. En fait il y a plus simple.

Dans system > preferences > startup applications, cliquer sur Add pour ouvrir une fenêtre d’édition de commande, donner un nom à l’application, dans le champ commande entrer /usr/bin/x11vnc -forever, éventuellement ajouter un commentaire et sauvegarder.

Lancement VNC

Personnellement, j’en ai profité pour désactiver les 2 premiers services, à savoir le Bluetooth et le calibrage de l’écran tactile, n’ayant ni l’un ni l’autre.

Vous pourrez maintenant éditer des scripts et des programmes avec gEdit.

Partage de souris / clavier avec Synergy

Synergy (http://synergy-foss.org/fr/) est un logiciel multi plateforme de partage de clavier et souris. Lorsque l’on atteint le bord de l’écran du serveur, le curseur passe alors sur l’écran du client et le clavier du serveur est redirigé vers le client. On peut faire des copier-coller d’un ordinateur à l’autre ce qui est bien pratique.

La bonne nouvelle est que Synergy est proposé dans la distribution Angstrom.

root@beaglebone:~# opkg install synergy

La mauvaise est que le client ne fonctionne pas. En effet lorsque je lance le client synergy sur le BeagleBone Black j’obtiens le message suivant :

sh-4.2# synergyc -f 192.168.1.94
2013-06-10T17:38:39 INFO: Synergy 1.3.8 Client on Linux 3.8.13 #1 SMP Wed Jun 5 11:21:00 CEST 2013 armv7l
/build/v2012.12/build/tmp-angstrom_v2012_12-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/synergy-1.3.8-r0/synergy-1.3.8-Source/src/cmd/synergyc/synergyc.cpp,765
2013-06-10T17:38:39 DEBUG: XOpenDisplay(":0.0")
/build/v2012.12/build/tmp-angstrom_v2012_12-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/synergy-1.3.8-r0/synergy-1.3.8-Source/src/lib/platform/CXWindowsScreen.cpp,889
X Error of failed request:  BadValue (integer parameter out of range for operation)
Major opcode of failed request:  53 (X_CreatePixmap)
Value in failed request:  0x0
Serial number of failed request:  12
Current serial number in output stream:  13

A priori ce n’est pas vraiment un problème de synergy mais plutôt un problème avec X Windows. Toujours est-il que synergy n’est, pour l’instant, pas exploitable.

2 Réponses

  1. Antoine dit :

    Bonjour,

    Je me demande s’il n’est pas également possible d’accéder au bureau en distant grâce au service X11 forwarding de SSH…

    • Tee Eff dit :

      La remarque d’Antoine m’a permis d’approfondir mes connaissances.

      En utilisant la commande ssh -X -C root@192.168.7.2 pour se connecter sur le BBB avec SSH, on active le X11 forwarding (-X) et la compression (-C).

      On peut alors lancer des applications graphiques comme nautilus l’explorateur de fichier ou gedit l’éditeur de texte.
      On ferra suivre la commande de & pour récupérer la main immédiatement.

      Dans l’absolu, on devrait pouvoir lancer le bureau gnome mais il n’y a pas beaucoup d’intérêt, le protocole SSH est sécurisé les données échangées sont cryptées ce qui ralenti l’échange. Lorsque l’on connecte le BBB par l’USB il y a peu de risque de voire cette liaison piratée.

URL de trackback pour cette page