Slide 1

Slide 1 text

Virtual Desktop Infrastructure by xrdp Iwao, Koichiro / metalefty openSUSE.Asia Summit 2017 Tokyo, Japan #xrdp_jp

Slide 2

Slide 2 text

Hello!

Slide 3

Slide 3 text

I'm a FreeBSD guy. Please be kind to me. Let's be friends. (^_^)b

Slide 4

Slide 4 text

What we will learn today ● About me ● What is xrdp? ● Why xrdp? ● Architecture of xrdp ● How is xrdp working? ● Audio redirection ● RemoteFX ● Commercial support & sponsoring

Slide 5

Slide 5 text

Who am I?

Slide 6

Slide 6 text

Who am I? ● The “xrdp” User's Group of Japan Founder ● xrdp user since 2009 (0.4.0 was my first xrdp) ● xrdp contributor since 2013 ● xrdp developer since 2016 ● FreeNX user looooong ago

Slide 7

Slide 7 text

with Jay, Sep 2015 @ US no picture

Slide 8

Slide 8 text

What do I do? ● improve FreeBSD compatibility ● improve stability ● improve security (fail2ban support WIP) ● fix CJK or non-ASCII related bugs ● xrdp release management – nothing special, when time comes, just release :)

Slide 9

Slide 9 text

Why become an xrdp developer? ● I am a user of both FreeBSD and xrdp ● xrdp couldn't be compiled on FreeBSD before ● No more FreeBSD local patches to unbreak builds ● “Upstream First” policy – submit lots of PRs, bugfixes ● Motivation of making xrdp FreeBSD compatible, because I'm a xrdp user on FreeBSD!

Slide 10

Slide 10 text

What is xrdp? An open source server implementation of Microsoft Remote Desktop Protocol for Linux or other UNIX-like systems

Slide 11

Slide 11 text

In other words... GUI version of GNU screen / tmux

Slide 12

Slide 12 text

xrdp works like GNU screen xrdp server detach reattach virtual desktop running on the server

Slide 13

Slide 13 text

Then, Why xrdp?

Slide 14

Slide 14 text

Using Linux Desktop on Laptop able to use Wi-Fi/Bluetooth? can suspend/hibernate? fingerprint reader? touchpad? spend time what you really want to do

Slide 15

Slide 15 text

Linux Desktop on Laptop is a struggle ● I don't want to manage: – Wi-Fi chip is Broadcom BCM****, the driver is found at… – compatibility with new hardware – everytime when I renew my laptop! ● Linux Laptop is a struggle, BSD is a bigger struggle! ● Relieve from such struggles! I know it almost works fine, though...

Slide 16

Slide 16 text

Using Linux Desktop via VDI outsoursing computing power longer battery life can be connected anywhere, any client requires a little bit wider network bandwidth

Slide 17

Slide 17 text

Basic Architecture

Slide 18

Slide 18 text

prime components of xrdp xrdp xrdp-sesman xorgxrdp

Slide 19

Slide 19 text

xrdp ● the main service of xrdp ● accepts TCP connection from clients ● speaks Remote Desktop Protocol

Slide 20

Slide 20 text

xrdp-sesman ● a session manager ● authenticates user ● executes user session ● executes window manager

Slide 21

Slide 21 text

This set of drivers/modules is called “xorgxrdp” xorgxrdp A set of drivers enabling pre- existing X.Org install to communicate with xrdp

Slide 22

Slide 22 text

How is xrdp working? xrdp 3389/tcp Alice Bob Tom sesman Alice's session Bob's session Tom's session xorgxrdp sesman manages which instance of xorgxrdp is who's session Firefox LibreOffice

Slide 23

Slide 23 text

Wayland? ● Nothing's being done so far ● Maybe some xorgxrdp parts are reusable ● Someday in the future

Slide 24

Slide 24 text

Audio redirection ● Supported, but needs additional pulseaudio modules – built in SUSE? if not, let's add it ● xrdp v0.9.4 supports following codecs – LPCM, Opus, MP3, AAC (still experimental) ● Requires client support – Windows client supports MP3 and AAC – FreeRDP supports LPCM only so far

Slide 25

Slide 25 text

Graphics remoting ● xrdp supports several graphics codecs – classic – NSCodec – RemoteFX – Adaptive RemoteFX is not supported yet ● RemoteFX is the best in most usecases – smooth scrolling, smooth video playback

Slide 26

Slide 26 text

RemoteFX demo here

Slide 27

Slide 27 text

Prerequisites for RemoteFX 24 or 32 bit color connection type == LAN ( not autodetect )

Slide 28

Slide 28 text

Commercial support for xrdp HAW International Inc. provides commercial support in Japan MIRACLE LINUX is one of customers (MIRACLE LINUX is known as Cybertrust Japan since Oct. 2017)

Slide 29

Slide 29 text

Called xrdp enterprise

Slide 30

Slide 30 text

Achievement #1 GitHub Issue #399 copy/paste not working if content is not english text or filename Typical multibyte character/locale bug The path part of full path wasn't percent decoded

Slide 31

Slide 31 text

Achievement #2 GitHub Issue xorgxrdp#60 Implement disconnected timeout Kill disconnected session after timeout This feature had been implemented to x11rdp but not to xorgxrdp Both bugs are fixed with cooperation of HAW International and MIRACLE LINUX.

Slide 32

Slide 32 text

Sponsoring ● Any kind of contributions/donations are welcomed ● Each developer have different specialty – bugs related to Asian locales, ask me – I am the only developer from Asia

Slide 33

Slide 33 text

Offering paid work on xrdp or need commercial support, find me on LinkedIn! linkedin.com/in/kiwao

Slide 34

Slide 34 text

日本の方は xrdp.haw.co.jp から

Slide 35

Slide 35 text

Questions? ● To be in time for flight, I must leave here 5 pm ● If any questions, ask me before 5 pm ● Typhoon is coming from south west ● My flight towards west :(