xrdp开源RDP服务器
概述
xrdp使用Microsoft Remote桌面协议(RDP)提供了远程计算机的图形登录。 xrdp接受来自各种RDP客户端的连接:
- freerdp
- rdesktop
- Krdc
- 中子
- Windows MSTSC(Microsoft终端服务客户端,又名
mstsc.exe) - Microsoft远程桌面(在Microsoft Store上找到,与MSTSC不同)
其中许多在某些或全部Windows,Mac OS,iOS和/或Android上工作。
默认情况下,使用TLS对RDP传输进行加密。
特征
远程桌面访问
- 使用从任何地方使用RDP连接到Linux桌面(需要XORG xrdp XORG模块)
- 重新连接到现有会话
- 会话调整大小(无论连接和即时)
- RDP/VNC代理(通过xrdp连接到另一家RDP/VNC服务器)
访问远程资源
- 双向剪贴板传输(文本,位图,文件)
- 音频重定向(需要构建其他模块)
- 麦克风重定向(需要构建其他模块)
- 驱动重定向(安装本地客户端驱动器在远程机器上)
支持的平台
xrdp主要针对GNU/Linux操作系统。 X86(包括X86-64)和ARM处理器是运行xrdp最成熟架构。另请参见平台支持层。
一些组件(例如XORG xrdp和RemoteFX编解码器)使用SIMD指令对X86具有特殊优化。因此,在X86处理器上运行xrdp将获得完全加速的体验。
快速开始
大多数Linux发行版应在其存储库中分发xrdp的最新版本。您需要xrdp和XORG xrdp软件包才能获得最佳体验。建议xrdp取决于XORG xrdp ,因此应该足以安装xrdp 。如果未提供XORG xrdp ,请使用XVNC服务器。
xrdp在3389/TCP上听。确保您的防火墙可以从您要访问的位置接受3389/TCP的连接。
Ubuntu / Debian
apt install xrdp
软呢帽,RHEL和衍生品
如果您不运行Fedora,请确保首先启用Epel软件包。
dnf install epel-release
(所有系统)与以下方式安装xrdp : –
dnf install xrdp
编译
另请参见https://*gi*th*ub.com/neutrinolabs/xrdp/wiki#building-from-sources
先决条件
要从包装来源编译xrdp ,您需要基本的构建工具 – 编译器( GCC或Clang )和Make程序。此外,您将需要Openssl-Devel , pam-devel , libx11-devel , libxfixes-devel , libxrandr-devel 。根据您的配置,需要更多其他软件。
要从检查的GIT存储库中编译xrdp ,您还需要AutoConf , Automake , Libtool和Pkg-Config 。
获取来源并建立
如果从包装的源中编译,请拆开tarball并更改为生成的目录。
如果从检查的存储库中编译,请确保您也将子模型克隆(使用git clone --recursive https://github.c*om**/neutrinolabs/xrdp )
然后运行以下命令以编译并安装xrdp :
./bootstrap ./configure make sudo make install
如果要使用音频重定向,则需要构建和安装其他脉冲模块。可以在Wiki上找到构建说明。
- 如何设置音频重定向
目录结构
xrdp
├── common ······ common code
├── docs ········ documentation
├── fontutils ··· font handling utilities
├── genkeymap ··· keymap generator
├── instfiles ··· installable data file
├── keygen ······ xrdp RSA key pair generator
├── libpainter ·· painter library
├── librfxcodec · RFX codec library
├── lib xrdp ····· core RDP protocol implementation
├── m4 ·········· Autoconf macros
├── mc ·········· media center module
├── neutrinordp · RDP client module for proxying RDP connections using NeutrinoRDP
├── pkgconfig ··· pkg-config configuration
├── scripts ····· build scripts
├┬─ sesman ······ session manager for xrdp
|├── chansrv ···· channel server for xrdp
|├── libsesman ·· Code common to sesman and its related executables
|└── tools ······ session management tools for sys admins
├── tests ······· tests for the code
├┬─ tools ······· tools
|└┬─ devel ······ development tools
| ├── gtcp_proxy GTK app that forwards TCP connections to a remote host
| └── tcp_proxy · CLI app that forwards TCP connections to a remote host
├── vnc ········· VNC client module for xrdp
├── vrplayer ···· QT player redirecting video/audio to clients over xrdp vr channel
├── xrdp ········ main server code
├── xrdp api ····· virtual channel API
├── xrdp vr ······ API for playing media over RDP
└── xup ········· xorg xrdp client module\”>
xrdp
├── common ······ common code
├── docs ········ documentation
├── fontutils ··· font handling utilities
├── genkeymap ··· keymap generator
├── instfiles ··· installable data file
├── keygen ······ xrdp RSA key pair generator
├── libpainter ·· painter library
├── librfxcodec · RFX codec library
├── lib xrdp ····· core RDP protocol implementation
├── m4 ·········· Autoconf macros
├── mc ·········· media center module
├── neutrinordp · RDP client module for proxying RDP connections using NeutrinoRDP
├── pkgconfig ··· pkg-config configuration
├── scripts ····· build scripts
├┬─ sesman ······ session manager for xrdp
|├── chansrv ···· channel server for xrdp
|├── libsesman ·· Code common to sesman and its related executables
|└── tools ······ session management tools for sys admins
├── tests ······· tests for the code
├┬─ tools ······· tools
|└┬─ devel ······ development tools
| ├── gtcp_proxy GTK app that forwards TCP connections to a remote host
| └── tcp_proxy · CLI app that forwards TCP connections to a remote host
├── vnc ········· VNC client module for xrdp
├── vrplayer ···· QT player redirecting video/audio to clients over xrdp vr channel
├── xrdp ········ main server code
├── xrdp api ····· virtual channel API
├── xrdp vr ······ API for playing media over RDP
└── xup ········· xorg xrdp client module
