CentOS的远程桌面连接可以通过多种方式实现,以下是详细的步骤和说明:
安装xrdp

1、更新系统:确保所有软件包都是最新的,运行以下命令:
- sudo yum update y
2、安装xrdp:运行以下命令:
- sudo yum install xrdp y
3、启动xrdp服务并设置开机自启动:运行以下命令:
- sudo systemctl start xrdp
- sudo systemctl enable xrdp
4、配置防火墙:打开相应的端口(默认是3389):
- sudo firewallcmd permanent addport=3389/tcp
- sudo firewallcmd reload
5、配置xrdp:编辑/etc/xrdp/startwm.sh
文件,将以下行:
- exec /etc/X11/Xsession
替换为:

- export X11_NO_MITSHM=1
- exec /etc/X11/Xsession
这将禁用mitshm共享内存加速,以避免可能的连接问题。
6、创建专用xrdp用户:为了安全起见,可以创建一个专用的xrdp用户,运行以下命令:
- sudo useradd xrdpuser
- sudo passwd xrdpuser
输入一个强密码并确认。
7、配置xrdp用户的桌面环境:编辑~xrdpuser/.xinitrc
文件:
- su xrdpuser
- vi ~/.xinitrc
将以下行:
- exec /etc/X11/Xsession
替换为:

- export X11_NO_MITSHM=1
- exec /etc/X11/Xsession
退出并保存文件。
8、重启xrdp服务:运行以下命令以应用更改:
- sudo systemctl restart xrdp
CentOS 7安装图形界面及VNC服务器的配置
1、选择并安装桌面环境:可以选择XFCE、MATE、GNOME或KDE等,安装XFCE桌面环境:
- sudo yum install y epelrelease
- sudo yum groupinstall y "Xfce"
- sudo ln sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
- sudo reboot
2、配置VNC服务器:安装TigerVNC服务器:
- yum install y tigervncserver
配置第一个桌面:
- cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
- vim /lib/systemd/system/vncserver@:1.service
- ExecStartPre=/bin/sh c '/usr/bin/vncserver kill %i > /dev/null 2>&1 || :'
- ExecStart=/usr/sbin/runuser l root c "/usr/bin/vncserver %i"
- PIDFile=/root/.vnc/%H%i.pid
- ExecStop=/usr/bin/vncserver kill %i > /dev/null 2>&1 || :
- systemctl daemonreload
- systemctl start vncserver@:1.service
设置VNC密码:
- vncpasswd
如果使用Xfce桌面,修改/home/<user>/.vnc/xstartup
文件:
- #!/bin/sh
- unset SESSION_MANAGER
- unset DBUS_SESSION_BUS_ADDRESS
- exec startxfce4 &
其他VNC参数如允许多用户同时登录、分辨率和色彩数等也可以进行相应配置。
通过Windows远程桌面连接centos系统
1、准备工作:确保CentOS服务器已安装桌面环境和xrdp,并且与Windows系统处于同一局域网内或具有公网IP。
2、在Windows上建立远程桌面连接:打开“远程桌面连接”应用程序,输入CentOS服务器的IP地址或主机名,点击“连接”,如果一切正常,您应该能够看到CentOS的桌面环境,并可以使用鼠标和键盘进行控制。
FAQs
1、如何检查xrdp服务状态?
您可以使用以下命令来检查xrdp服务的状态:
- systemctl status xrdp
您还可以使用netstat
命令查看xrdp监听的端口(通常是3389):
- netstat tnlp | grep xrdp
2、为什么需要配置SELinux?
SELinux(SecurityEnhanced Linux)是一个安全模块,可能会阻止远程桌面连接,在某些情况下,SELinux可能会阻止连接,为了简化设置,您可以临时将SELinux设置为宽容模式(Permissive),这样它就不会阻止连接了,执行以下命令来临时禁用SELinux:
- sudo setenforce 0
这只是一个临时解决方案,在生产环境中,您应该仔细配置SELinux以确保系统的安全性。