xrdp: Manjaro Linux - cannot connect to server - Closed socket 19 (AF_UNIX)
Hi, I try to connect to a local xrdp server running Majaro, KDE. All what I get is the xorg login screen, after login I only see a black box.
Here are the log and config files:
xrdp.log
[20200405-15:54:22] [DEBUG] Closed socket 11 (AF_INET 0.0.0.0:3389)
[20200405-15:54:22] [INFO ] address [0.0.0.0] port [3389] mode 1
[20200405-15:54:22] [INFO ] listening to port 3389 on 0.0.0.0
[20200405-15:54:22] [INFO ] xrdp_listen_pp done
[20200405-15:54:22] [DEBUG] Closed socket 7 (AF_INET 0.0.0.0:3389)
[20200405-15:54:23] [INFO ] address [0.0.0.0] port [3389] mode 1
[20200405-15:54:23] [INFO ] listening to port 3389 on 0.0.0.0
[20200405-15:54:23] [INFO ] xrdp_listen_pp done
[20200405-15:54:23] [DEBUG] Closed socket 7 (AF_INET 0.0.0.0:3389)
[20200405-15:54:25] [INFO ] starting xrdp with pid 1886
[20200405-15:54:25] [INFO ] address [0.0.0.0] port [3389] mode 1
[20200405-15:54:25] [INFO ] listening to port 3389 on 0.0.0.0
[20200405-15:54:25] [INFO ] xrdp_listen_pp done
[20200405-15:54:31] [INFO ] Socket 12: AF_INET connection received from 192.168.1.40 port 58238
[20200405-15:54:31] [DEBUG] Closed socket 12 (AF_INET 192.168.1.30:3389)
[20200405-15:54:31] [DEBUG] Closed socket 11 (AF_INET 0.0.0.0:3389)
[20200405-15:54:31] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20200405-15:54:31] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20200405-15:54:31] [DEBUG] TLSv1.3 enabled
[20200405-15:54:31] [DEBUG] TLSv1.2 enabled
[20200405-15:54:31] [DEBUG] Security layer: requested 3, selected 1
[20200405-15:54:31] [INFO ] connected client computer name: thorsten-pc
[20200405-15:54:31] [INFO ] adding channel item name cliprdr chan_id 1004 flags 0x0000a0c0
[20200405-15:54:31] [INFO ] adding channel item name rdpsnd chan_id 1005 flags 0x000000c0
[20200405-15:54:31] [INFO ] adding channel item name snddbg chan_id 1006 flags 0x000000c0
[20200405-15:54:31] [INFO ] adding channel item name rdpdr chan_id 1007 flags 0x00008080
[20200405-15:54:31] [INFO ] adding channel item name drdynvc chan_id 1008 flags 0x000000c0
[20200405-15:54:31] [INFO ] TLS connection established from 192.168.1.40 port 58238: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384
[20200405-15:54:31] [DEBUG] xrdp_00000762_wm_login_mode_event_00000001
[20200405-15:54:31] [INFO ] Loading keymap file /etc/xrdp/km-00000407.ini
[20200405-15:54:31] [WARN ] local keymap file for 0x00000407 found and doesn't match built in keymap, using local keymap file
[20200405-15:54:31] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0.1 port 3350
[20200405-15:54:31] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20200405-15:54:31] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20200405-15:54:31] [DEBUG] return value from xrdp_mm_connect 0
[20200405-15:54:31] [INFO ] xrdp_wm_log_msg: login successful for display 20
[20200405-15:54:31] [DEBUG] xrdp_wm_log_msg: started connecting
[20200405-15:54:35] [DEBUG] Closed socket 19 (AF_UNIX)
[20200405-15:54:38] [DEBUG] Closed socket 19 (AF_UNIX)
[20200405-15:54:42] [DEBUG] Closed socket 19 (AF_UNIX)
[20200405-15:54:45] [DEBUG] Closed socket 19 (AF_UNIX)
[20200405-15:54:49] [DEBUG] Closed socket 19 (AF_UNIX)
[20200405-15:54:52] [DEBUG] Closed socket 19 (AF_UNIX)
[20200405-15:54:56] [DEBUG] Closed socket 19 (AF_UNIX)
[20200405-15:54:59] [DEBUG] Closed socket 19 (AF_UNIX)
[20200405-15:55:03] [DEBUG] Closed socket 19 (AF_UNIX)
[20200405-15:55:06] [DEBUG] Closed socket 19 (AF_UNIX)
[20200405-15:55:10] [DEBUG] Closed socket 19 (AF_UNIX)
[20200405-15:55:13] [DEBUG] Closed socket 19 (AF_UNIX)
xrdp-sesman.log
[20200405-15:54:22] [INFO ] shutting down sesman 1
[20200405-15:54:22] [DEBUG] Closed socket 7 (AF_INET 127.0.0.1:3350)
[20200405-15:54:22] [DEBUG] libscp initialized
[20200405-15:54:22] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350.
[20200405-15:54:22] [DEBUG] Closed socket 5 (AF_INET 127.0.0.1:3350)
[20200405-15:54:22] [INFO ] starting xrdp-sesman with pid 1869
[20200405-15:54:22] [INFO ] listening to port 3350 on 127.0.0.1
[20200405-15:54:23] [INFO ] shutting down sesman 1
[20200405-15:54:23] [INFO ] shutting down sesman 1
[20200405-15:54:23] [DEBUG] Closed socket 7 (AF_INET 127.0.0.1:3350)
[20200405-15:54:23] [DEBUG] libscp initialized
[20200405-15:54:23] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350.
[20200405-15:54:23] [DEBUG] Closed socket 5 (AF_INET 127.0.0.1:3350)
[20200405-15:54:23] [INFO ] starting xrdp-sesman with pid 1880
[20200405-15:54:23] [INFO ] listening to port 3350 on 127.0.0.1
[20200405-15:54:31] [INFO ] A connection received from 127.0.0.1 port 51700
[20200405-15:54:31] [INFO ] ++ created session (access granted): username thorsten, ip 192.168.1.40:58238 - socket: 12
[20200405-15:54:31] [INFO ] starting Xorg session...
[20200405-15:54:31] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:5920)
[20200405-15:54:31] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:6020)
[20200405-15:54:31] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:6220)
[20200405-15:54:31] [DEBUG] Closed socket 8 (AF_INET 127.0.0.1:3350)
[20200405-15:54:31] [INFO ] calling auth_start_session from pid 1891
[20200405-15:54:31] [DEBUG] Closed socket 7 (AF_INET 127.0.0.1:3350)
[20200405-15:54:31] [DEBUG] Closed socket 8 (AF_INET 127.0.0.1:3350)
[20200405-15:54:31] [INFO ] /usr/lib/xorg-server/Xorg :20 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log
[20200405-15:54:31] [CORE ] error starting X server - user thorsten - pid 1893
[20200405-15:54:31] [DEBUG] errno: 2, description: No such file or directory
[20200405-15:54:31] [DEBUG] execve parameter list size: 12
[20200405-15:54:31] [DEBUG] argv[0] = /usr/lib/xorg-server/Xorg
[20200405-15:54:31] [DEBUG] argv[1] = :20
[20200405-15:54:31] [DEBUG] argv[2] = -auth
[20200405-15:54:31] [DEBUG] argv[3] = .Xauthority
[20200405-15:54:31] [DEBUG] argv[4] = -config
[20200405-15:54:31] [DEBUG] argv[5] = xrdp/xorg.conf
[20200405-15:54:31] [DEBUG] argv[6] = -noreset
[20200405-15:54:31] [DEBUG] argv[7] = -nolisten
[20200405-15:54:31] [DEBUG] argv[8] = tcp
[20200405-15:54:31] [DEBUG] argv[9] = -logfile
[20200405-15:54:31] [DEBUG] argv[10] = .xorgxrdp.%s.log
[20200405-15:54:31] [DEBUG] argv[11] = (null)
[20200405-15:54:41] [ERROR] X server for display 20 startup timeout
[20200405-15:54:41] [CORE ] waiting for window manager (pid 1892) to exit
[20200405-15:54:41] [ERROR] X server for display 20 startup timeout
[20200405-15:54:41] [ERROR] another Xserver might already be active on display 20 - see log
[20200405-15:54:41] [DEBUG] aborting connection...
[20200405-15:54:41] [CORE ] window manager (pid 1892) did exit, cleaning up session
[20200405-15:54:41] [INFO ] calling auth_stop_session and auth_end from pid 1891
[20200405-15:54:41] [DEBUG] cleanup_sockets:
[20200405-15:54:41] [DEBUG] cleanup_sockets: deleting /tmp/.xrdp/xrdp_chansrv_socket_20
[20200405-15:54:41] [DEBUG] cleanup_sockets: deleting /tmp/.xrdp/xrdpapi_20
[20200405-15:54:41] [INFO ] ++ terminated session: username thorsten, display :20.0, session_pid 1891, ip 192.168.1.40:58238 - socket: 12
sesman.ini
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=true
; Give in relative path to user's home directory
UserWindowManager=startwm.sh
; Give in full path or relative path to /etc/xrdp
DefaultWindowManager=startwm.sh
; Give in full path or relative path to /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=20
;; 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/lib/xorg-server/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=/etc/xrdp/pulse/default.pa
xrdp.ini
[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
; 0.0.0.0 or :: if ipv6 is configured
; space between multiple occurrences
;
; Examples:
; port=3389
; port=unix://./tmp/xrdp.socket
; port=tcp://.:3389 127.0.0.1:3389
; port=tcp://:3389 *: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://<cid>:<port>
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=127.0.0.1
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
startwm.sh
#!/usr/bin/env bash
#
# This script is an example. You might need to edit this script
# depending on your distro if it doesn't work for you.
#
# Uncomment the following line for debug:
# exec xterm
# Execution sequence for interactive login shell - pseudocode
#
# IF /etc/profile is readable THEN
# execute ~/.bash_profile
# END IF
# IF ~/.bash_profile is readable THEN
# execute ~/.bash_profile
# ELSE
# IF ~/.bash_login is readable THEN
# execute ~/.bash_login
# ELSE
# IF ~/.profile is readable THEN
# execute ~/.profile
# END IF
# END IF
# END IF
pre_start()
{
if [ -r /etc/profile ]; then
. /etc/profile
fi
if [ -r ~/.bash_profile ]; then
. ~/.bash_profile
else
if [ -r ~/.bash_login ]; then
. ~/.bash_login
else
if [ -r ~/.profile ]; then
. ~/.profile
fi
fi
fi
return 0
}
# When loging out from the interactive shell, the execution sequence is:
#
# IF ~/.bash_logout exists THEN
# execute ~/.bash_logout
# END IF
post_start()
{
if [ -r ~/.bash_logout ]; then
. ~/.bash_logout
fi
return 0
}
#start the window manager
wm_start()
{
# if [ -r /etc/locale.conf ]; then
# . /etc/locale.conf
# export LANG LANGUAGE
# fi
# arch user
if [ -r ~/.xinitrc ]; then
. ~/.xinitrc
exit 0
fi
# arch
# if [ -r /etc/X11/xinit/xinitrc ]; then
# . /etc/X11/xinit/xinitrc
# exit 0
# fi
# debian
# if [ -r /etc/X11/Xsession ]; then
# pre_start
# . /etc/X11/Xsession
# post_start
# exit 0
# fi
# el
# if [ -r /etc/X11/xinit/Xsession ]; then
# pre_start
# . /etc/X11/xinit/Xsession
# post_start
# exit 0
# fi
# suse
# if [ -r /etc/X11/xdm/Xsession ]; then
# since the following script run a user login shell,
# do not execute the pseudo login shell scripts
# . /etc/X11/xdm/Xsession
# exit 0
# fi
pre_start
xterm
post_start
}
#. /etc/environment
#export PATH=$PATH
#export LANG=$LANG
# change PATH to be what your environment needs usually what is in
# /etc/environment
#PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
#export PATH=$PATH
# for PATH and LANG from /etc/environment
# pam will auto process the environment file if /etc/pam.d/xrdp-sesman
# includes
# auth required pam_env.so readenv=1
wm_start
exit 1
I postet this in the Manjro forums before 2 weeks but get no response. I hope you can help me find out whats wrong.
Regads
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 16 (6 by maintainers)
@corax205 I had the same “(EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)” issue on Manjaro/KDE+plasma and nearly went mad trying to figure this out.
Problem for me was Xorg unable to figure out the correct Layout section from xorg.conf, though the man page for Xorg says:
So I added the “-layout X11 Server” param to Xorg section in sesman.ini (you can verify the layout name from xorg.conf to be safe):
And after restart of xrdp and xrdp-sesman I was able to get the remote desktop connection working.
EDIT: Also had to add the following lines in startwm.sh in the wm_start() function to get a functional plasma desktop: