Centos
從 Windows10/Centos 連接到 Centos7 後 xrdp 立即斷開連接
這是我的 xrdp 配置:
[Globals] ini_version=1 fork=true port=3389 use_vsock=false tcp_nodelay=true tcp_keepalive=true security_layer=negotiate crypt_level=high certificate= key_file= ssl_protocols=TLSv1.2, TLSv1.3 autorun= allow_channels=true allow_multimon=true bitmap_cache=true bitmap_compression=true bulk_compression=true max_bpp=128 use_compression=yes new_cursors=true use_fastpath=both blue=009cb5 grey=dedede ls_top_window_bg_color=009cb5 ls_width=350 ls_height=430 ls_bg_color=dedede ls_logo_filename= ls_logo_x_pos=55 ls_logo_y_pos=50 ls_label_x_pos=30 ls_label_width=65 ls_input_x_pos=110 ls_input_width=210 ls_input_y_pos=220 ls_btn_ok_x_pos=142 ls_btn_ok_y_pos=370 ls_btn_ok_width=85 ls_btn_ok_height=30 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 [Channels] rdpdr=true rdpsnd=true drdynvc=true cliprdr=true rail=true xrdpvr=true tcutils=true [Xvnc] name=Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1 [Xorg] name=Xorg lib=libxup.so username=ask password=ask ip=127.0.0.1 port=-1 code=20
我正在嘗試用 mstsc 連接到這台機器(這是在重新啟動電腦後,沒有人登錄):
在此登錄框中,不會發生斷開連接:
在我輸入正確的登錄名/密碼後,我首先出現黑屏,然後關閉 mstsc 視窗。我嘗試從 KDE 遠端連接應用程序連接,但它也以同樣的方式失敗。xrdp.log 似乎不包含任何有趣的內容:
[20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0.1 port 3350 [20190606-04:14:36] [INFO ] xrdp_wm_log_msg: sesman connect ok [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait... [20190606-04:14:36] [DEBUG] return value from xrdp_mm_connect 0 [20190606-04:14:36] [INFO ] xrdp_wm_log_msg: login successful for display 10 [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC started connecting [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC connecting to 127.0.0.1 5910 [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC tcp connected [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC security level is 2 (1 = none, 2 = standard) [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC password ok [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending share flag [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving server init [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving pixel format [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving name length [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC receiving name [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending pixel format [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending encodings [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending framebuffer update request [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC sending cursor [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: VNC connection complete, connected ok [20190606-04:14:36] [DEBUG] xrdp_wm_log_msg: connected ok [20190606-04:14:36] [DEBUG] xrdp_mm_connect_chansrv: chansrv connect successful [20190606-04:14:36] [DEBUG] Closed socket 18 (AF_INET 127.0.0.1:47744) [20190606-04:14:37] [DEBUG] Closed socket 20 (AF_UNIX) [20190606-04:14:37] [DEBUG] Closed socket 12 (AF_INET 127.0.0.1:3389) [20190606-04:14:37] [DEBUG] xrdp_mm_module_cleanup [20190606-04:14:37] [DEBUG] VNC mod_exit [20190606-04:14:37] [DEBUG] Closed socket 19 (AF_INET 127.0.0.1:40224)
我該如何解決?
我自己解決了這個問題,希望其他人會發現它有用。我看了一下 ~/.xsession-errors,它包含:
(imsettings-check:16467): IMSettings-WARNING **: 04:42:56.491: Could not connect: Connection refused (imsettings-check:16467): GLib-GIO-CRITICAL **: 04:42:56.491: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed GLib-GIO-Message: 04:42:56.807: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications. ** (process:16260): WARNING **: 04:42:56.824: Could not make bus activated clients aware of XDG_CURRENT_DESKTOP=GNOME environment variable: Could not connect: Connection refused
然後我用Google搜尋了一個根本原因,miniconda 安裝破壞了 .bashrc 文件中的 PATH,我刪除了這一行並修復了它:
export PATH="/home/stiv/miniconda3/bin:$PATH"
**更新:**後來我發現x2go,它的工作方式比 XRDP 更可靠、更快。
試試這個:
停止xrdp
sudo service xrdp stop
編輯 xrdp 啟動腳本:
sudo nano /etc/xrdp/startwm.sh
在這個文件中,替換行
test -x /etc/X11/Xsession && exec /etc/X11/Xsession exec /bin/sh /etc/X11/Xsession
和
startxfce4
#
(您可以通過在開頭添加來註釋掉行)重啟xrdp
sudo service xrdp start
選擇 Xrdp 作為會話,然後登錄。