xrdp 启动分析
前言:xrdp模块说明
参考文档:xrdp-genkeymap man page - xrdp - System Administration (mankier.com)
xrdp:远程桌面协议 (RDP) 服务器。
xrdp-sesman: 会话管理器它通过对用户进行身份验证并启动相应的 X 服务器来管理用户会话。
xrdp-dis: 运行 xrdp-dis 时不带任何参数来断开 xrdp 会话的连接。
xrdp-sesadmin:是一个控制台程序来管理正在运行的 XRDP 会话。
一、在初次启动xrdp服务
sudo systemctl restart xrdp
1、xrdp
[20221013-14:10:56] [INFO ] starting xrdp with pid 23602
./xrdp/xrdp.c:685: LOG(LOG_LEVEL_INFO, "starting xrdp with pid %d", pid); [main 入口]
[20221013-14:10:56] [INFO ] address [0.0.0.0] port [3389] mode 1
xrdp/xrdp_listen.c:678: LOG(LOG_LEVEL_INFO, "address [%s] port [%s] mode %d", [xrdp_listen_main_loop]
[20221013-14:10:56] [INFO ] listening to port 3389 on 0.0.0.0
./xrdp/xrdp_listen.c:687: LOG(LOG_LEVEL_INFO, "listening to port %s on %s",
[20221013-14:10:56] [INFO ] xrdp_listen_pp done
xrdp/xrdp_listen.c:674 [break]
2、xrdp-session
[20221013-14:10:54] [INFO ] sesman_main_loop: sesman asked to terminate [20221013-14:10:54] [INFO ] starting xrdp-sesman with pid 23588 [20221013-14:10:54] [INFO ] Sesman now listening on /var/run/xrdp-sesman/sesman.socket
二、远程桌面开机启动指定app /usr/bin/pluma
1、xrdp
[20221013-17:23:04] [INFO ] Socket 12: connection accepted from 192.168.163.1:59633 [20221013-17:23:05] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem [20221013-17:23:05] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem [20221013-17:23:05] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|HYBRID_EX|RDP], selected [SSL] [20221013-17:23:05] [ERROR] SSL_read: I/O error [20221013-17:23:05] [ERROR] libxrdp_force_read: header read error [20221013-17:23:05] [ERROR] Processing [ITU-T T.125] Connect-Initial failed [20221013-17:23:05] [ERROR] [MCS Connection Sequence] receive connection request failed [20221013-17:23:05] [ERROR] xrdp_sec_incoming: xrdp_mcs_incoming failed [20221013-17:23:05] [ERROR] xrdp_rdp_incoming: xrdp_sec_incoming failed [20221013-17:23:05] [ERROR] xrdp_process_main_loop: libxrdp_process_incoming failed [20221013-17:23:05] [ERROR] xrdp_iso_send: trans_write_copy_s failed [20221013-17:23:05] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed [20221013-17:23:05] [INFO ] Socket 12: connection accepted from 192.168.163.1:59635 [20221013-17:23:05] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem [20221013-17:23:05] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem [20221013-17:23:05] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|HYBRID_EX|RDP], selected [SSL] [20221013-17:23:05] [INFO ] Connected client computer name: WYY-PC [20221013-17:23:05] [WARN ] Physical desktop dimensions (0x0) are invalid [20221013-17:23:05] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc006 is unknown (ignored) [20221013-17:23:05] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc00a is unknown (ignored) [20221013-17:23:05] [INFO ] xrdp_load_keyboard_layout: Keyboard information sent by the RDP client, keyboard_type:[0x04], keyboard_subtype:[0x00], keylayout:[0x00000804] [20221013-17:23:05] [INFO ] xrdp_load_keyboard_layout: model [] variant [] layout [us] options [] [20221013-17:23:05] [INFO ] TLS connection established from 192.168.163.1:59635 TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 [20221013-17:23:05] [INFO ] xrdp_caps_process_pointer: client supports new(color) cursor [20221013-17:23:05] [INFO ] xrdp_process_offscreen_bmpcache: support level 1 cache size 10485760 MB cache entries 100 [20221013-17:23:05] [INFO ] xrdp_caps_process_codecs: nscodec, codec id 1, properties len 3 [20221013-17:23:05] [WARN ] xrdp_caps_process_codecs: unknown codec id 5 [20221013-17:23:05] [INFO ] xrdp_caps_process_codecs: RemoteFX, codec id 3, properties len 49 [20221013-17:23:05] [WARN ] Cannot find keymap file /etc/xrdp/km-00000804.ini [20221013-17:23:05] [WARN ] Cannot find keymap file /etc/xrdp/km-00000804.ini [20221013-17:23:05] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini [20221013-17:23:05] [WARN ] local keymap file for 0x00000804 found and doesn't match built in keymap, using local keymap file [20221013-17:23:06] [WARN ] No information is available to determine login screen DPI [20221013-17:23:06] [WARN ] No DPI value is available to find login font [20221013-17:23:06] [WARN ] Using the default_dpi of 96 [20221013-17:23:06] [INFO ] connecting to sesman on sesman.socket [20221013-17:23:06] [WARN ] Ignoring obsolete SCP port value '3350' [20221013-17:23:06] [INFO ] xrdp_wm_log_msg: sesman connect ok [20221013-17:23:06] [INFO ] sesman connect ok [20221013-17:23:06] [INFO ] sending login info to session manager. Please wait... [20221013-17:23:06] [ERROR] dynamic_monitor_open_response: error [20221013-17:23:06] [ERROR] xrdp_rdp_recv: xrdp_channel_process failed [20221013-17:23:06] [INFO ] xrdp_wm_log_msg: login successful for user kylin on display 10 [20221013-17:23:06] [INFO ] login successful for user kylin on display 10 [20221013-17:23:06] [INFO ] loaded module 'libxup.so' ok, interface size 10408, version 4 [20221013-17:23:06] [INFO ] started connecting [20221013-17:23:06] [INFO ] lib_mod_connect: connecting via UNIX socket [20221013-17:23:08] [INFO ] lib_mod_log_peer: xrdp_pid=2397 connected to X11rdp_pid=2404 X11rdp_uid=1000 X11rdp_gid=1000 client=192.168.163.1:59635 [20221013-17:23:08] [INFO ] connected ok
2、xrdp-session
[20221013-17:20:20] [INFO ] sesman_main_loop: sesman asked to terminate [20221013-17:20:20] [INFO ] starting xrdp-sesman with pid 65947 [20221013-17:20:20] [INFO ] Sesman now listening on /var/run/xrdp-sesman/sesman.socket [20221013-17:20:38] [INFO ] sesman_main_loop: sesman asked to terminate [20221013-17:20:55] [WARN ] Window manager (pid 65282, display 11) exited with non-zero exit code 255 and signal 15. This could indicate a window manager config problem [20221013-17:20:55] [WARN ] Window manager (pid 41708, display 12) exited with non-zero exit code 255 and signal 15. This could indicate a window manager config problem [20221013-17:20:55] [WARN ] Window manager (pid 22790, display 10) exited with non-zero exit code 255 and signal 15. This could indicate a window manager config problem [20221013-17:22:00] [INFO ] starting xrdp-sesman with pid 1131 [20221013-17:22:00] [INFO ] Sesman now listening on /var/run/xrdp-sesman/sesman.socket [20221013-17:23:06] [INFO ] Socket 13: connection accepted from AF_UNIX [20221013-17:23:06] [INFO ] Received request to create Xorg session for user: kylin [20221013-17:23:06] [INFO ] Terminal Server Users group is disabled, allowing authentication [20221013-17:23:06] [INFO ] ++ created session (access granted): username kylin, ip 192.168.163.1 [20221013-17:23:06] [INFO ] Starting session: session_pid 2400, display :10.0, width 1920, height 1080, bpp 24, client ip 192.168.163.1, user name kylin [20221013-17:23:06] [INFO ] [session start] (display 10): calling auth_start_session from pid 2400 [20221013-17:23:06] [INFO ] Starting X server on display 10: Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log [20221013-17:23:06] [INFO ] Calling exec (executable: Xorg, arguments: Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log) [20221013-17:23:07] [INFO ] Found X server running at /tmp/.X11-unix/X10 [20221013-17:23:07] [INFO ] Found X server running at /tmp/.X11-unix/X10 [20221013-17:23:08] [INFO ] Session started successfully for user kylin on display 10 [20221013-17:23:08] [INFO ] Starting the xrdp channel server for display 10 [20221013-17:23:08] [INFO ] Found X server running at /tmp/.X11-unix/X10 [20221013-17:23:08] [INFO ] Session in progress on display 10, waiting until the window manager (pid 2403) exits to end the session [20221013-17:23:08] [INFO ] Calling exec (executable: /usr/local/sbin/xrdp-chansrv, arguments: /usr/local/sbin/xrdp-chansrv) [20221013-17:23:08] [INFO ] Starting user requested window manager on display 10: /usr/bin/pluma [20221013-17:23:08] [INFO ] Calling exec (executable: /usr/bin/pluma, arguments: /usr/bin/pluma ) [20221013-17:23:09] [ERROR] sesman_main_loop: trans_check_wait_objs failed, removing trans
三、远程登录桌面
1、xrdp
[20221013-15:26:02] [INFO ] Socket 12: connection accepted from 192.168.163.1:62683 [20221013-15:26:02] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem [20221013-15:26:02] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem [20221013-15:26:02] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|HYBRID_EX|RDP], selected [SSL] [20221013-15:26:03] [ERROR] SSL_read: I/O error [20221013-15:26:03] [ERROR] libxrdp_force_read: header read error [20221013-15:26:03] [ERROR] Processing [ITU-T T.125] Connect-Initial failed [20221013-15:26:03] [ERROR] [MCS Connection Sequence] receive connection request failed [20221013-15:26:03] [ERROR] xrdp_sec_incoming: xrdp_mcs_incoming failed [20221013-15:26:03] [ERROR] xrdp_rdp_incoming: xrdp_sec_incoming failed [20221013-15:26:03] [ERROR] xrdp_process_main_loop: libxrdp_process_incoming failed [20221013-15:26:03] [ERROR] xrdp_iso_send: trans_write_copy_s failed [20221013-15:26:03] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed [20221013-15:26:03] [INFO ] Socket 12: connection accepted from 192.168.163.1:62685 [20221013-15:26:03] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem [20221013-15:26:03] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem [20221013-15:26:03] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|HYBRID_EX|RDP], selected [SSL] [20221013-15:26:03] [INFO ] Connected client computer name: WYY-PC [20221013-15:26:03] [WARN ] Physical desktop dimensions (0x0) are invalid [20221013-15:26:03] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc006 is unknown (ignored) [20221013-15:26:03] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc00a is unknown (ignored) [20221013-15:26:03] [INFO ] xrdp_load_keyboard_layout: Keyboard information sent by the RDP client, keyboard_type:[0x04], keyboard_subtype:[0x00], keylayout:[0x00000804] [20221013-15:26:03] [INFO ] xrdp_load_keyboard_layout: model [] variant [] layout [us] options [] [20221013-15:26:03] [INFO ] TLS connection established from 192.168.163.1:62685 TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 [20221013-15:26:03] [INFO ] xrdp_caps_process_pointer: client supports new(color) cursor [20221013-15:26:03] [INFO ] xrdp_process_offscreen_bmpcache: support level 1 cache size 10485760 MB cache entries 100 [20221013-15:26:03] [INFO ] xrdp_caps_process_codecs: nscodec, codec id 1, properties len 3 [20221013-15:26:03] [WARN ] xrdp_caps_process_codecs: unknown codec id 5 [20221013-15:26:03] [INFO ] xrdp_caps_process_codecs: RemoteFX, codec id 3, properties len 49 [20221013-15:26:03] [WARN ] Cannot find keymap file /etc/xrdp/km-00000804.ini [20221013-15:26:03] [WARN ] Cannot find keymap file /etc/xrdp/km-00000804.ini [20221013-15:26:03] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini [20221013-15:26:03] [WARN ] local keymap file for 0x00000804 found and doesn't match built in keymap, using local keymap file [20221013-15:26:03] [WARN ] No information is available to determine login screen DPI [20221013-15:26:03] [WARN ] No DPI value is available to find login font [20221013-15:26:03] [WARN ] Using the default_dpi of 96 [20221013-15:26:03] [INFO ] connecting to sesman on sesman.socket [20221013-15:26:03] [WARN ] Ignoring obsolete SCP port value '3350' [20221013-15:26:03] [INFO ] xrdp_wm_log_msg: sesman connect ok [20221013-15:26:03] [INFO ] sesman connect ok [20221013-15:26:03] [INFO ] sending login info to session manager. Please wait... [20221013-15:26:03] [ERROR] dynamic_monitor_open_response: error [20221013-15:26:03] [ERROR] xrdp_rdp_recv: xrdp_channel_process failed [20221013-15:26:03] [INFO ] xrdp_wm_log_msg: login successful for user kylin on display 12 [20221013-15:26:03] [INFO ] login successful for user kylin on display 12 [20221013-15:26:03] [INFO ] loaded module 'libxup.so' ok, interface size 10408, version 4 [20221013-15:26:03] [INFO ] started connecting [20221013-15:26:03] [INFO ] lib_mod_connect: connecting via UNIX socket [20221013-15:26:05] [INFO ] lib_mod_log_peer: xrdp_pid=41699 connected to X11rdp_pid=41709 X11rdp_uid=1000 X11rdp_gid=1000 client=192.168.163.1:62685 [20221013-15:26:05] [INFO ] connected ok
2、xrdp-session
[20221013-15:26:03] [INFO ] Socket 13: connection accepted from AF_UNIX [20221013-15:26:03] [INFO ] Received request to create Xorg session for user: kylin [20221013-15:26:03] [INFO ] Terminal Server Users group is disabled, allowing authentication [20221013-15:26:03] [INFO ] ++ created session (access granted): username kylin, ip 192.168.163.1 [20221013-15:26:03] [INFO ] Found X server running at /tmp/.X11-unix/X10 [20221013-15:26:03] [INFO ] Found X server running at /tmp/.X11-unix/X11 [20221013-15:26:03] [INFO ] Starting session: session_pid 41704, display :12.0, width 1920, height 1080, bpp 24, client ip 192.168.163.1, user name kylin [20221013-15:26:03] [INFO ] [session start] (display 12): calling auth_start_session from pid 41704 [20221013-15:26:03] [INFO ] Starting X server on display 12: Xorg :12 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log [20221013-15:26:03] [INFO ] Calling exec (executable: Xorg, arguments: Xorg :12 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log) [20221013-15:26:03] [INFO ] Found X server running at /tmp/.X11-unix/X12 [20221013-15:26:03] [INFO ] Found X server running at /tmp/.X11-unix/X12 [20221013-15:26:03] [INFO ] Session started successfully for user kylin on display 12 [20221013-15:26:04] [INFO ] Session in progress on display 12, waiting until the window manager (pid 41708) exits to end the session [20221013-15:26:03] [INFO ] Starting the xrdp channel server for display 12 [20221013-15:26:04] [INFO ] Found X server running at /tmp/.X11-unix/X12 [20221013-15:26:04] [INFO ] Calling exec (executable: /usr/local/sbin/xrdp-chansrv, arguments: /usr/local/sbin/xrdp-chansrv) [20221013-15:26:04] [INFO ] Starting the default window manager on display 12: /etc/xrdp/startwm.sh [20221013-15:26:04] [INFO ] Calling exec (executable: /etc/xrdp/startwm.sh, arguments: /etc/xrdp/startwm.sh ) [20221013-15:26:05] [ERROR] sesman_main_loop: trans_check_wait_objs failed, removing trans