Linux远程桌面怎么用?VNC/XRDP教程
时间:2026-03-08 09:33:36 192浏览 收藏
想在Linux系统上像操作本地电脑一样远程操控图形界面?本文手把手教你部署两种主流方案——轻量高效的TigerVNC(适合多用户、跨平台访问)和开箱即用的XRDP(支持Windows原生远程桌面直连),涵盖Ubuntu/Debian/CentOS/RHEL等主流发行版的完整安装、systemd服务配置、防火墙与SELinux策略调优,以及xstartup脚本定制、端口开放、客户端连接验证等关键细节,助你快速搭建安全稳定、功能完整的Linux远程桌面环境。

如果您希望在Linux系统上实现图形界面的远程访问,则需要安装并配置远程桌面服务。以下是针对VNC和XRDP两种主流方案的具体操作步骤:
一、安装并配置TigerVNC Server
TigerVNC是一个高性能、跨平台的VNC服务器,适用于大多数Linux发行版,支持加密连接与多用户会话管理。
1、以root权限更新系统软件包列表:
sudo apt update(Ubuntu/Debian)或 sudo yum update(CentOS 7)或 sudo dnf update(CentOS 8/RHEL 8/Fedora)。
2、安装TigerVNC服务器:
sudo apt install tigervnc-standalone-server tigervnc-xorg-extension(Ubuntu/Debian);
sudo yum install tigervnc-server(CentOS 7);
sudo dnf install tigervnc-server(CentOS 8+)。
3、为普通用户初始化VNC密码文件:
su - username -c 'vncserver',首次运行将提示输入至少6位长度的VNC访问密码,并生成~/.vnc/config与~/.vnc/xstartup文件。
4、编辑用户家目录下的~/.vnc/xstartup文件,确保包含以下关键行(取消注释或补充):
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/Xsession
5、赋予xstartup可执行权限:
chmod +x ~/.vnc/xstartup。
6、创建systemd服务单元文件/etc/systemd/system/vncserver@:1.service,内容需适配用户名与显示号,其中Display=:1必须与启动命令中的端口号一致。
7、重载systemd配置并启用服务:
sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service。
二、安装并启用XRDP服务(适用于GNOME/KDE桌面)
XRDP是开源RDP服务器,允许Windows远程桌面客户端直接连接Linux图形界面,兼容性好且无需额外客户端软件。
1、在Ubuntu/Debian系统中执行:
sudo apt install xrdp
2、在CentOS/RHEL/Fedora中执行:
sudo yum install epel-release -y && sudo yum install xrdp(CentOS 7);
sudo dnf install xrdp(CentOS 8+)。
3、确认桌面环境已安装并设为默认:GNOME(ubuntu-desktop)、KDE(kde-plasma-workspaces)或Xfce(xfce4)均被XRDP支持;
若使用GNOME,需额外安装gnome-tweaks与dconf-editor以修复剪贴板同步问题。
4、修改XRDP监听配置文件/etc/xrdp/xrdp.ini,在[Globals]段下确认port=3389未被注释。
5、启动并启用xrdp服务:
sudo systemctl start xrdp
sudo systemctl enable xrdp
6、开放防火墙中的3389端口:
sudo ufw allow 3389(Ubuntu);
sudo firewall-cmd --permanent --add-port=3389/tcp && sudo firewall-cmd --reload(CentOS/RHEL)。
三、配置SELinux策略(仅限RHEL/CentOS启用SELinux时)
SELinux可能阻止XRDP或VNC服务绑定网络端口或访问X11资源,需加载对应策略模块以保障服务正常运行。
1、检查SELinux当前状态:
sestatus | grep "current mode"
2、若为enforcing模式,执行以下命令启用RDP相关布尔值:
sudo setsebool -P xrdp_exec_t 1
sudo setsebool -P xrdp_connect_net 1
3、为VNC服务添加SELinux端口上下文:
sudo semanage port -a -t vnc_port_t -p tcp 5901
4、重启xrdp或vncserver服务使SELinux策略生效。
四、验证远程连接可用性
在客户端设备上使用标准远程桌面工具发起连接,确认服务端响应并完成身份认证流程。
1、Windows用户打开“远程桌面连接”(mstsc.exe),输入Linux服务器IP地址及端口(XRDP用3389,VNC用5901)。
2、macOS用户可使用Microsoft Remote Desktop或RealVNC Viewer,Linux用户可使用Remmina或vinagre。
3、首次连接XRDP时,选择会话类型为Xorg而非VNC-Xvnc,避免黑屏或登录循环。
4、VNC连接时,客户端地址格式应为IP地址::5901(注意双冒号),部分客户端要求手动指定端口字段。
5、成功登录后,检查图形界面响应速度、键盘布局、剪贴板共享及音频重定向功能是否就绪。
本篇关于《Linux远程桌面怎么用?VNC/XRDP教程》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
132 收藏
-
119 收藏
-
221 收藏
-
292 收藏
-
176 收藏
-
491 收藏
-
385 收藏
-
356 收藏
-
167 收藏
-
486 收藏
-
311 收藏
-
363 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习