Raspberry PI 和 Mac OSx 之间的屏幕共享
Screen sharing between Raspberry PI and Mac OSx
我想使用 Screen Sharing OSx 内置应用程序来操纵在我的 Raspberry PI 中打开的实际 X 会话。
需要说明的是,我想在我的 VNC 会话中看到 Raspberry 通过 HDMI 发送的相同图像。所以我可以在我的电脑上移动鼠标,光标也在Raspberry屏幕上移动。
我尝试了几种 vnc-servers 和配置的组合,但都没有用。
因为我花了几个小时解决这个问题,所以我自己回答,以防有人需要我想要的说明。
首先,最流行的 vnc-server (tightvncserver) 没有满足我的规范,即 我的 VNC 客户端应用程序中的 X-session 必须相同并在 Raspberry 屏幕中。
完成这项工作的 vnc 服务器是 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
中找到覆盆子
使用 Finder 进入 Shared > All... 部分应该是您的 Raspberry。从那里您可以单击按钮 Share Screen...
我发现这个 post 很有用,但是我不得不寻找以下信息来完成我的设置 - 希望这对其他人有帮助
只是想澄清一下,您需要执行以下步骤:
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)
我想使用 Screen Sharing OSx 内置应用程序来操纵在我的 Raspberry PI 中打开的实际 X 会话。
需要说明的是,我想在我的 VNC 会话中看到 Raspberry 通过 HDMI 发送的相同图像。所以我可以在我的电脑上移动鼠标,光标也在Raspberry屏幕上移动。
我尝试了几种 vnc-servers 和配置的组合,但都没有用。
因为我花了几个小时解决这个问题,所以我自己回答,以防有人需要我想要的说明。
首先,最流行的 vnc-server (tightvncserver) 没有满足我的规范,即 我的 VNC 客户端应用程序中的 X-session 必须相同并在 Raspberry 屏幕中。
完成这项工作的 vnc 服务器是 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
中找到覆盆子使用 Finder 进入 Shared > All... 部分应该是您的 Raspberry。从那里您可以单击按钮 Share Screen...
我发现这个 post 很有用,但是我不得不寻找以下信息来完成我的设置 - 希望这对其他人有帮助
只是想澄清一下,您需要执行以下步骤:
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)