欢迎光临
我们一直在努力

Windows 远程桌面连接 CentOS 系统:xrdp 安装配置与常见问题解决指南

引言

xrdp 是一个开源的 RDP 服务器,允许你使用 Windows 自带的远程桌面客户端连接到 Linux 系统。在 CentOS 上安装和配置 xrdp 后,Windows 用户即可通过远程桌面连接访问 CentOS 桌面环境。

基本概念

XRDP 提供基于 RDP(Microsoft 远程桌面协议)的图形登录功能,支持来自 FreeRDP、rdesktop、NeutrinoRDP 以及 Microsoft 远程桌面客户端(适用于 Windows、macOS、iOS 和 Android)等各类客户端的连接。

安装桌面软件环境

首先需要为 CentOS 安装图形桌面环境,这里以 X Window System 和 MATE Desktop 为例。

  1. 安装 X Window System:
    yum groups install "X Window System"
  2. 安装 MATE Desktop:
    yum groups install "MATE Desktop"
  3. 查看已安装的桌面环境组:
    yum grouplist
  4. 设置系统默认以图形界面启动:
    systemctl set-default graphical.target
  5. 重启服务器使配置生效:
    reboot

重启后,可通过云服务器控制台的管理终端验证桌面环境是否正常启动。

安装与配置 XRDP

1. 切换 root 用户

sudo su - root

2. 安装 EPEL 库

检查是否已安装 EPEL 库:

rpm -qa | grep epel

若未安装,则执行:

yum install epel-release

3. 安装 xrdp 与 VNC 服务

xrdp 最终会自动启用 VNC,因此必须安装 tigervnc-server,否则 xrdp 无法正常工作。

yum install xrdp
yum install tigervnc-server

为 root 用户设置 VNC 密码:

vncpasswd root

4. 修改 xrdp 最大连接数(可选)

编辑 /etc/xrdp/xrdp.ini,默认最大连接数为 32,可根据需要调整:

max_bpp=32

5. 防火墙设置

确保两台机器可以相互访问。若在局域网内测试,可直接关闭防火墙:

systemctl stop firewalld.service
systemctl disable firewalld.service

或者不关闭防火墙,仅开放 3389 端口:

firewall-cmd --permanent --zone=public --add-port=3389/tcp
firewall-cmd --reload

6. 关闭 SELinux

查看 SELinux 状态:

sestatus

临时关闭:

setenforce 0

永久关闭:编辑 /etc/selinux/config,设置 SELINUX=disabled。

7. 启动 xrdp 服务

systemctl start xrdp
systemctl enable xrdp

停止服务:

systemctl stop xrdp

检查端口监听情况:

netstat -antup | grep xrdp

查看服务状态:

systemctl status xrdp

远程连接测试

在 Windows 中打开远程桌面连接(运行 mstsc),输入 CentOS 的 IP 地址,选择 CentOS 上已有的用户名,然后输入对应的 VNC 密码即可登录。连接成功后,即可看到与物理主机一致的桌面界面。

使用 MobaXterm 连接

MobaXterm 可替代 Windows 自带的 mstsc,支持剪贴板共享,方便在 Windows 与 CentOS 之间复制粘贴。打开 Session -> RDP,输入主机 IP、用户名,端口默认 3389,点击 OK 后输入密码登录。如需高清全屏显示,可在会话的 Advanced -> Display 中设置合适的分辨率(如 1920×1080)。

注销操作

直接关闭远程桌面客户端并不会注销远程会话,用户仍会占用 CentOS 资源。建议在不再使用时执行注销操作,以减少远程主机的开销。

常见问题解决

1. 连接后黑屏或立即断开

创建 xrdp 启动脚本 /etc/xrdp/startwm.sh,内容如下:

#!/bin/sh
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
if [ -r /etc/profile ]; then
    . /etc/profile
fi
if [ -r ~/.bash_profile ]; then
    . ~/.bash_profile
else
    if [ -r ~/.bash_login ]; then
        . ~/.bash_login
    else
        if [ -r ~/.profile ]; then
            . ~/.profile
        fi
    fi
fi
exec gnome-session

设置执行权限:

sudo chmod +x /etc/xrdp/startwm.sh

2. 音频重定向

安装音频支持:

sudo yum install pulseaudio -y

3. 剪贴板共享

确保安装了相关插件:

sudo yum install xrdp-pulseaudio-installer -y

4. 多用户支持

xrdp 默认支持多用户同时登录,每个用户会获得独立的会话。

5. 自定义端口

编辑 /etc/xrdp/xrdp.ini,将 port=3389 改为其他端口(如 3390),然后重启服务并更新防火墙规则:

sudo systemctl restart xrdp
sudo firewall-cmd --permanent --add-port=3390/tcp
sudo firewall-cmd --reload

管理命令

# 重启 xrdp 服务
sudo systemctl restart xrdp
# 停止 xrdp 服务
sudo systemctl stop xrdp
# 查看服务状态
sudo systemctl status xrdp
# 查看日志
sudo tail -f /var/log/xrdp-sesman.log
sudo tail -f /var/log/xrdp.log

安全建议

  • 使用强密码。
  • 考虑更改默认端口。
  • 使用防火墙限制访问 IP。
  • 或通过 SSH 隧道连接:在 Windows 上使用 PuTTY 建立隧道,或将以下配置添加到本地 ~/.ssh/config:
    Host centos-rdp
        HostName your_centos_ip
        User your_username
        LocalForward 33389 localhost:3389

    然后连接 localhost:33389。

xrdp 提供了一个相对稳定和兼容的解决方案,让 Windows 用户能够无缝地远程访问 CentOS 桌面环境。

赞(0) 打赏
未经允许不得转载:云服务器推荐 » Windows 远程桌面连接 CentOS 系统:xrdp 安装配置与常见问题解决指南

评论 抢沙发

更好的WordPress主题

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册