Search by Tags

Remote Desktop Protocol (Linux)

 

Article updated at 12 Jul 2021
Compare with Revision




Subscribe for this article updates

Introduction

Remote Desktop Protocol (RDP) is a protocol developed by Microsoft that provides a desktop sharing system. RDP makes it possible to remotely control & display the screen of one computer (server) from another computer (client) over a network.

Although this is not a feature supported by the Toradex BSP, it is possible to include it in a custom Yocto Project/OpenEmbedded build. You can search for related recipes in the OpenEmbedded Layer Index.

Add FreeRDP to a Custom Image

Prepare for the Linux image build by setting up the OpenEmbedded build environment as described in the article Build a Reference Image with Yocto Project/OpenEmbedded, then add the package to your local.conf:

local.conf
IMAGE_INSTALL_append = " freerdp"

Executing the FreeRDP client

Verify that the program "xfreerdp" is installed.

# xfreerdp --help

FreeRDP - A Free Remote Desktop Protocol Client
See http://freerdp.sourceforge.net for more information

Usage: xfreerdp [options] server:port
    -a: color depth (8, 15, 16, 24 or 32)
    -u: username
    -p: password
    -d: domain
    -k: keyboard layout ID
    --kbd-list: list all keyboard layout IDs
    -s: shell
    -c: directory
    -g: geometry, using format WxH or X%, default is 1024x768
    -t: alternative port number, default is 3389
    -n: hostname
    -o: console audio
    -0: console session
    -f: fullscreen mode
    -D: hide window decorations
    -z: enable bulk compression
    -x: performance flags (m, b or l for modem, broadband or lan)
    -X: embed into another window with a given XID.
    --no-rdp: disable Standard RDP encryption
    --no-tls: disable TLS encryption
    --no-nla: disable network level authentication
    --sec: force protocol security (rdp, tls or nla)
    --plugin: load a virtual channel plugin
    --no-osb: disable off screen bitmaps, default on
    --version: Print out the version and exit
    -h: show this help

Connect the system to a network and try to connect to another system that has the RDP server service enabled. Example command:

# xfreerdp --no-osb --sec rdp -u "user" -p "password" "192.168.1.10"