xrdp not providing desktop/windows manager.

Gary Otten gdotten at gmail.com
Fri May 15 22:07:03 UTC 2020


  Does anyone have a working setup of xrdp running?  I get connected but no
desktop.

I am using the Microsoft Remote Desktop Client on Windows 10 ,  and Freebsd
running xrpd, xrpd-sesman services.

It connects and gets the security certificate but then goes to a black
screen, then after a very long time, says
connecting to sesman ip 192.168.2.105 port 3350 sesman connect ok
sending login info to session manager, please wait....
login successful for display 10
starting connecting
connection problem, giving up
some problem.

If anyone could point me in the right direction or has a copy of
xrdp.ini,sesman.ini & startwm.sh they would be willing to share that would
be great.  I have googled extensively and tried a variety of settings.

Thanks
-------------- next part --------------
[20200515-16:51:23] [INFO ] Socket 12: AF_INET connection received from 192.168.2.106 port 49520
[20200515-16:51:23] [DEBUG] Closed socket 12 (AF_INET 192.168.2.105:3389)
[20200515-16:51:23] [DEBUG] Closed socket 11 (AF_INET 192.168.2.105:3389)
[20200515-16:51:23] [INFO ] Using default X.509 certificate: /usr/local/etc/xrdp/cert.pem
[20200515-16:51:23] [INFO ] Using default X.509 key file: /usr/local/etc/xrdp/key.pem
[20200515-16:51:23] [DEBUG] TLSv1.3 enabled
[20200515-16:51:23] [DEBUG] TLSv1.2 enabled
[20200515-16:51:23] [DEBUG] Security layer: requested 11, selected 1
[20200515-16:51:24] [DEBUG] Closed socket 12 (AF_INET 192.168.2.105:3389)
[20200515-16:51:26] [INFO ] Socket 12: AF_INET connection received from 192.168.2.106 port 49522
[20200515-16:51:26] [DEBUG] Closed socket 12 (AF_INET 192.168.2.105:3389)
[20200515-16:51:26] [DEBUG] Closed socket 11 (AF_INET 192.168.2.105:3389)
[20200515-16:51:26] [INFO ] Using default X.509 certificate: /usr/local/etc/xrdp/cert.pem
[20200515-16:51:26] [INFO ] Using default X.509 key file: /usr/local/etc/xrdp/key.pem
[20200515-16:51:26] [DEBUG] TLSv1.3 enabled
[20200515-16:51:26] [DEBUG] TLSv1.2 enabled
[20200515-16:51:26] [DEBUG] Security layer: requested 11, selected 1
[20200515-16:51:26] [INFO ] connected client computer name: GARYLAPTOP
[20200515-16:51:26] [INFO ] adding channel item name rdpdr chan_id 1004 flags 0x80800000
[20200515-16:51:26] [INFO ] adding channel item name rdpsnd chan_id 1005 flags 0xc0000000
[20200515-16:51:26] [INFO ] adding channel item name cliprdr chan_id 1006 flags 0xc0a00000
[20200515-16:51:26] [INFO ] adding channel item name drdynvc chan_id 1007 flags 0xc0800000
[20200515-16:51:26] [INFO ] TLS connection established from 192.168.2.106 port 49522: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384
[20200515-16:51:26] [DEBUG] xrdp_000003bc_wm_login_mode_event_00000001
[20200515-16:51:26] [INFO ] Loading keymap file /usr/local/etc/xrdp/km-00000409.ini
[20200515-16:51:26] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
[20200515-16:51:26] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip 192.168.2.105 port 3350
[20200515-16:51:26] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20200515-16:51:26] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20200515-16:51:26] [DEBUG] return value from xrdp_mm_connect 0
[20200515-16:51:27] [INFO ] xrdp_wm_log_msg: login successful for display 10
[20200515-16:51:27] [DEBUG] xrdp_wm_log_msg: started connecting
[20200515-16:51:30] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 40880)
[20200515-16:51:34] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 64555)
[20200515-16:51:37] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 54286)
[20200515-16:51:41] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 14251)
[20200515-16:51:44] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 19472)
[20200515-16:51:48] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 30338)
[20200515-16:51:52] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 25266)
[20200515-16:51:55] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 42697)
[20200515-16:51:59] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 41920)
[20200515-16:52:02] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 49182)
[20200515-16:52:06] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 20716)
[20200515-16:52:10] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 54221)
[20200515-16:52:13] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 44492)
[20200515-16:52:17] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 19697)
[20200515-16:52:20] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 31358)
[20200515-16:52:24] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 55370)
[20200515-16:52:28] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 53959)
[20200515-16:52:31] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 55400)
[20200515-16:52:35] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 10285)
[20200515-16:52:38] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 14679)
[20200515-16:52:42] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 27269)
[20200515-16:52:46] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 47084)
[20200515-16:52:49] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 46831)
[20200515-16:52:53] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 48537)
[20200515-16:52:56] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 18805)
[20200515-16:53:00] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 20716)
[20200515-16:53:04] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 15828)
[20200515-16:53:07] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 21441)
[20200515-16:53:11] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 37307)
[20200515-16:53:14] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 38295)
[20200515-16:53:18] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 15360)
[20200515-16:53:22] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 50016)
[20200515-16:53:25] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 54699)
[20200515-16:53:29] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 26191)
[20200515-16:53:32] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 18523)
[20200515-16:53:36] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 65025)
[20200515-16:53:40] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 36672)
[20200515-16:53:43] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 47150)
[20200515-16:53:47] [DEBUG] Closed socket 19 (AF_INET6 ::ffff:192.168.2.105 port 50703)
-------------- next part --------------
;; See `man 5 sesman.ini` for details

