weston --backend=rdp-backend.so
The RDP backend allows to run a weston environment without the need of specific graphic hardware, or input devices. Users can interact with weston only by connecting using the RDP protocol.
The RDP backend uses FreeRDP to implement the RDP part, it acts as a RDP server listening for incoming connections. It supports different codecs for encoding the graphical content. Depending on what is supported by the RDP client, the backend will encode images using remoteFx codec, NS codec or will fallback to raw bitmapUpdate.
On the security part, the backend supports RDP security or TLS, keys and certificates must be provided to the backend depending on which kind of security is requested. The RDP backend will announce security options based on which files have been given.
The RDP backend is multi-seat aware, so if two clients connect on the backend, they will get their own seat.
When the RDP backend is loaded, weston will understand the following additional command line options.
To generate a key file to use for RDP security, you need the winpr-makecert utility shipped with FreeRDP:
$ winpr-makecert -rdp -silent -n rdp-security
This will create a rdp-security.key file.
You can generate a key and certificate file to use with TLS security using a typical openssl invocations:
$ openssl genrsa -out tls.key 2048 Generating RSA private key, 2048 bit long modulus [...] $ openssl req -new -key tls.key -out tls.csr [...] $ openssl x509 -req -days 365 -signkey tls.key -in tls.csr -out tls.crt [...]
You will get the tls.key and tls.crt files to use with the RDP backend.