在 Linux Mint 上开启 VNC 远程桌面主要有两种主流方案。你需要根据自己的需求选择:
- 方案一(推荐新手/共享屏幕):使用
x11vnc。- 特点 :连接到你当前正在使用的物理屏幕。你在那边操作,本地屏幕也会同步显示。适合远程协助或查看本机状态。
- 方案二(适合服务器/多用户):使用
TigerVNC。- 特点 :创建一个全新的虚拟桌面。连接后是一个独立的会话,不会干扰本地物理屏幕(甚至本地可以黑屏),且支持多用户同时连接。
以下是详细的操作步骤:
方案一:使用 x11vnc(共享当前物理桌面)
这种方法最简单,适合只想远程控制这台电脑当前画面的用户。
1. 安装 x11vnc
打开终端,输入以下命令:
bash
sudo apt update
sudo apt install x11vnc -y
2. 设置连接密码
你需要设置一个密码,以便远程连接时验证:
bash
x11vnc -storepasswd
输入两次密码后,系统会询问是否保存到默认位置,输入 y 确认。
3. 启动服务
在终端直接运行以下命令即可立即启动服务(端口默认为 5900):
bash
x11vnc -display :0 -auth /home/你的用户名/.Xauthority -forever -loop -noxdamage -repeat -rfbauth /root/.vnc/passwd -rfbport 5900 -shared
注意:只要这个终端窗口不关闭,VNC 服务就会一直运行。
4. 设置开机自启(可选)
要让 x11vnc 在后台持续运行,不受终端关闭影响,最标准、最可靠的方法是将其配置为一个 systemd 系统服务。这样它就能像 SSH 服务一样,在后台默默运行,并支持开机自启。
创建一个 systemd 服务
这个操作会创建一个系统级的服务,让 x11vnc 在后台独立运行。
-
创建服务配置文件
在终端中执行以下命令,创建一个新的服务文件:
bashsudo nano /etc/systemd/system/x11vnc.service -
粘贴配置内容
将下面这段内容完整复制并粘贴到打开的编辑器中。请务必将
YourUsername替换成你自己的用户名 (就是你家目录/home/下的那个名字,比如mint或x)。ini[Unit] Description=Start x11vnc at startup to share the physical display After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -display :0 -auth /home/YourUsername/.Xauthority -forever -loop -noxdamage -repeat -rfbauth /root/.vnc/passwd -rfbport 5900 -shared ExecStop=/usr/bin/killall x11vnc Restart=on-failure RestartSec=2 [Install] WantedBy=multi-user.target -
保存并退出
- 按
Ctrl + O保存文件。 - 按
Enter确认文件名。 - 按
Ctrl + X退出编辑器。
- 按
启动并启用服务
现在创建好了服务,接下来需要启动它,并设置开机自动运行。
-
重新加载 systemd 配置
让系统识别刚刚创建的新服务。
bashsudo systemctl daemon-reload -
启动 x11vnc 服务
立即启动服务,无需重启电脑。
bashsudo systemctl start x11vnc -
设置开机自启
这样以后每次开机,VNC 服务都会自动在后台运行。
bashsudo systemctl enable x11vnc
验证服务状态
执行以下命令,检查服务是否已成功运行。如果看到 active (running),就说明一切正常了。
bash
sudo systemctl status x11vnc
完成以上步骤后,你就可以放心地关闭终端了。x11vnc 服务会继续在后台运行,你的 VNC 连接不会再因此中断。
方案二:使用 TigerVNC(创建独立虚拟桌面)
这种方法更稳定,适合需要长期后台运行、不希望被本地操作干扰的场景。
1. 安装 TigerVNC
bash
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common -y
2. 初始化并设置密码
运行以下命令设置 VNC 登录密码(注意:这与系统登录密码无关,是独立的):
bash
vncserver
首次运行会让你设置密码,并生成配置文件。设置完后,你可以先关闭它:
bash
vncserver -kill :1
3. 配置桌面环境(关键步骤)
如果不配置,连接后可能会遇到"灰屏"只有鼠标。我们需要告诉 VNC 启动哪个桌面(Linux Mint 默认使用 Cinnamon,但为了兼容性,推荐配置为 XFCE 或 MATE,或者确保 Cinnamon 配置正确)。
编辑启动脚本:
bash
nano ~/.vnc/xstartup
将内容修改为(以启动 XFCE 桌面为例,需先安装 xfce4,或者直接尝试启动 cinnamon-session):
bash
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# 如果你要使用 Cinnamon 桌面,请确保安装了 cinnamon-session 并取消下面注释
# exec cinnamon-session &
# 或者使用 XFCE(推荐,更轻量稳定)
exec startxfce4 &
保存并赋予执行权限:
bash
chmod +x ~/.vnc/xstartup
4. 启动服务
再次启动 VNC 服务:
bash
vncserver :1 -geometry 1920x1080
这将启动一个分辨率为 1920x1080 的桌面,对应端口 5901。
第三步:配置防火墙(必须)
无论你使用哪种方案,如果开启了防火墙,都需要放行端口。
- 方案一 (x11vnc) 默认使用端口 5900。
- 方案二 (TigerVNC) 默认使用端口 5901 (对应
:1桌面)。
打开防火墙端口:
bash
# 放行 5900 和 5901 端口
sudo ufw allow 5900/tcp
sudo ufw allow 5901/tcp
💡 安全提示
VNC 协议默认传输是不加密的。如果在局域网内使用问题不大;如果需要**跨互联网(外网)**访问,强烈建议配合 SSH 隧道 使用,或者使用 VPN,以防止密码和屏幕画面被窃听。