[Globals]
ListenAddress=192.168.2.105
ListenPort=3350
EnableUserWindowManager=false
; Give in relative path to user's home directory
UserWindowManager=startwm.sh
; Give in full path or relative path to /usr/local/etc/xrdp
DefaultWindowManager=startwm.sh
; Give in full path or relative path to /usr/local/etc/xrdp
ReconnectScript=reconnectwm.sh

[Security]
AllowRootLogin=true
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
; When AlwaysGroupCheck=false access will be permitted
; if the group TerminalServerUsers is not defined.
AlwaysGroupCheck=false
; When RestrictOutboundClipboard=true clipboard from the
; server is not pushed to the client.
RestrictOutboundClipboard=false

[Sessions]
;; X11DisplayOffset - x11 display number offset
; Type: integer
; Default: 10
X11DisplayOffset=10

;; MaxSessions - maximum number of connections to an xrdp server
; Type: integer
; Default: 0
MaxSessions=50

;; KillDisconnected - kill disconnected sessions
; Type: boolean
; Default: false
; if 1, true, or yes, kill session after 60 seconds
KillDisconnected=false

;; DisconnectedTimeLimit - when to kill idle sessions
; Type: integer
; Default: 0
; if not zero, the seconds before a disconnected session is killed
; min 60 seconds
DisconnectedTimeLimit=0

;; IdleTimeLimit (specify in second) - wait before disconnect idle sessions
; Type: integer
; Default: 0
; Set to 0 to disable idle disconnection.
IdleTimeLimit=0

;; Policy - session allocation policy
; Type: enum [ "Default" | "UBD" | "UBI" | "UBC" | "UBDI" | "UBDC" ]
; Default: Xrdp:<User,BitPerPixel> and Xvnc:<User,BitPerPixel,DisplaySize>
; "UBD" session per <User,BitPerPixel,DisplaySize>
; "UBI" session per <User,BitPerPixel,IPAddr>
; "UBC" session per <User,BitPerPixel,Connection>
; "UBDI" session per <User,BitPerPixel,DisplaySize,IPAddr>
; "UBDC" session per <User,BitPerPixel,DisplaySize,Connection>
Policy=Default

[Logging]
LogFile=xrdp-sesman.log
LogLevel=DEBUG
EnableSyslog=1
SyslogLevel=DEBUG

;
; Session definitions - startup command-line parameters for each session type
;

[Xorg]
; Specify the path of non-suid Xorg executable. It might differ depending
; on your distribution and version. The typical path is shown as follows:
;
; Fedora 26 or later    :  param=/usr/libexec/Xorg
; Debian 9 or later     :  param=/usr/lib/xorg/Xorg
; Ubuntu 16.04 or later :  param=/usr/lib/xorg/Xorg
; Arch Linux            :  param=/usr/lib/xorg-server/Xorg
; CentOS 7              :  param=/usr/bin/Xorg or param=Xorg
;
param=/usr/local/bin/Xorg
; Leave the rest paramaters as-is unless you understand what will happen.
param=-config
param=xrdp/xorg.conf
param=-noreset
param=-nolisten
param=tcp
#param=-logfile
#param=.xorgxrdp.%s.log

