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

Window远程连接Linux桌面版

Window远程连接Linux桌面版

卸载RealVNC Server

一、确认是否安装了 VNC Server

先检查是否已安装:

which vncserver
# 或
dpkg -l | grep vnc
# 或
rpm -qa | grep vnc

二、在 Debian / Ubuntu 上卸载(.deb 安装)

1. 卸载 RealVNC Server 软件包
sudo apt remove realvnc-vnc-server
# 或完全删除(包括配置文件)
sudo apt purge realvnc-vnc-server
2. 删除残余文件(可选)
sudo rm -rf /etc/vnc /root/.vnc ~/.vnc
3. 关闭并禁用服务(如未自动移除)
sudo systemctl stop vncserver-x11-serviced.service
sudo systemctl disable vncserver-x11-serviced.service

四、验证卸载结果

运行命令确认:

which vncserver

若无输出说明已卸载干净。

卸载TigerVNC Server

一、彻底卸载所有 TigerVNC 组件

执行以下命令:

sudo apt purge tigervnc-common tigervnc-viewer tigervnc-standalo

purge 会删除包括配置文件在内的所有内容;standalone-server 虽然已被移除(rc 状态),仍可清理其残留配置。

然后清理依赖:

sudo apt autoremove

二、确认是否已卸载干净

检查是否还有相关残留:

dpkg -l | grep vnc
which vncserver

若无输出,则说明卸载成功。

三、(可选)删除用户配置目录(残留)

有些 VNC 工具会在用户主目录创建 .vnc 文件夹:

rm -rf ~/.vnc
sudo rm -rf /root/.vnc

安装VNC Server

笔者使用的是 VNC Viewer 桌面版(客户端),目标是从 Windows 远程控制 Linux 机器的桌面
那么在 Linux 上需要安装和配置的是 VNC Server,使其开放桌面服务供远程访问,下面是操作步骤。

一、Linux 上安装 VNC Server(供 Windows 控制)

这里推荐安装 TigerVNC Server,开源、稳定,适用于大多数 Linux 桌面环境。
(也可选用 RealVNC、x11vnc 等,但 TigerVNC 兼容性较好)

1. 安装 TigerVNC Server
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common

二、配置 VNC Server 用户会话

1. 设置 VNC 密码(每个用户执行一次)
vncpasswd
2. 启动一次 VNC Server 以生成配置目录
vncserver

你将看到类似输出:

New 'hostname:1 (username)' desktop is hostname:1

这表示你可以通过端口 5901(=5900+1)访问。

三. 配置启动的Window桌面环境

1. 访问官网下载页面

打开浏览器,进入:

👉 https://www.realvnc.com/en/connect/download/viewer/

选择对应系统(Windows),点击 “Download VNC Viewer” 按钮。

2. 安装程序
  • 下载完成后,双击 .exe 安装文件
  • 按提示点击 “下一步(Next)”“安装(Install)”,安装过程非常快
  • 安装完成后可从桌面图标或开始菜单启动
3. 连接远程 Linux 桌面
  1. 启动 VNC Viewer
  2. 在“Enter a VNC Server”输入框中输入你 Linux 主机的 IP 和会话号,例如:
192.168.123.222:1
  1. 回车
  2. 在弹出的窗口中输入你在 Linux 上运行 vncpasswd 设置的 VNC 密码
  3. 点击“OK”进入桌面
