• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/workflows/H01-Sep-2021-178161

common/H01-Sep-2021-16,25211,406

docs/H01-Sep-2021-1,2691,048

fontdump/H01-Sep-2021-555442

genkeymap/H03-May-2022-406293

instfiles/H03-May-2022-19,27918,930

keygen/H01-Sep-2021-683511

libpainter/H01-Sep-2021-

librfxcodec/H01-Sep-2021-

libxrdp/H01-Sep-2021-19,98415,998

m4/H01-Sep-2021-941884

mc/H01-Sep-2021-246163

neutrinordp/H01-Sep-2021-3,0742,473

pkgconfig/H01-Sep-2021-2418

scripts/H01-Sep-2021-517331

sesman/H03-May-2022-38,41327,015

tests/H03-May-2022-829633

tools/H01-Sep-2021-1,7031,144

vnc/H01-Sep-2021-3,7872,722

vrplayer/H03-May-2022-1,9271,459

xrdp/H03-May-2022-18,16914,649

xrdpapi/H01-Sep-2021-1,318849

xrdpvr/H01-Sep-2021-1,310877

xup/H01-Sep-2021-1,9421,588

.cirrus.ymlH A D01-Sep-2021812 2019

.gitignoreH A D01-Sep-2021731 5453

.gitmodulesH A D01-Sep-2021264 1210

COPYINGH A D01-Sep-202110.1 KiB177143

Makefile.amH A D01-Sep-2021975 7264

NEWS.mdH A D01-Sep-202122.9 KiB544419

README.mdH A D01-Sep-20215.7 KiB155117

SECURITY.mdH A D01-Sep-2021494 179

astyle_config.asH A D01-Sep-20211.5 KiB6441

bootstrapH A D01-Sep-2021565 4233

coding_style.mdH A D01-Sep-20213.1 KiB211141

configure.acH A D01-Sep-202116.6 KiB508446

description-pakH A D01-Sep-202121 21

postinstall-pakH A D01-Sep-2021474 2213

README.md

