You need to enable JavaScript to run this app. WSL(非WSL2)下Ubuntu 20.04 LTS远程桌面连接xrdp崩溃无法进入XFCE桌面
优惠活动
大模型
产品
解决方案
定价
更多

WSL(非WSL2)下Ubuntu 20.04 LTS远程桌面连接xrdp崩溃无法进入XFCE桌面

解决WSL1 Ubuntu 20.04 xrdp连接后闪退问题

核心原因

从你提供的xrdp.log可以看到,连接流程到X11会话启动阶段正常触发,但会话启动后立刻被清理,说明是图形会话本身启动失败,xrdp本身的连接和认证流程没有问题。

分步修复操作

  • 先获取桌面启动的真实报错
    直接查看用户家目录下的X会话错误日志,这是定位问题的核心依据:
    cat ~/.xsession-errors
    后续操作可以先对应这个日志的报错执行,无明确报错的情况下按下面的通用修复步骤操作。
  • 修复X会话相关文件权限
    90%以上的同类闪退是权限不匹配导致的,执行以下命令:
    sudo chown -R $USER:$USER ~/.Xauthority
    sudo chmod 600 ~/.Xauthority
    sudo chown $USER:$USER ~/.xsession-errors
    sudo chmod 600 ~/.xsession-errors
    
    注意不要用root账号直接登录xrdp,统一使用普通用户账号验证,避免权限错乱。
  • 修正startwm.sh配置(解决之前修改不生效的问题)
    之前修改全局/etc/xrdp/startwm.sh没生效,大概率是修改方式不对。正确操作:
    打开/etc/xrdp/startwm.sh,不要注释末尾的默认Xsession启动行,在文件末尾的两行(test和exec那两行)之前插入一行:
    startxfce4
    更稳妥的替代方案是直接配置用户级的会话启动文件,全局配置优先级低于用户配置:
    echo "startxfce4" > ~/.xsession
    chmod +x ~/.xsession
    
  • 修复Ubuntu 20.04 Polkit权限拦截问题
    Ubuntu 20.04默认的Polkit规则会阻止非本地控制台用户启动图形会话,添加以下规则放行:
    sudo tee /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf << EOF
    polkit.addRule(function(action, subject) {
      if ((action.id == "org.freedesktop.color-manager.create-device" ||
           action.id == "org.freedesktop.color-manager.create-profile" ||
           action.id == "org.freedesktop.color-manager.delete-device" ||
           action.id == "org.freedesktop.color-manager.delete-profile" ||
           action.id == "org.freedesktop.color-manager.modify-device" ||
           action.id == "org.freedesktop.color-manager.modify-profile") &&
          subject.isInGroup("users")) {
        return polkit.Result.YES;
      }
    });
    EOF
    
  • 适配WSL1的xrdp监听配置
    WSL1默认的IPv6监听容易导致会话异常,强制xrdp绑定IPv4地址:
    sudo sed -i 's/^address=/#address=/' /etc/xrdp/xrdp.ini
    echo "address=0.0.0.0" | sudo tee -a /etc/xrdp/xrdp.ini
    
    同时用sudo netstat -tulpn | grep 3389确认3389端口只有xrdp进程监听,没有其他进程占用。
  • 重启服务验证
    所有修改完成后重启xrdp相关服务:
    sudo service xrdp-sesman restart
    sudo service xrdp restart
    
    连接时在xrdp的登录界面,选择模块为sesman-X11rdp,不要选择其他默认模块,输入普通用户的账号密码即可正常加载桌面。

内容的提问来源于stack exchange,提问作者Sudev Suresh Sreedevi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 10:54:05