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

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

文章目录

  • 图形界面解决方案
    • VNC
    • XRDP
  • XRDP 实例
    • 安装和配置
    • 使用
  • XRDP 使用原理
  • 谁更快 : X11转发 > XRDP > VNC

图形界面解决方案

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 内部开放端口是 3350tcp6       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 更快。
http://www.lryc.cn/news/93033.html

相关文章:

  • 53、基于51单片机蓄电池充电器过充过放保护LCD液晶屏显示系统设计(程序+原理图+PCB源文件+参考论文+参考PPT+元器件清单等)
  • 【C/C++】详解 函数重载和应用
  • WPF开发txt阅读器4:字体控件绑定
  • CoreDX DDS应用开发指南(8)开发订阅应用程序
  • 基于Python的接口自动化-读写配置文件
  • useEffect的基础知识和底层机制
  • chatgpt赋能python:Python中如何加空格
  • 软件测试之路已不再是坦途
  • 扫雷——C语言实现
  • CSS基础学习--6 CSS Text(文本)
  • 高精度电压源的应用场合有哪些
  • Android约束布局
  • selenium基础语法
  • 运行后端SpringBoot项目
  • #如何对待工作中的失误?# 如何对待工作与生活中的失误——一些不成熟的忠告
  • Shell脚本文本三剑客之awk编辑器
  • Focal Loss介绍
  • 【数据结构与算法】04 哈希表 / 散列表 (哈希函数、哈希冲突、链地址法、开放地址法、SHA256)
  • 每日一道面试题之介绍一下Java的序列化和反序列化!
  • Netty实战(十一)
  • Qos服务质量、心跳机制、保留消息,遗嘱信息,用户密码认证
  • MATLAB 之 线性方程组求解
  • 华为OD机试真题 Java 实现【字符串序列判定】【2022Q4 100分】,附详细解题思路
  • taro使用小记 —— 持续更新
  • 【LeetCode】110. 平衡二叉树
  • SQL视图、存储过程、触发器
  • DNS隧道穿透
  • 1.2 Scala变量与数据类型
  • 深入探讨软件测试的质量度量指标
  • 6.12作业