[Xvnc]
param=Xvnc
param=-bs
param=-nolisten
param=tcp
param=-localhost
param=-dpi
param=96

[Chansrv]
; drive redirection, defaults to xrdp_client if not set
FuseMountName=thinclient_drives
; this value allows only the user to acess their own mapped drives.
; Make this more permissive (e.g. 022) if required.
FileUmask=077

[SessionVariables]
PULSE_SCRIPT=/usr/local/etc/xrdp/pulse/default.pa
-------------- next part --------------
[Globals]
; xrdp.ini file version number
ini_version=1

; fork a new process for each incoming connection
fork=true

; ports to listen on, number alone means listen on all interfaces
; or :: if ipv6 is configured
; space between multiple occurrences
;
; Examples:
 ; port=3389
  ; port=unix://192.168.2.105/tmp/xrdp.socket
   port=tcp://192.168.2.105:3389                           
   ;port=tcp://192.168.2.105:3389                           
;   port=tcp://<any ipv4 format addr>:3389      192.168.1.1:3389
;   port=tcp6://.:3389                          ::1:3389
;   port=tcp6://:3389                           *:3389
;   port=tcp6://{<any ipv6 format addr>}:3389   {FC00:0:0:0:0:0:0:1}:3389
   ;port=vsock://192.168.2.105:3389
;port=3389

; 'port' above should be connected to with vsock instead of tcp
; use this only with number alone in port above
; prefer use vsock://<cid>:<port> above
use_vsock=false

; regulate if the listening socket use socket option tcp_nodelay
; no buffering will be performed in the TCP stack
tcp_nodelay=true

; regulate if the listening socket use socket option keepalive
; if the network connection disappear without close messages the connection will be closed
tcp_keepalive=true

; set tcp send/recv buffer (for experts)
#tcp_send_buffer_bytes=32768
#tcp_recv_buffer_bytes=32768

; security layer can be 'tls', 'rdp' or 'negotiate'
; for client compatible layer
security_layer=negotiate

; minimum security level allowed for client for classic RDP encryption
; use tls_ciphers to configure TLS encryption
; can be 'none', 'low', 'medium', 'high', 'fips'
crypt_level=high

; X.509 certificate and private key
; openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
certificate=
key_file=

; set SSL protocols
; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'
ssl_protocols=TLSv1.2, TLSv1.3
; set TLS cipher suites
#tls_ciphers=HIGH

; Section name to use for automatic login if the client sends username
; and password. If empty, the domain name sent by the client is used.
; If empty and no domain name is given, the first suitable section in
; this file will be used.
autorun=

allow_channels=true
allow_multimon=true
bitmap_cache=true
bitmap_compression=true
bulk_compression=true
#hidelogwindow=true
max_bpp=32
new_cursors=true
; fastpath - can be 'input', 'output', 'both', 'none'
use_fastpath=both
; when true, userid/password *must* be passed on cmd line
#require_credentials=true
; You can set the PAM error text in a gateway setup (MAX 256 chars)
#pamerrortxt=change your password according to policy at http://url

;
; colors used by windows in RGB format
;
#blue=009cb5
#grey=dedede
#black=000000
#dark_grey=808080
#blue=08246b
#dark_blue=08246b
#white=ffffff
red=ff0000
green=00ff00
#background=626c72

;
; configure login screen
;

; Login Screen Window Title
#ls_title=My Login Title

; top level window background color in RGB format
ls_top_window_bg_color=009cb5

; width and height of login screen
ls_width=350
ls_height=430

; login screen background color in RGB format
ls_bg_color=dedede

; optional background image filename (bmp format).
#ls_background_image=

; logo
; full path to bmp-file or file in shared folder
ls_logo_filename=
ls_logo_x_pos=55
ls_logo_y_pos=50

; for positioning labels such as username, password etc
ls_label_x_pos=30
ls_label_width=65

; for positioning text and combo boxes next to above labels
ls_input_x_pos=110
ls_input_width=210

