Xrdp provides a fully functional Linux terminal server, capable of
accepting connections from rdesktop and Microsoft's own terminal
server/remote desktop clients. Xrdp uses Xvnc or xorgxrdp (which
are installed separately) to manage the X session. This means a
RDP client can connect to a VNC server on the xrdp server machine in
addition to the RDP server. Xrdp can also act as a bridging server,
allowing RDP clients to connect to other RDP or VNC servers through
the xrdp server.
Xvnc is included with tigervnc (in Slackware /extra).
xorgxrdp can be compiled and installed after installing xrdp.
By default, this script will make xrdp without PAM support since
PAM is not installed in Slackware by default. The script supports
building with PAM, but it is completely untested by us. If you want
to enable PAM, run the script as follows:
USE_PAM=YES ./xrdp.SlackBuild
By default, this script will make xrdp without GVFS support, as it
can cause a problem if a session is unexpectedly terminated leaving
an orphan GVFS mount. (This can be corrected by logging into the
server hosting xrdp and running 'fusermount -uz ~/thinclient_drives').
If you want to use drive redirection and shared clipboard support, run
the script as follows:
USE_GVFS=YES ./xrdp.SlackBuild
After installing xrdp there are some configuration files in /etc/xrdp
that can be modified:
** sesman.ini **
sesman.ini has some useful options to take note of such as the ability
to allow xrdp use by only a certain group and to specify the log
location.
*NOTE:* The default log location is now /var/log/xrdp-sesman.log, and
the logs are rotated according to /etc/logrotate.d/xrdp-sesman added
by the script.
** xrdp.ini **
xrdp.ini should be modified so that you have the options you want.
For instance, the server login screen can be customised.
The default protocol settings is 'ssl_protocols=TLSv1.2, TLSv1.3'.
OpenSSL 1.0.2 in Slackware 14.2 does not support TLSv1.3, which can
cause a harmless debug message.
The remote desktop client in Windows XP requires TLSv1 to connect.
When released, Windows 7 did not support TLSv1.2, but an official update
was released.
The man page for xrdp.ini has more details on the file.
*NOTE:* The default log location is now /var/log/xrdp.log, and
the logs are rotated according to /etc/logrotate.d/xrdp added
by the script.
** xrdp-xinitrc **
xrdp-xinitrc by default tries to load one of several DE/WMs in order
to start a X11rdp session. Change this as desired to load a specific
DE/WM. A similar script can be executed on a per-user basis by
creating an executable script at ~/.xrdp-xinitrc. A utility program,
xrdp-xwmconfig, is included to allow you to use your xinit scripts
during sessions. It works just like xwmconfig, so run it as root to
set the global default, or run it as a normal user to set only the
default for that user. See the sesman.ini man page for details about
defining different names or locations for the startup scripts.
If using xorgxrdp, you will likely need a /etc/X11/Xwrapper.config
wrapper script containing a line:
allowed_users = anybody
(See 'man Xwrapper.config' for details)