文章目录
图形界面解决方案
1. VNC2. XRDP3. X11 + ssh : // https://blog.csdn.net/u011011827/article/details/131065690
VNC
外部开放端口 用的 是 5901-5910桌面用的是 cat .vnc/xstartup 中写的桌面
XRDP
xrdp相关进程 A 外部开放端口是 3389xrdp相关进程 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 xrdpsudo 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 更快。
来源地址:https://blog.csdn.net/u011011827/article/details/131159352