1[![Build Status](https://github.com/neutrinolabs/xrdp/actions/workflows/build.yml/badge.svg)](https://github.com/neutrinolabs/xrdp/actions)
2[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/neutrinolabs/xrdp-questions)
3![Apache-License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)
4
5*Current Version:* 0.9.17
6
7# xrdp - an open source RDP server
8
9## Overview
10
11**xrdp** provides a graphical login to remote machines using Microsoft
12Remote Desktop Protocol (RDP). xrdp accepts connections from a variety of RDP clients:
13  * FreeRDP
14  * rdesktop
15  * KRDC
16  * NeutrinoRDP
17  * Windows MSTSC (Microsoft Terminal Services Client, aka `mstsc.exe`)
18  * Microsoft Remote Desktop (found on Microsoft Store, which is distinct from MSTSC)
19
20Many of these work on some or all of Windows, Mac OS, iOS, and/or Android.
21
22RDP transport is encrypted using TLS by default.
23
24![demo](https://github.com/neutrinolabs/xrdp/raw/gh-pages/xrdp_demo.gif)
25
26## Features
27
28### Remote Desktop Access
29
30 * Connect to a Linux desktop using RDP from anywhere (requires
31   [xorgxrdp](https://github.com/neutrinolabs/xorgxrdp) Xorg module)
32 * Reconnect to an existing session
33 * Session resizing (both on-connect and on-the-fly)
34 * RDP/VNC proxy (connect to another RDP/VNC server via xrdp)
35
36### Access to Remote Resources
37 * Two-way clipboard transfer (text, bitmap, file)
38 * Audio redirection ([requires to build additional modules](https://github.com/neutrinolabs/xrdp/wiki/How-to-set-up-audio-redirection))
39 * Microphone redirection ([requires to build additional modules](https://github.com/neutrinolabs/xrdp/wiki/How-to-set-up-audio-redirection))
40 * Drive redirection (mount local client drives on remote machine)
41
42## Supported Platforms
43
44**xrdp** primarily targets GNU/Linux operating system. x86 (including x86-64)
45and ARM processors are most mature architecture to run xrdp on.
46See also [Platform Support Tier](https://github.com/neutrinolabs/xrdp/wiki/Platform-Support-Tier).
47
48Some components such as xorgxrdp and RemoteFX codec have special optimization
49for x86 using SIMD instructions. So running xrdp on x86 processors will get
50fully accelerated experience.
51
52## Quick Start
53
54Most Linux distributions should distribute the latest release of xrdp in their
55repository. You would need xrdp and xorgxrdp packages for the best
56experience. It is recommended that xrdp depends on xorgxrdp, so it should
57be sufficient to install xrdp. If xorgxrdp is not provided, use Xvnc
58server.
59
60xrdp listens on 3389/tcp. Make sure your firewall accepts connection to
613389/tcp from where you want to access.
62
63### Ubuntu / Debian
64```bash
65apt install xrdp
66```
67
68### RedHat / CentOS / Fedora
69
70On RedHat and CentOS, make sure to enable EPEL packages first.
71
72```bash
73yum install epel-release
74```
75
76Install xrdp package.
77
78```bash
79yum install xrdp
80```
81
82`yum` is being replaced with `dnf`, so you may need to use `dnf` instead
83of `yum` in the above commands.
84
85## Compiling
86
87See also https://github.com/neutrinolabs/xrdp/wiki#building-from-sources
88
89### Prerequisites
90
91To compile xrdp from the packaged sources, you need basic build tools - a
92compiler (**gcc** or **clang**) and the **make** program.  Additionally,
93you would need **openssl-devel**, **pam-devel**, **libX11-devel**,
94**libXfixes-devel**, **libXrandr-devel**. More additional software would
95be needed depending on your configuration.
96
97To compile xrdp from a checked out git repository, you would additionally
98need **autoconf**, **automake**, **libtool** and **pkgconfig**.
99
100### Get the source and build it
101
102If compiling from the packaged source, unpack the tarball and change to the
103resulting directory.
104
105If compiling from a checked out repository, please make sure you've got the submodules
106cloned too (use `git clone --recursive https://github.com/neutrinolabs/xrdp`)
107
108Then run following commands to compile and install xrdp:
109```bash
110./bootstrap
111./configure
112make
113sudo make install
114```
115
116If you want to use audio redirection, you need to build and install additional
117pulseaudio modules. The build instructions can be found at wiki.
118
119* [How to set up audio redirection](https://github.com/neutrinolabs/xrdp/wiki/How-to-set-up-audio-redirection)
120
121## Directory Structure
122
123```
124xrdp
125├── common ······ common code
126├── docs ········ documentation
127├── fontdump ···· font dump for Windows
128├── genkeymap ··· keymap generator
129├── instfiles ··· installable data file
130├── keygen ······ xrdp RSA key pair generator
131├── libpainter ·· painter library
132├── librfxcodec · RFX codec library
133├── libxrdp ····· core RDP protocol implementation
134├── m4 ·········· Autoconf macros
135├── mc ·········· media center module
136├── neutrinordp · RDP client module for proxying RDP connections using NeutrinoRDP
137├── pkgconfig ··· pkg-config configuration
138├── scripts ····· build scripts
139├┬─ sesman ······ session manager for xrdp
140|├── chansrv ···· channel server for xrdp
141|├── libscp ····· authorization library
142|└── tools ······ session management tools for sys admins
143├── tests ······· tests for the code
144├┬─ tools ······· tools
145|└┬─ devel ······ development tools
146| ├── gtcp_proxy  GTK app that forwards TCP connections to a remote host
147| └── tcp_proxy · CLI app that forwards TCP connections to a remote host
148├── vnc ········· VNC client module for xrdp
149├── vrplayer ···· QT player redirecting video/audio to clients over xrdpvr channel
150├── xrdp ········ main server code
151├── xrdpapi ····· virtual channel API
152├── xrdpvr ······ API for playing media over RDP
153└── xup ········· X11rdp and xorgxrdp client module
154```
155