4.配置远程桌面(VNC)
配置远程桌面(VNC)
实验背景
尝试配置远程桌面,从而更方便操作。但是配置的时候遇到了问题:
首先是连接不上,因为还没有对开发板进行VNC配置;
其次是连接之后,没有显示Ubuntu桌面,而是黑屏+白色命令行。(如下图)

最后在Deepseek的帮助下总算解决问题。
因为试错步骤太繁琐,所以关于环境配置只记录最后解决问题的步骤。不排除有需要安装的软件包没写进来。
实验步骤
一、在开发板上配置VNC环境
- 必需的软件包
# TigerVNC 服务器核心组件
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common
# 或者安装完整套件
sudo apt install tigervnc-scraping-server tigervnc-common
- VNC密码设置
# 必须设置VNC连接密码
vncpasswd
注意:这会创建 ~/.vnc/passwd 文件
- xstartup配置文件
# 必须存在正确的xstartup文件
mkdir -p ~/.vnc
cat > ~/.vnc/xstartup << 'EOF'
#!/bin/bash
export XDG_SESSION_TYPE=x11
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_SESSION_DESKTOP=ubuntu
# 修复环境变量问题
unset DBUS_SESSION_BUS_ADDRESS
unset SESSION_MANAGER
# 设置显示
export DISPLAY=:1
# 启动GNOME组件
gnome-shell --replace &
gnome-session --session=ubuntu &
nautilus -n &
gnome-terminal &
EOF
chmod +x ~/.vnc/xstartup
- 用户服务支持
# 检查用户systemd是否可用
systemctl --user status
# 如果用户服务在重启后需要保持运行,启用linger
sudo loginctl enable-linger $USER
- 创建用户级systemd服务
# 创建用户服务目录(如果不存在)
mkdir -p ~/.config/systemd/user
# 创建VNC服务文件
cat > ~/.config/systemd/user/vncserver.service << 'EOF'
[Unit]
Description=TigerVNC Server
After=network.target # 在网络就绪后启动
[Service]
Type=forking # VNC服务器会fork到后台
ExecStartPre=/bin/bash -c 'until ping -c1 8.8.8.8; do sleep 1; done'
# ↑ 等待网络连接就绪(可改为等待特定服务)
ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -depth 24 -localhost no
ExecStop=/usr/bin/vncserver -kill :1
Restart=on-failure # 失败时自动重启
RestartSec=5 # 重启前等待5秒
[Install]
WantedBy=default.target # 在用户会话启动时运行
EOF
# 重新加载并启用服务
systemctl --user daemon-reload
systemctl --user enable vncserver.service
systemctl --user start vncserver.service
二、安装RealVNC Viewer
安装教程:VNC Viewer安装教程(保姆级安装)-CSDN博客
建立连接:点击File➡New connection,然后在VNC Server一栏输入开发板建立连接时用的IP。之后打开连接即可。




浙公网安备 33010602011771号