web-dev-qa-db-fra.com

Partage d'écran entre Raspberry Pi et Mac OSx

Je veux utiliser l'application Partage d'écran OSx intégrée pour manipuler la session X réelle ouverte dans mon Raspberry Pi.

Juste pour être clair, je veux voir dans ma session VNC la même image que la framboise envoie via HDMI. Je peux donc déplacer la souris dans mon ordinateur et le curseur se déplace également dans l'écran Raspberry.

J'ai essayé plusieurs combinaisons de serveurs vnc et de configurations, mais aucune n'a fonctionné.

20
fguillen

Comme j'ai passé plusieurs heures à résoudre ce problème, je réponds donc moi-même au cas où quelqu'un aurait besoin des instructions que je voudrais trouver.

Tout d'abord, le vnc-server le plus populaire ( tightvncserver ) ne remplit pas ma spécification selon laquelle la session X doit être la même dans mon application client VNC et dans l'écran Raspberry.

Le serveur vnc qui fait le travail est x11vnc

Installer x11vnc

Sudo apt-get install x11vnc

Il semble que vous ayez besoin de configurer un mot de passe:

x11vnc -storepasswd

Tester l'installation et la connexion

Vous pouvez déjà démarrer le serveur vnc:

x11vnc -forever -usepw -display :0 -ultrafilexfer

Vérifiez que le service est actif et à l'écoute

$ Sudo netstat -nlp | grep vnc
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      2575/x11vnc  

Et connectez-vous à partir de votre Mac en ouvrant Partage d'écran et en introduisant l'ip du Raspberry:

enter image description here

Faire x11vnc pour démarrer au démarrage

Config:

# ~/.config/autostart/x11vnc.desktop
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment=
Exec=x11vnc -forever -usepw -display :0 -ultrafilexfer
StartupNotify=false
Terminal=false
Hidden=false

Assurez-vous qu'il n'y a aucun problème pour accéder à ce fichier:

Sudo chmod a+r ~/.config/autostart/x11vnc.desktop

Rendre la framboise visible dans le réseau de partage du Mac

Sudo apt-get install netatalk
Sudo apt-get install avahi-daemon
Sudo update-rc.d avahi-daemon defaults

Config:

# /etc/avahi/services/afpd.service
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
   <name replace-wildcards="yes">%h</name>
   <service>
      <type>_afpovertcp._tcp</type>
      <port>548</port>
   </service>
</service-group>

Config 2:

# /etc/avahi/services/rfb.service
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">%h</name>
  <service>
    <type>_rfb._tcp</type>
    <port>5900</port>
  </service>
</service-group>

Redémarrez le service:

Sudo /etc/init.d/avahi-daemon restart

Trouver la framboise à partir de votre Mac

Utiliser Finder dans la section Partagé> Tous ... devrait être votre framboise. De là, vous pouvez cliquer sur le bouton Partager l'écran ...

enter image description here

39
fguillen

J'ai trouvé cet article utile mais j'ai dû chercher les informations suivantes pour terminer ma configuration - j'espère que cela aidera quelqu'un d'autre

Je veux juste clarifier le dont vous avez besoin pour effectuer les étapes suivantes:

  • cd ~/.config/
  • mkdir autostart
  • nano x11vnc.desktop

puis collez le code ci-dessus

vous pouvez également modifier la résolution en définissant ou en supprimant les commentaires, les lignes suivantes, dans /boot/config.txt:

hdmi_force_hotplug=1
hdmi_group=1
hdmi_mode=16 # (or any other pi resolution you want, 16 is for 1080p) Reboot your Pi (Sudo reboot)
3
jd11