1

I am running xrdp on my Ubuntu 18.04 computer. I got 3 users. Two is working well. They can connect from Windows 10 rdp without any problem. But the last one does fail with a "Connection problem, giving up" message. And it is that user I use myself.

I have spend a lot of time researching and looking at log-files without any luck. I did remove and install xrdp again - no change.

I might have done something to corrupt the settings for this user. It did work for some time. If I only could somehow reset the user.

The user is not logged on locally. I use gnome desktop. From inxi for one of the functioning users i got this info:

Desktop: Gnome 3.28.2 Distro: Ubuntu 18.04.1 LTS Display Server: X.Org 1.19.6

EDIT

I compared an OK user with the malfunctioning user by looking at /var/log/xrdp.log. For the OK user, the log continues after:

 [DEBUG] xrdp_wm_log_msg: started connecting

while the other just gets a bunch of:

 [DEBUG] Closed socket 17 (AF_UNIX)

and after a while these lines appears:

 xrdp_wm_log_msg: connection problem, giving up
 xrdp_wm_log_msg: some problem

There are some differences in .xorgxrdp.10.log

Bad one:

  [ 22202.422] (II) Loading /usr/lib/x86_64-linux-gnu/nvidia/xorg/libglx.so
  [ 22202.425] (II) Module glx: vendor="NVIDIA Corporation"
  [ 22202.425]    compiled for 4.0.2, module version = 1.0.0
  [ 22202.425]    Module class: X.Org Server Extension
  [ 22202.425] (II) NVIDIA GLX Module  390.48  Wed Mar 21 23:42:56 PDT 2018
    ...
  [ 22202.428] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

Good one

[ 24242.838] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 24242.839] (II) Module glx: vendor="X.Org Foundation"
[ 24242.839]    compiled for 1.19.6, module version = 1.0.0
[ 24242.839]    ABI class: X.Org Server Extension, version 10.0
...
[ 24242.843] (II) AIGLX: Screen 0 is not DRI2 capable
[ 24242.843] (EE) AIGLX: reverting to software rendering
[ 24242.869] (II) IGLX: enabled GLX_MESA_copy_sub_buffer
[ 24242.870] (II) IGLX: Loaded and initialized swrast
[ 24242.870] (II) GLX: Initialized DRISWRAST GL provider for screen 0

Edit xrdp.ini added

cat /etc/xrdp/xrdp.ini
[Globals]
; xrdp.ini file version number
ini_version=1

; fork a new process for each incoming connection
fork=true
; tcp port to listen
port=3389
; 'port' above should be connected to with vsock instead of tcp
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
#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
; 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'
ssl_protocols=TLSv1, TLSv1.1, TLSv1.2
; 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=60

; 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=127.0.0.1
port=-1
code=20

[X11rdp]
name=X11rdp
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
xserverbpp=24
code=10

[X11rdp2]
name=Custom
lib=libvnc.so
username=askallan
password=ask
ip=127.0.0.1
port=ask5901

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

[console]
name=console
lib=libvnc.so
ip=127.0.0.1
port=5900
username=na
password=ask
#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

[sesman-any]
name=sesman-any
lib=libvnc.so
ip=ask
port=-1
username=ask
password=ask
#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
  • Did you check /etc/xrdp/xrdp.ini? – Rinzwind Aug 24 '18 at 14:15
  • My assumption is, that files shared by all users will not cause this issue. But I might be wrong. I will add xrdp.ini. – Allan Bertelsen Aug 24 '18 at 15:35
  • Hmm my memory is failing me. I was certain there was a user section in there. – Rinzwind Aug 24 '18 at 16:07
  • Does the differences in .xorgxrdp.10.log indicate anything? – Allan Bertelsen Aug 24 '18 at 22:17
0

Your "good" user is picking up xorg driver instead of the nvidia driver, so you need to check the user-specific files such as ~/.xsession and anything related to xorg or graphics drivers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.