提示
  • 端口说明:1 表示 TCP 端口 5901,如果你启动的是 :2,那对应的是 5902,以此类推。
  • 如果你仍然无法连接,请确保:
    • Linux 的 VNC Server 启动且监听了局域网(-localhost no
    • 防火墙允许 5901 端口
    • Windows 与 Linux 在同一网段(如都在 192.168.123.x

四、防火墙与端口开放

确保 Linux 的防火墙允许 5901 端口(或更多):

sudo ufw allow 5901/tcp

如果你使用其他显示号,如 :2,则对应 5902

五、停止 VNC 会话

vncserver -kill :1

过程性问题

一、查看linux的主机IP

1.推荐命令

ip a

或更简洁:

ip addr show

你会看到类似输出:

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...inet 192.168.123.161/24 brd 192.168.123.255 scope global dynamic eth0

其中:

  • inet 后的 192.168.123.161 就是你的本机 IP 地址。
  • eth0enp0s3wlan0 表示有线或无线网卡接口。
2.只显示本机 IP(不含其他信息)
hostname -I

输出类似:

192.168.123.161

二、VNC Viewer显示拒绝连接

当你在 VNC Viewer 中看到报错:

“The connection was refused by the computer”

这意味着 VNC Viewer 客户端 成功找到目标 IP,但目标主机没有在对应端口上运行 VNC 服务

1.查看VNC是否已经成功启动
vncserver -list

输出类似:

TigerVNC server sessions:X DISPLAY #     RFB PORT #      PROCESS ID
:1              5901            1832105
(base) phm@Robot:~/Soft$ ss -tlnp | grep 5901
LISTEN    0         5                127.0.0.1:5901             0.0.0.0:*        users:(("Xtigervnc",pid=1832105,fd=7))                                         
LISTEN    0         5                    [::1]:5901                [::]:*        users:(("Xtigervnc",pid=1832105,fd=8)) 

这说明已经成功启动了 VNC Server,但仍然 无法通过 Windows 的 VNC Viewer 远程连接,原因是:

当前 VNC 仅监听在 127.0.0.1(本地回环地址),此时VNC Server 只接受来自本机的连接请求,不接受局域网中其他设备的连接(如你的 Windows PC)。

2.让 VNC Server 监听所有网络接口(0.0.0.0)

你需要在启动 VNC Server 时加参数或配置,使其监听外部连接

🔧 用 -localhost no 参数启动

执行以下命令停止 VNC Server:

vncserver -kill :1

然后重新启动,禁用 localhost 限制

vncserver :1 -localhost no

然后再执行:

ss -tlnp | grep 5901

你应该看到:

LISTEN 0 5 0.0.0.0:5901  ...

这就表示 VNC 已开放给局域网访问。

🧠 可选:设置默认参数(以后不需要每次加 -localhost no

编辑配置文件:

nano ~/.vnc/config

添加:

localhost no

保存后,以后你每次执行 vncserver :1 就会默认监听所有地址。

✅ 再次测试连接

从 Windows VNC Viewer 连接:

192.168.123.222:1

输入密码,即可远程桌面控制。

🛡️ 如果仍无法连接,请确保防火墙允许

sudo ufw allow 5901/tcp

三、进入linux远程桌面后卡在了显示器颜色配置

程连接后遇到的这个弹窗:

“Authentication is required to create a color profile”

是 Linux 图形系统尝试为显示器配置颜色管理(Color Management)时触发的权限请求。在 VNC 环境中,它其实是无用的,完全可以禁止提示或绕过。

1.解决方法一(推荐):禁止 colord 服务的色彩管理弹窗
  1. 编辑 PolicyKit 权限文件(需 sudo):
sudo nano /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf
  1. 添加如下内容:
[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device
ResultAny=no
ResultInactive=no
ResultActive=no
  1. 保存退出,重启 VNC:
vncserver -kill :1
vncserver :1
2.解决方法二:直接禁用 colord 服务(彻底关闭色彩管理)

⚠️ 适用于你不需要任何色彩管理功能的环境(比如机器人或服务器远程 GUI)。

bash复制代码sudo systemctl stop colord
sudo systemctl disable colord

然后重新启动 VNC 会话。

4.方法三(临时):忽略该提示

你也可以不理会此提示,直接拖到一边;它不会影响大多数功能。但每次连接时都会弹出,比较烦人。

http://www.xdnf.cn/news/7082.html

相关文章:

  • 掘金欧洲宠物经济新蓝海:比利时天然宠粮市场爆发与跨境新机遇
  • c++从入门到精通(六)--特殊工具与技术-完结篇
  • Azure 机器学习初学者指南
  • Nacos数据写入流程
  • 深入理解EKS 工作节点的网络架构
  • Cadence学习笔记之---PCB器件放置与布局
  • SSM框架整合:从入门到实战
  • 大模型微调步骤整理
  • Flink CEP是什么?
  • 【数据结构与算法】ArrayList 与顺序表的实现
  • C++23 新特性:使某些视图的多参数构造函数显式化(P2711R1)
  • HBM的“暗战”
  • Spring AOP从0到1
  • STM32CubeMX生成UTF-8编码文件的设置方法
  • 第12章 Java多线程机制
  • 阶段四 项目1-苍穹外卖 第一章 Git
  • 基于matlab/simulink锂电池算法学习集合(SOC、SOH、BMS)
  • FloodFill算法:洪水般的图像处理艺术
  • #Redis黑马点评#(六)Redis当中的消息队列
  • 从0到1吃透卷积神经网络(CNN):原理与实战全解析
  • Java基于数组的阻塞队列实现详解
  • Qt音视频开发过程中一个疑难杂症的解决方法/ffmpeg中采集本地音频设备无法触发超时回调
  • 健康生活:养生实用指南
  • 浅谈无服务器WebSocket的优势
  • 什么是open BMC?
  • Spring AI Alibaba集成阿里云百炼大模型
  • 异常日志规范
  • 低功耗模式介绍
  • Java配置文件处理工具全解析
  • 人工智能赋能产业升级:AI在智能制造、智慧城市等领域的应用实践