当前位置: 首页 > news >正文

Ubuntu 物理桌面远程访问教程(基于 RealVNC / mstsc)

Ubuntu 物理桌面远程访问教程(基于 RealVNC / mstsc)

适用对象:任意安装了 GNOME + GDM 的 Ubuntu 系统
目标:远程连接系统默认物理桌面 :0,无虚拟桌面、无 Xfce,真实 GNOME 桌面环境


1. 准备条件

  • Ubuntu 系统已安装并正常运行 GNOME 桌面(Ubuntu Desktop)
  • GDM3 作为默认显示管理器(登录管理器)
  • 系统默认启动目标为图形界面
  • 网络可达,VNC 客户端已安装(RealVNC Viewer、mstsc + VNC插件等)

2. 安装必要软件

sudo apt update
sudo apt install gdm3 ubuntu-desktop gnome-shell gnome-session x11vnc -y

说明:

  • gdm3 是 GNOME 显示管理器
  • x11vnc 是用于远程附着物理桌面的 VNC 服务器

3. 配置默认显示管理器为 GDM3

执行:

sudo dpkg-reconfigure gdm3

选择 gdm3 作为默认显示管理器。

如果该命令无效,手动检查:

cat /etc/X11/default-display-manager

应为:

/usr/sbin/gdm3

4. 设置系统默认启动到图形界面

sudo systemctl set-default graphical.target

5. 配置 GDM 自动登录(可选)

编辑:

sudo nano /etc/gdm3/custom.conf

找到并取消注释以下行,替换为你的用户名:

AutomaticLoginEnable = true
AutomaticLogin = your_username

保存并退出。


6. 创建 x11vnc systemd 服务,附着物理桌面

创建服务文件:

sudo nano /etc/systemd/system/x11vnc.service

写入:

[Unit]
Description=Start x11vnc at boot and attach to physical display :0
After=graphical.target network.target gdm.service
Requires=graphical.target[Service]
Type=simple
User=your_username
ExecStart=/usr/bin/x11vnc -display :0 -auth guess -forever -shared -nopw
Restart=on-failure
Environment=DISPLAY=:0
Environment=XAUTHORITY=/home/your_username/.Xauthority[Install]
WantedBy=graphical.target

注意替换所有 your_username 为你的实际登录用户名。


7. 启用并启动 x11vnc 服务

sudo systemctl daemon-reload
sudo systemctl enable x11vnc
sudo systemctl start x11vnc

8. 重启系统

sudo reboot

9. 验证物理桌面运行状态

SSH 登录后执行:

ps -ef | grep gnome-shell

如果显示有 gnome-shellgnome-session/usr/lib/xorg/Xorg :0 等进程,说明物理桌面正常启动。


10. 使用 RealVNC 或 mstsc(带 VNC 插件)连接

  • 目标地址:Ubuntu 机器 IP 地址
  • 端口:默认 5900
  • 连接后即可看到完整的系统 GNOME 物理桌面,无虚拟桌面,无 Xfce。

常见问题

  • 连接被拒绝:确认防火墙是否放行5900端口
  • 黑屏或无响应:确认 GDM 正常运行,系统已进入图形界面
  • 认证失败:x11vnc 配置了 -nopw,初期可无密码,正式环境建议设置密码

总结

  • 本方案直接附着 Ubuntu 默认物理桌面
  • 避免使用虚拟桌面脚本或 Xfce 桌面
  • 适合 Jetson、服务器或任何 Ubuntu 桌面远程访问需求
  • 兼容 RealVNC、mstsc(结合 VNC 插件)等常用客户端
http://www.lqws.cn/news/518617.html

相关文章:

  • 北斗导航 | 基于CNN-LSTM-PSO算法的接收机自主完好性监测算法
  • Spring Boot 项目文档编写工具推荐
  • 聚焦OpenVINO与OpenCV颜色通道转换的实践指南
  • UniApp 开发第一个项目
  • 防静电地板更换不是建材更新,而是重铸安全防线!
  • nn.Embedding 和 word2vec 的区别
  • 基于LangChat搭建RAG与Function Call结合的聊天机器人方案
  • Catchadmin 使用相关问题
  • Android11 深休后系统定时唤醒导致网络请求服务器过载
  • 数据结构篇-二分图
  • Class00.2线性代数
  • 【评估指标】IoU 交并比
  • Day.42
  • 高等数学》(同济大学·第7版)第七章 微分方程 第五节可降阶的高阶微分方程
  • 【网站内容安全检测】之1:获取网站所有链接sitemap数据
  • Web3D技术协议的AI革命:生成式模型如何改写交互标准?
  • 操作系统之内存管理(王道)
  • LeeCode349. 两个数的交集
  • 基于大模型的甲状腺结节预测及综合诊疗技术方案大纲
  • 防火墙快速管理软件,66K超小巧
  • Java 日志框架选型:SLF4J + Logback vs. Log4j2 的深度解析
  • iClone 中创建的面部动画导入 Daz 3D
  • Spring AOP 中有多个切面时执行顺序是怎样的?
  • Android14音频子系统-Audio HAL分析
  • 南北差异之——跨端理解能力
  • sql格式化自动识别SQL语法结构
  • gsql: command not found
  • OpenLayers 上传Shapefile文件
  • 基于 Python 的批量文件重命名软件设计与实现
  • 智哪儿专访 | Matter中国提速:开放标准如何破局智能家居“生态孤岛”?