; y pos for first label and combo box
ls_input_y_pos=220

; OK button
ls_btn_ok_x_pos=142
ls_btn_ok_y_pos=370
ls_btn_ok_width=85
ls_btn_ok_height=30

; Cancel button
ls_btn_cancel_x_pos=237
ls_btn_cancel_y_pos=370
ls_btn_cancel_width=85
ls_btn_cancel_height=30

[Logging]
LogFile=xrdp.log
LogLevel=DEBUG
EnableSyslog=true
SyslogLevel=DEBUG
; LogLevel and SysLogLevel could by any of: core, error, warning, info or debug

[Channels]
; Channel names not listed here will be blocked by XRDP.
; You can block any channel by setting its value to false.
; IMPORTANT! All channels are not supported in all use
; cases even if you set all values to true.
; You can override these settings on each session type
; These settings are only used if allow_channels=true
rdpdr=true
rdpsnd=true
drdynvc=true
cliprdr=true
rail=true
xrdpvr=true
tcutils=true

; for debugging xrdp, in section xrdp1, change port=-1 to this:
#port=/tmp/.xrdp/xrdp_display_10

; for debugging xrdp, add following line to section xrdp1
#chansrvport=/tmp/.xrdp/xrdp_chansrv_socket_7210


;
; Session types
;

; Some session types such as Xorg, X11rdp and Xvnc start a display server.
; Startup command-line parameters for the display server are configured
; in sesman.ini. See and configure also sesman.ini.
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=192.168.2.105
port=-1
code=20

[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
#xserverbpp=24
#delay_ms=2000

[vnc-any]
name=vnc-any
lib=libvnc.so
ip=ask
port=ask5900
username=na
password=ask
#pamusername=asksame
#pampassword=asksame
#pamsessionmng=127.0.0.1
#delay_ms=2000

[neutrinordp-any]
name=neutrinordp-any
lib=libxrdpneutrinordp.so
ip=ask
port=ask3389
username=ask
password=ask

; You can override the common channel settings for each session type
#channel.rdpdr=true
#channel.rdpsnd=true
#channel.drdynvc=true
#channel.cliprdr=true
#channel.rail=true
#channel.xrdpvr=true
-------------- next part --------------
#!/bin/sh
#
# This script is an example. Edit this to suit your needs.
# If ${HOME}/startwm.sh exists, xrdp-sesman will execute it instead of this.

#### set environment variables here if you want
# export LANG=en_US.UTF-8

#### start desktop environment
# exec gnome-session
# exec mate-session
# exec start-lumina-desktop
# exec startkde
exec startxfce4
exec xterm
-------------- next part --------------
#!/bin/sh
#
# This script is an example. Edit this to suit your needs.
# If ${HOME}/startwm.sh exists, xrdp-sesman will execute it instead of this.

#### set environment variables here if you want
# export LANG=en_US.UTF-8

#### start desktop environment
# exec gnome-session
# exec mate-session
# exec start-lumina-desktop
# exec startkde
exec startxfce4
exec xterm
-------------- next part --------------
[20200515-16:51:26] [INFO ] A connection received from ::ffff:192.168.2.105 port 15578
[20200515-16:51:27] [INFO ] ++ created session (access granted): username root, ip 192.168.2.106:49522 - socket: 12
[20200515-16:51:27] [INFO ] starting Xorg session...
[20200515-16:51:27] [DEBUG] Closed socket 9 (AF_INET6 :: port 5910)
[20200515-16:51:27] [DEBUG] Closed socket 9 (AF_INET6 :: port 6010)
[20200515-16:51:27] [DEBUG] Closed socket 9 (AF_INET6 :: port 6210)
[20200515-16:51:27] [INFO ] calling auth_start_session from pid 957
[20200515-16:51:27] [DEBUG] Closed socket 8 (AF_INET6 ::ffff:192.168.2.105 port 3350)
[20200515-16:51:27] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:192.168.2.105 port 3350)
[20200515-16:51:27] [DEBUG] Closed socket 8 (AF_INET6 ::ffff:192.168.2.105 port 3350)
[20200515-16:51:27] [INFO ] /usr/local/bin/Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp  
[20200515-16:51:27] [CORE ] waiting for window manager (pid 959) to exit


More information about the freebsd-x11 mailing list