使用 VNC 远程访问 PI-SG565D 单板电脑
                            
                            
                                
                                    2025-10-29
                                
                            
                        
                        
                        前提:
- 有线网络:插上网线,PI-SG565D 会自动获取 IP(DHCP 协议)
Linux系统
Linux 系统已经内置了 tigervnc server 服务,可以直接使用。
1.设置 VNC 密码
在设备终端上输入以下命令:
# 按提示连续输入2次密码
mkdir ~/.vnc
vncpasswd -f > ~/.vnc/passwd
2.创建启动脚本
在设备终端上输入以下命令:
# 创建脚本
cat > start_xvnc.sh << 'EOF'
#!/bin/bash
echo "Cleaning up previous sessions..."
pkill -9 -f xfce
pkill -9 -f xfwm4
pkill -9 -f Xvnc
sleep 2
echo "Starting VNC server..."
Xvnc :1 -geometry 1280x720 -depth 24 -rfbport 5901 -rfbauth ~/.vnc/passwd &
sleep 5
export DISPLAY=:1
echo "Starting window manager (without compositing)..."
xfwm4 --display=:1 --compositor=off &
WM_PID=$!
sleep 3
if ps -p $WM_PID > /dev/null; then
    echo "Window manager started successfully (PID: $WM_PID)"
else
    echo "Failed to start window manager"
    exit 1
fi
echo "Starting XFCE4 session..."
startxfce4 &
sleep 5
echo "Desktop components status:"
ps aux | grep -E "(xfce|xfwm|xfsettings|xfdesktop|xfce4-panel)" | grep -v grep
EOF
# 修改权限
chmod +x start_xvnc.sh
3.管理命令
# 启动 VNC
./start_xvnc.sh
# 停止 VNC
pkill -9 -f xfce
pkill -9 -f xfwm4  
pkill -9 -f Xvnc
# 查看状态
ps aux | grep vnc
netstat -tln | grep 59
4.测试连接
# 从其他电脑连接,按提示输入密码即可登录
# 例如 vncviewer 10.66.82.*:5901
vncviewer <设备 IP 地址>:5901
- 连接成功后,你将会看到以下画面

Debian系统
Debian 系统由于底层 Wayland 存在协议兼容性问题,目前只能采取 Xvfb + x11vnc 方案。
1.安装必要软件
使用调试串口或者 adb shell 进入终端窗口,输入以下命令
sudo apt update
sudo apt install -y xvfb xfce4 x11vnc
- 遇到选项时,直接按回车键即可
2.设置 VNC 密码
在设备终端上输入以下命令:
# 按提示连续输入2次密码
mkdir -p ~/.vnc
x11vnc -storepasswd
3.创建启动脚本
在设备终端上输入以下命令:
# 创建脚本
cat > ~/vnc_start.sh << 'EOF'
#!/bin/bash
echo "=== Starting Reliable VNC Server ==="
pkill Xvfb
pkill x11vnc
pkill startxfce4
sleep 2
echo "1. Starting virtual display..."
Xvfb :99 -screen 0 1280x720x24 -ac &
sleep 5
echo "2. Setting display environment..."
export DISPLAY=:99
echo "3. Starting desktop environment..."
startxfce4 &
sleep 10
echo "4. Starting VNC server..."
x11vnc -display :99 -forever -shared -rfbauth ~/.vnc/passwd -rfbport 5900 -bg
sleep 3
echo "=== Verification ==="
echo "VNC Process: $(ps aux | grep x11vnc | grep -v grep | wc -l)"
echo "Port Status: $(ss -tlnp | grep 5900 | wc -l)"
echo ""
echo " VNC SERVER READY!"
echo " Connect to: $(hostname -I | awk '{print $1}'):5900"
echo " No password required"
echo " Full desktop environment available"
EOF
# 修改权限
chmod +x ~/vnc_start.sh
- 设置登录密码,x11vnc -display :99 -forever -shared -rfbauth ~/.vnc/passwd -rfbport 5900 -bg
- 不设置登录密码,x11vnc -display :99 -forever -shared -nopw -rfbport 5900 -bg
4.切换x11会话
# 编辑 GDM 配置强制使用 X11
sudo nano /etc/gdm3/daemon.conf
# 在文件中取消注释(即去掉最前面的#),不使用 wayland 协议
WaylandEnable=false
# 重启 GDM
sudo systemctl restart gdm3
- GDM 配置强制使用 X11 后,设备连接的显示屏将不能显示
5.管理命令
# 启动 VNC
./vnc_start.sh
# 停止 VNC
pkill Xvfb
pkill x11vnc
# 查看状态
ps aux | grep -E "(Xvfb|x11vnc)"
ss -tlnp | grep 5900
6.测试连接
# 从其他电脑连接,按提示输入密码即可登录
# 例如 vncviewer 10.66.82.*:5900
vncviewer <设备 IP 地址>:5900
- 连接成功后,你将会看到以下画面

7.恢复显示
GDM 配置强制使用 X11 后,设备连接的显示屏将不能显示,若想恢复显示,需输入以下命令
# 编辑 GDM 配置
sudo nano /etc/gdm3/daemon.conf
# 在文件中添加注释(即加上最前面的#),使用 wayland 协议
#WaylandEnable=false
# 重启 GDM
sudo systemctl restart gdm3
- 目前测试可能还存在 bug,恢复后鼠标图标有可能找不到
