欢迎光临
我们一直在努力

从零搭建:Mac 远程控制 Ubuntu 桌面完整教程(无显示器也流畅)

📌 封面引言

日常办公/学习中,你是否遇到过「Ubuntu 主机无显示器无法远程」「跨网控制卡顿」「配置复杂踩坑无数」的问题?无需公网 IP、无需端口映射、无需付费工具,本文手把手教你搭建一套免费、稳定、流畅的远程桌面方案——用 Tailscale 穿透内网,x11vnc 共享桌面,实现 Mac 随时随地控制 Ubuntu 桌面版,拔掉显示器也能丝滑操作,新手也能零失败复刻,收藏这一篇就够了!

前言

本文记录一套稳定、免费、无公网 IP、跨网可用的远程桌面方案:使用 Tailscale 做内网穿透 + x11vnc 共享桌面,实现 Mac 随时随地控制 Ubuntu 桌面版,拔掉显示器也能流畅远程。

一、方案核心原理

  • 服务端(Ubuntu 桌面):x11vnc 提供 VNC 桌面共享,支持密码验证、开机自启

  • 客户端(Mac):RealVNC Viewer 纯客户端,仅用于连接远程桌面

  • 网络层:Tailscale 组建虚拟局域网,实现公司 / 家庭跨网直连,无需端口映射、无需公网 IP

  • 最终效果:Ubuntu 开机自动登录 → x11vnc 后台自启 → Mac 一键直连

二、Ubuntu 服务端完整配置

1. 基础环境配置

1.1 安装并初始化 Tailscale

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

登录 Tailscale 账号后,记录本机的 Tailscale 内网 IP(格式示例:100.x.x.x)。

1.2 关闭 Wayland(x11vnc 必需)

x11vnc 不支持 Wayland,必须切换为 X11:

sudo nano /etc/gdm3/custom.conf

找到并取消注释:

WaylandEnable=false

重启桌面服务生效:

sudo systemctl restart gdm3

2. 安装 x11vnc 并设置独立密码

2.1 安装 x11vnc

sudo apt update && sudo apt install x11vnc -y

2.2 创建系统级密码文件(更安全、适合博客规范写法)

sudo mkdir -p /etc/x11vnc
sudo x11vnc -storepasswd /etc/x11vnc/passwd

输入两次密码,输入时终端不显示,属于正常安全机制

权限加固(防止被非法读取):

sudo chmod 600 /etc/x11vnc/passwd
sudo chown root:root /etc/x11vnc/passwd

3. 配置开机自启(Systemd 服务)

创建服务文件:

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

粘贴标准稳定配置:

[Unit]
Description=x11vnc – VNC Server
After=display-manager.service network.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -forever -shared -rfbauth /etc/x11vnc/passwd -rfbport 5900 -noxdamage
User=root
Restart=on-failure
RestartSec=5
Environment="DISPLAY=:0"

[Install]
WantedBy=graphical.target

重载并启用服务:

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

检查状态:

sudo systemctl status x11vnc

出现 active (running) 即为配置成功。

4. 开启自动登录(无显示器必备)

sudo nano /etc/gdm3/custom.conf

在 [daemon] 区域修改为:

AutomaticLoginEnable=true
AutomaticLogin=你的用户名
WaylandEnable=false

重启生效:

sudo reboot

5. 防火墙(可选)

Tailscale 局域网环境可忽略:

sudo ufw allow 5900/tcp
sudo ufw reload

三、Mac 客户端配置

1. 安装必备软件

  • 安装 Tailscale(与 Ubuntu 登录同一账号)

  • 安装 RealVNC Viewer(仅安装客户端,不要安装 Server 版)

2. 关闭 VNC 代理(避免卡顿、连接失败)

打开 VNC Viewer → 偏好设置:

  • Proxy → 选择 Do not use a proxy

  • Connections → 勾选 Allow direct connections

3. 连接远程桌面

地址格式:

你的Ubuntu内网IP:5900

输入之前设置的 VNC 密码,即可进入桌面。

