在 ubuntu 22.04 上配置界面服务器 xrdp

文章介绍了XRDP和VNC两种图形界面解决方案的配置、使用原理以及性能比较。XRDP基于RDP协议,使用3389端口,而VNC使用5901-5910端口。在性能上,X11转发理论上最快,但需要本地有X11服务器,VNC适合低带宽环境,而XRDP提供类似Windows远程桌面的体验,且通常比VNC更快。实际性能取决于网络条件和硬件配置。
摘要由CSDN通过智能技术生成

图形界面解决方案

1. VNC
2. XRDP
3. X11 + ssh : // https://blog.csdn.net/u011011827/article/details/131065690

VNC

外部开放端口 用的 是 5901-5910
桌面用的是 cat .vnc/xstartup 中写的桌面

XRDP

xrdp相关进程 A 外部开放端口是 3389
xrdp相关进程 B 内部开放端口是 3350

tcp6       0      0 :::3389                 :::*                    LISTEN      3663305/xrdp        
tcp6       0      0 ::1:3350                :::*                    LISTEN      3663295/xrdp-sesman

           |-xrdp(3663305)---xrdp(3666729)
           		// 3666729 是新建立的会话,如果不停销毁会话,该PID会一直变化
           		//会话建立之后,使用 3664951 PID 对应的 图形界面,该PID不会随着会话的销毁而销毁
           		//每个用户 同一时刻 只能有一个会话.该会话对应 "3664951 PID 对应的 图形界面"
           		//新建立的会话会将之前的会话销毁
           |-xrdp-sesman(3663295)---xrdp-sesman(3664951)-+-Xorg(3664953)-+-{Xorg}(3664956)
           |                                             |               `-{Xorg}(3664961)
           |                                             |-gnome-session-b(3664952)-+-ssh-agent(3665023)
           |                                             |                          |-{gnome-session-b}(3665043)
           |                                             |                          |-{gnome-session-b}(3665045)
           |                                             |                          `-{gnome-session-b}(3665123)
           |                                             `-xrdp-chansrv(3664962)---{xrdp-chansrv}(3664963)

桌面用的 是 .xsession 中写的桌面

配置文件还包括
	/etc/xrdp/xrdp.ini 	  // xrdp配置,不需要改
	/etc/xrdp/sesman.ini  //会话配置,,不需要改
	/etc/xrdp/startwm.sh  //xrdp配置 中提到的脚本,,不需要改

XRDP 实例

安装和配置

  • 安装 vnc 服务器 和 xrdp 服务器
sudo apt-get install xrdp
sudo service xrdp status // check 状态
  • 配置 ~/.xsession
// ubuntu 默认桌面环境为 gnome
在图形界面下新建一个shell,键入 echo $XDG_CURRENT_DESKTOP
它会显示 GNOME
则我们需要在~/.xsession 中填入 gnome-session	
该配置过后不用重启服务器

使用

在 windows 下 win + R ,打开运行窗口, 输入 mstsc
输入计算机IP 和 用户名,确认后.会提示输入密码.输入密码即可!

XRDP 使用原理

xrdp 是一种远程桌面协议,它允许用户通过网络连接到远程计算机并使用该计算机的桌面环境。以下是 xrdp 会话建立的过程:

客户端通过 RDP 协议连接到 xrdp 服务器的 3389 端口。
xrdp 服务器接收到连接请求并验证客户端的身份。
xrdp 服务器启动一个新的 X11 会话(或连接到现有的 X11 会话)。
xrdp 服务器为客户端创建一个虚拟 X11 显示器,并将客户端连接到该显示器。
xrdp 服务器启动一个桌面环境(例如 GNOME、XFCE 或 KDE)。
客户端通过 RDP 协议接收 xrdp 服务器发送的屏幕图像和输入事件,并将它们显示在本地计算机上。


在 xrdp 的配置文件中,您可以指定要使用的桌面环境、要监听的端口以及其他选项。
默认情况下,xrdp 使用的是 Xvnc 作为其默认的 X11 服务器,但也可以使用其他 X11 服务器,例如 Xorg。

与 VNC 类似,xrdp 也是一种远程桌面协议。
但是,它们之间有一些区别。
VNC 使用自己的协议来传输屏幕图像和输入事件,而 xrdp 使用 RDP 协议。
此外,xrdp 可以在 Windows 上使用自带的远程桌面客户端进行连接,而 VNC 需要使用第三方 VNC 客户端。

谁更快 : X11转发 > XRDP > VNC

但是我目前无法在 X11转发 下 获取一个完成的图形桌面!
$ sudo gnome-session

** (process:3667498): WARNING **: 23:35:38.592: Could not make bus activated clients aware of XDG_CURRENT_DESKTOP=GNOME environment variable: Failed to execute child process ?dbus-launch? (No such file or directory)
Terminated
在理论上,X11 转发、VNC 和 xrdp 都可以用作远程桌面服务器,但它们之间有些许不同:

X11 转发:X11 转发是将本地 X11 服务器上的应用程序窗口和 GUI 元素转发到远程计算机上的 X11 服务器上。这意味着您可以在本地计算机上运行应用程序,并在远程计算机上查看应用程序的 GUI。X11 转发使用 SSH 协议进行加密和身份验证,因此非常安全。但是,X11 转发的性能可能会受到网络延迟和带宽限制的影响。

VNC:VNC 是一种基于远程帧缓冲协议的远程桌面服务器。当您通过 VNC 协议连接到 VNC 服务器时,服务器会将屏幕图像和输入事件发送到客户端。VNC 服务器通常使用 5900 端口进行通信。VNC 可以在低带宽网络下工作,但由于其使用的是远程帧缓冲协议,因此其性能可能不如 X11 转发。

xrdp:xrdp 是一种基于 RDP 协议的远程桌面服务器。当您通过 RDP 协议连接到 xrdp 服务器时,xrdp 会在服务器上启动一个新的 X11 会话,并为您创建一个虚拟 X11 显示器。然后,xrdp 会将客户端连接到该显示器,并启动一个桌面环境(例如 GNOME、XFCE 或 KDE)。xrdp 使用 3389 端口进行通信,并且可以使用 SSL/TLS 进行加密和身份验证。

综上所述,从理论上讲,X11 转发是最安全、最快速的选项,但它需要在本地计算机上安装 X11 服务器。
VNC 是一种可靠的跨平台解决方案,但它的性能可能不如 X11 转发。
xrdp 则是一种基于 RDP 协议的远程桌面服务器,它可以提供与 Windows 远程桌面类似的体验,并且可以在大多数操作系统上使用。
从理论上来说,X11 转发比 xrdp 更快。这是因为 X11 转发只是将本地 X11 服务器上的应用程序窗口和 GUI 元素转发到远程计算机上的 X11 服务器上,而不需要在远程计算机上启动新的桌面环境。这意味着,X11 转发可以利用本地计算机的 CPU 和 GPU 资源,从而提供更快的性能。

相比之下,xrdp 需要在远程计算机上启动新的桌面环境,并将屏幕图像和输入事件发送到客户端。这可能会导致更高的网络延迟和带宽占用,从而影响性能。

但是,实际性能取决于许多因素,例如网络速度、带宽、计算机硬件和软件配置等。因此,对于特定的使用情况,X11 转发和 xrdp 的性能可能会有所不同。
---

从理论上来说,xrdp 比 VNC 更快。这是因为 xrdp 是基于 RDP 协议的远程桌面服务器,使用 3389 端口进行通信。RDP 协议是专门为远程桌面设计的,具有较低的延迟和带宽占用。相比之下,VNC 使用基于帧缓冲区的远程桌面协议,可能会导致更高的延迟和带宽占用。

然而,实际性能取决于许多因素,例如网络速度、带宽、计算机硬件和软件配置等。在某些情况下,VNC 可能比 xrdp 更快,特别是在低带宽网络环境下。因此,最好根据具体情况选择适合自己的远程桌面服务器。
除了 X11 转发和 xrdp,还有一些其他的图形界面服务器,例如:

NX:NX 是一种基于 X11 转发的远程桌面服务器。它使用压缩和缓存技术来提高性能,并支持多用户会话和断点续传等功能。在某些情况下,NX 的性能可能比 X11 转发更快。

Spice:Spice 是一种新型的远程桌面协议,它支持高质量的视频、音频和 USB 重定向等功能。Spice 可以与 KVM 虚拟化技术一起使用,以提供高性能和低延迟的远程桌面体验。

RFB:RFB(Remote Framebuffer)是 VNC 协议的一种变体。它使用 JPEG 或 PNG 压缩算法来减少带宽占用,并支持加密和身份验证等功能。RFB 的性能可能比标准 VNC 更快。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值