XRDP登录点击OK后卡顿无响应问题求助
XRDP登录点击OK后卡顿无响应问题求助
我正尝试用**xrdp(最新版本0.9.12-1)**从Windows 10连接到Ubuntu 20.04.5 LTS。当我进入登录界面输入凭据并点击OK后,xrdp会冻结大约5分钟,之后解冻但停留在同一界面,完全没有进展。请问该如何解决这个问题?
已尝试的解决步骤(未生效)
我参考了另一个同类问题的帖子,尝试了以下操作,但对我没用:
- 卸载重装xrdp:
sudo apt-get purge xrdp sudo apt-get install xrdp - 安装xfce桌面环境:
sudo apt-get install xfce4 sudo apt-get install xfce4-goodies - 备份并修改xrdp.ini配置:
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini - 设置默认会话:
echo xfce4-session > ~/.xsession - 修改
/etc/xrdp/startwm.sh文件:
注释原有两行:
添加xfce启动命令:#test -x /etc/X11/Xsession && exec /etc/X11/Xsession #exec /bin/sh /etc/X11/Xsession# xfce startxfce4 - 重启xrdp服务:
sudo /etc/init.d/xrdp start
xrdp日志信息
[20221110-10:34:28] [INFO ] listening to port 3350 on 127.0.0.1 [20221110-10:59:33] [DEBUG] libscp initialized [20221110-10:59:33] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350. [20221110-10:59:33] [DEBUG] Closed socket 6 (AF_INET6 ::ffff:127.0.0.1 port 3350) [20221110-10:59:33] [INFO ] starting xrdp-sesman with pid 1465 [20221110-10:59:33] [INFO ] listening to port 3350 on 127.0.0.1 [20221110-11:03:39] [INFO ] shutting down sesman 1 [20221110-11:03:39] [DEBUG] Closed socket 8 (AF_INET6 ::ffff:127.0.0.1 port 3350) [20221110-11:04:04] [DEBUG] libscp initialized [20221110-11:04:04] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350. [20221110-11:04:04] [DEBUG] Closed socket 6 (AF_INET6 ::ffff:127.0.0.1 port 3350) [20221110-11:04:04] [INFO ] starting xrdp-sesman with pid 1462 [20221110-11:04:04] [INFO ] listening to port 3350 on 127.0.0.1 [20221110-11:25:54] [INFO ] shutting down sesman 1 [20221110-11:25:54] [DEBUG] Closed socket 8 (AF_INET6 ::ffff:127.0.0.1 port 3350) [20221110-11:27:47] [DEBUG] libscp initialized [20221110-11:27:47] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350. [20221110-11:27:47] [DEBUG] Closed socket 6 (AF_INET6 ::ffff:127.0.0.1 port 3350) [20221110-11:27:47] [INFO ] starting xrdp-sesman with pid 1470 [20221110-11:27:47] [INFO ] listening to port 3350 on 127.0.0.1 [20221122-14:51:20] [INFO ] shutting down sesman 1 [20221122-14:51:20] [DEBUG] Closed socket 8 (AF_INET6 ::ffff:127.0.0.1 port 3350) [20221122-14:51:54] [DEBUG] libscp initialized [20221122-14:51:54] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350. [20221122-14:51:54] [DEBUG] Closed socket 6 (AF_INET6 ::ffff:127.0.0.1 port 3350) [20221122-14:51:54] [INFO ] starting xrdp-sesman with pid 1499 [20221122-14:51:54] [INFO ] listening to port 3350 on 127.0.0.1 [20221202-16:19:12] [INFO ] shutting down sesman 1 [20221202-16:19:12] [DEBUG] Closed socket 8 (AF_INET6 ::ffff:127.0.0.1 port 3350) [20221202-16:19:51] [DEBUG] libscp initialized [20221202-16:19:51] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350. [20221202-16:19:51] [DEBUG] Closed socket 6 (AF_INET6 ::ffff:127.0.0.1 port 3350) [20221202-16:19:51] [INFO ] starting xrdp-sesman with pid 1486 [20221202-16:19:51] [INFO ] listening to port 3350 on 127.0.0.1 [20221207-11:12:01] [INFO ] shutting down sesman 1 [20221207-11:12:01] [DEBUG] Closed socket 8 (AF_INET6 ::ffff:127.0.0.1 port 3350) [20221207-11:25:18] [DEBUG] libscp initialized [20221207-11:25:18] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350. [20221207-11:25:18] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350) [20221207-11:25:18] [INFO ] starting xrdp-sesman with pid 1085654 [20221207-11:25:18] [INFO ] listening to port 3350 on 127.0.0.1
当前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=3390 ; port=unix://./tmp/xrdp.socket ; port=tcp://.:3390 127.0.0.1:3390 ; port=tcp://:3390 *:3390 ; port=tcp://<any ipv4 format addr>:3390 192.168.1.1:3390 ; port=tcp6://.:3390 ::1:3390 ; port=tcp6://:3390 *:3390 ; port=tcp6://{<any ipv6 format addr>}:3390 {FC00:0:0:0:0:0:0:1}:3390 ; port=vsock://<cid>:<port> port=3390 ; '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 ; note this needs the user xrdp to be a member of the ssl-cert group, do with e.g. ;$ sudo adduser xrdp ssl-cert 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 max_bpp=128 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 xserverbpp=128 #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=ask3390 username=ask password=ask ; You can override the common channel settings for each session type #channel.rdpdr=true #channel.rdpsnd=true #channel.drdynvc=true #
相关产品推荐
相关产品推荐