四、标准装机复刻流程(零失败顺序)

  • 安装 Ubuntu 桌面版

  • 安装 Tailscale 并登录

  • 关闭 Wayland

  • 安装 x11vnc 并设置系统密码

  • 配置 systemd 开机自启

  • 开启自动登录

  • 重启验证

  • Mac 安装客户端并连接

  • 五、高频问题避坑表

    问题现象根本原因解决方案
    连接被拒绝 密码路径错误 / 服务未启动 使用系统绝对密码路径,检查服务状态
    服务启动失败 缺少 DISPLAY 环境变量 服务文件添加 Environment="DISPLAY=:0"
    黑屏 / 无法启动 Ubuntu 默认使用 Wayland 强制关闭 Wayland,使用 X11
    连接极卡 VNC 走云代理 关闭代理,使用 Tailscale 直连
    无显示器无法连接 未登录桌面无画面 开启自动登录
    SSH 隧道复杂卡顿 没必要用隧道 直接使用 Tailscale 内网 IP 直连

    六、日常使用说明

    ✅ Ubuntu 重启后

    开机 → 自动登录 → x11vnc 自启 → Tailscale 联网全程无需任何操作。

    ✅ Mac 连接方式

    打开 VNC Viewer → 输入内网 IP:5900 → 输入密码 → 直接控制。

    七、极简软件清单(无冗余、无冲突)

    必须保留

    • Ubuntu:x11vnc、Tailscale

    • Mac:RealVNC Viewer、Tailscale

    绝不建议安装

    • Ubuntu:RealVNC Server、tigervnc、tightvnc

    • Mac:RealVNC Server、向日葵、TeamViewer 等重复远程工具

    八、配置一键验证脚本

    # 检查 x11vnc 服务状态
    sudo systemctl status x11vnc –no-pager

    # 检查 5900 端口是否监听
    ss -tuln | grep 5900

    # 检查 Tailscale 在线状态
    tailscale status

    # 检查自动登录是否开启
    grep AutomaticLogin /etc/gdm3/custom.conf

    九、额外优化(无显示器流畅方案)

    如果你经常拔掉显示器使用,可安装虚拟显示器,避免 CPU 软渲染卡顿:

    步骤 1:正确、可用的方案:安装 vdummy 虚拟显示器

    # 1. 更新软件源(确保能下载到所需包)
    sudo apt update
    # 2. 安装虚拟显示器驱动(核心,让系统识别虚拟屏幕)
    sudo apt install xserver-xorg-video-dummy -y

    步骤 2:配置虚拟显示器(关键一步)
    创建并修改配置文件,让系统识别虚拟屏幕,具体操作:

    # 打开配置文件
    sudo nano /etc/X11/xorg.conf.d/20-dummy-monitor.conf

    粘贴以下内容(直接复制即可,无需修改):

    Section "Device"
    Identifier "DummyDevice"
    Driver "dummy"
    Option "IgnoreEDID" "true"
    EndSection

    Section "Screen"
    Identifier "DummyScreen"
    Device "DummyDevice"
    Monitor "DummyMonitor"
    DefaultDepth 24
    SubSection "Display"
    Modes "1920×1080"
    EndSubSection
    EndSection

    Section "Monitor"
    Identifier "DummyMonitor"
    Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 3200 1080 1083 1088 1120 -hsync +vsync
    EndSection

    步骤 3:重启 x11vnc 服务,应用配置

    # 重启服务,让虚拟显示器生效
    sudo systemctl restart x11vnc
    # 验证服务是否正常(可选)
    sudo systemctl status x11vnc

    📝 结尾总结(升华价值,引导互动)

    本文从零到一,完整实现了 Mac 跨网远程控制 Ubuntu 桌面的方案,核心优势在于「免费、稳定、无公网依赖、无显示器也能用」——无需复杂的端口映射,无需付费的远程工具,仅用 Tailscale + x11vnc 就搞定所有需求,不管是办公场景还是学习场景,都能满足日常远程控制的需求。

    整个配置过程全程标准化,新手可按步骤零失败复刻,遇到问题可对照「避坑表」快速解决;后续如需优化流畅度,可参考虚拟显示器配置,进一步提升远程体验。

    如果本文对你有帮助,欢迎点赞收藏,也可以在评论区留言交流你的配置心得或遇到的问题,后续会持续更新远程控制相关优化技巧~

    赞(0)
    未经允许不得转载:171主机测评 » 从零搭建:Mac 远程控制 Ubuntu 桌面完整教程(无显示器也流畅)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址