我想使用内置在OSx中的屏幕共享应用程序来操作在我的树莓派打开的实际X会话。
仅仅是为了明确,我想在我的VNC会话中看到树莓派通过HDMI发送的相同图像。这样我就可以在我的计算机上移动鼠标,光标也会在树莓派屏幕上移动。
我尝试了几种vnc服务器和配置的组合,但都没有成功。
我想使用内置在OSx中的屏幕共享应用程序来操作在我的树莓派打开的实际X会话。
仅仅是为了明确,我想在我的VNC会话中看到树莓派通过HDMI发送的相同图像。这样我就可以在我的计算机上移动鼠标,光标也会在树莓派屏幕上移动。
我尝试了几种vnc服务器和配置的组合,但都没有成功。
因为我花了好几个小时来解决这个问题,所以我自己回答一下,以防有人需要这些说明,就像我希望找到它们一样。
首先,最流行的vnc服务器(tightvncserver)不能满足我的要求,即在我的VNC客户端应用程序和树莓派屏幕中,X会话必须相同。
能够完成工作的vnc服务器是x11vnc
sudo apt-get install x11vnc
看起来需要您设置一个密码:
x11vnc -storepasswd
您可以立即启动VNC服务器:
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
只需打开屏幕共享并输入 Raspberry 的 IP 地址即可从您的 Mac 连接:
配置:
# ~/.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
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
使用 Finder 进入 Shared > All... 部分,您应该能够找到您的树莓派。从那里,您可以点击 Share Screen... 按钮。
netatalk
和文件/etc/avahi/services/rfb.service
这一步骤是不必要的,我认为这是我在尝试使用tightvncserver
时做的事情。 - fguillencd ~/.config/
2. 输入命令mkdir autostart
3. 输入命令nano x11vnc.desktop
4. 粘贴上面列出的代码/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)