You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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文件:
    注释原有两行:
    #test -x /etc/X11/Xsession && exec /etc/X11/Xsession
    #exec /bin/sh /etc/X11/Xsession
    
    添加xfce启动命令:
    # 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
#
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 07:38:04