Raspberry PI 和 Mac OSx 之间的屏幕共享 [关闭]

Posted

技术标签:

【中文标题】Raspberry PI 和 Mac OSx 之间的屏幕共享 [关闭]【英文标题】:Screen sharing between Raspberry PI and Mac OSx [closed] 【发布时间】:2015-11-28 10:23:01 【问题描述】:

我想使用Screen Sharing OSx 内置应用程序来操作在我的 Raspberry PI 中打开的实际 X 会话。

为了清楚起见,我想在我的 VNC 会话中看到 Raspberry 通过 HDMI 发送的相同图像。所以我可以在我的电脑中移动鼠标,光标也在树莓屏幕中移动。

我尝试了几种 vnc-servers 和配置的组合,但都没有奏效。

【问题讨论】:

嗨!投票赞成这个问题,这样它就不会被删除。我在下面的答案中努力工作:***.com/a/32361133/316700 ;) 【参考方案1】:

由于我已经花了几个小时来解决这个问题,所以我自己回答一下,以防有人需要我想要找到的说明。

首先,最流行的 vnc-server (tightvncserver) 并没有满足我的规范,即在我的 VNC 客户端应用程序和 Raspberry 屏幕中X-session 必须相同

完成这项工作的 vnc-server 是 x11vnc

安装 x11vnc

sudo apt-get install x11vnc

看起来需要您设置密码:

x11vnc -storepasswd

测试安装和连接

你已经可以启动vnc-server了:

x11vnc -forever -usepw -display :0 -ultrafilexfer

检查服务是否处于活动状态并正在监听

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

然后从您的 Mac 连接,只需打开 屏幕共享 并引入 Raspberry 的 ip:

让 x11vnc 在开机时启动

配置:

# ~/.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

确保访问此文件没有问题:

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

让 Raspberry 在 Mac 的共享网络中可见

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

配置:

# /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>

配置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>

重启服务:

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

从您的 Mac 中查找 Raspberry

​​>

使用 Finder 进入部分 Shared > All... 应该是您的 Raspberry。从那里您可以单击按钮共享屏幕...

【讨论】:

如果您有需要改进本手册的 cmets,请随时提出建议。我觉得没有必要安装netatalk 和文件/etc/avahi/services/rfb.service 的步骤我认为这是我在尝试使用tightvncserver 时所做的事情。 不错的费尔南多! (+1)。我已经在使用 avahi 以及 x11vc 和 vnc4server 选项。我喜欢 x11vnc 的地方在于它显示了与主桌面的主会话(我尝试过的其他服务器,包括tightvnc,似乎使用不同的桌面/屏幕)。 x11vnc 对我来说感觉比 vnc4server 慢一点(我可能错了)。通过 X11 看到 GLES 会很棒! 一个建议:如果任何步骤都不起作用,请尝试turn the Raspberry off and on again 不是开玩笑;) 我收到“# ~/.config/autostart/x11vnc.desktop 不存在”警告 - 我是否必须先扩展存储空间或在主文件夹之前进行任何特别访问? 【参考方案2】:

我发现这篇文章很有用,但是我不得不去寻找以下信息来完成我的设置 - 希望这对其他人有所帮助

只是想澄清一下您需要执行以下步骤:

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

然后粘贴上面列出的代码

那么您可能还想通过设置或取消注释/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)

【讨论】:

以上是关于Raspberry PI 和 Mac OSx 之间的屏幕共享 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 和 Raspberry Pi 3 Linux 之间建立 Wifi-Direct 连接

在Android和Raspberry Pi 3 Linux之间建立Wifi-Direct连接

PyMonzo 库和使用 Raspberry Pi 3 的 Adafruit_Neopixel 库之间的冲突

通过移动应用程序在 Raspberry Pi 上显示 OSMC 的电视之间切换

如何为 Raspberry pi 3 编译 ARMv8 代码

在 LCD 显示屏上显示 Raspberry Pi 时钟