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

Ubuntu Docker容器中安装GNOME桌面并通过XRDP远程连接后立即断开的问题求助

Ubuntu Docker容器中安装GNOME桌面并通过XRDP远程连接后立即断开的问题求助

我尝试了好几轮操作,想要在Docker容器里搭建Ubuntu桌面环境并通过XRDP远程访问,但每次用本地的mstsc.exe连接时,明明验证通过了,却会立刻断开,始终无法成功进入桌面。

我的操作步骤如下:

  • 拉取并运行官方Ubuntu镜像,映射XRDP的3389端口:
    docker run -tid --name xrdp -p 3389:3389 ubuntu:latest
    
  • 进入容器终端:
    docker attach xrdp
    
  • 更新系统软件源:
    apt update
    
  • 安装GNOME桌面环境:
    apt install ubuntu-desktop -y
    
  • 安装XRDP服务:
    apt install xrdp -y
    
  • 设置root用户密码并启动XRDP服务:
    passwd root
    service xrdp start
    

之后我用本地的mstsc.exe连接容器,输入root的账号密码,看起来验证成功了,但马上就断开连接。我查看了容器的输出日志,发现了一些错误和警告信息:

xrdp-sesman[25229]: [INFO ] Socket 7: AF_INET6 connection received from ::ffff:127.0.0.1 port 42214
xrdp-sesman[25229]: [INFO ] Terminal Server Users group is disabled, allowing authentication
xrdp-sesman[25229]: [INFO ] ++ created session (access granted): username root, ip ::ffff:221.212.116.25:1207 - socket: 11
xrdp-sesman[25229]: [INFO ] starting Xorg session...
xrdp-sesman[25229]: [INFO ] Starting session: session_pid 25239, display :10.0, width 2560, height 1600, bpp 24, client ip ::ffff:221.212.116.25:1207 - socket: 11, user name root
xrdp-sesman[25239]: [INFO ] [session start] (display 10): calling auth_start_session from pid 25239
xrdp-sesman[25229]: [ERROR] sesman_data_in: scp_process_msg failed
xrdp-sesman[25239]: pam_unix(xrdp-sesman:session): session opened for user root(uid=0) by (uid=0)
xrdp-sesman[25239]: pam_systemd(xrdp-sesman:session): Failed to connect to system bus: No such file or directory
xrdp-sesman[25229]: [ERROR] sesman_main_loop: trans_check_wait_objs failed, removing trans
xrdp-sesman[25241]: [INFO ] Starting X server on display 10: /usr/lib/xorg/Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log
xrdp-sesman[25240]: [INFO ] Found X server running at /tmp/.X11-unix/X10
xrdp-sesman[25239]: [INFO ] Found X server running at /tmp/.X11-unix/X10
xrdp-sesman[25240]: [INFO ] Found X server running at /tmp/.X11-unix/X10
xrdp-sesman[25239]: [INFO ] Session started successfully for user root on display 10
xrdp-sesman[25244]: [INFO ] Starting the xrdp channel server for display 10
xrdp-sesman[25240]: [INFO ] Starting the default window manager on display 10: /etc/xrdp/startwm.sh
xrdp-sesman[25239]: [INFO ] Session in progress on display 10, waiting until the window manager (pid 25240) exits to end the session
xrdp-chansrv[25244]: [INFO ] Socket 12: AF_UNIX connection received
xrdp-chansrv[25244]: [INFO ] sound_process_training: round trip time 101
xrdp-sesman[25239]: [WARN ] Window manager (pid 25240, display 10) exited with non-zero exit code 255 and signal 5. This could indicate a window manager config problem
xrdp-sesman[25239]: [WARN ] Window manager (pid 25240, display 10) exited quickly (1 secs). This could indicate a window manager config problem
xrdp-sesman[25239]: [INFO ] Calling auth_stop_session and auth_end from pid 25239
xrdp-sesman[25239]: pam_unix(xrdp-sesman:session): session closed for user root
xrdp-sesman[25239]: [INFO ] Terminating X server (pid 25241) on display 10
xrdp-sesman[25239]: [INFO ] Terminating the xrdp channel server (pid 25244) on display 10
xrdp-sesman[25239]: [INFO ] X server on display 10 (pid 25241) returned exit code 0 and signal number 0
xrdp-sesman[25239]: [INFO ] xrdp channel server for display 10 (pid 25244) exit code 0 and signal number 0
xrdp-sesman[25239]: [INFO ] cleanup_sockets:
xrdp-sesman[25229]: [INFO ] ++ terminated session:  username root, display :10.0, session_pid 25239, ip ::ffff:221.212.116.25:1207 - socket: 11

我在网上搜了一下解决方案,有人说需要在~/.xsession文件里添加配置,但我在root目录下找不到这个文件。

请问我该怎么调整才能在Docker容器里成功启用GNOME桌面环境,并且通过XRDP从远程机器正常访问呢?谢谢大家的帮忙!

备注:内容来源于stack exchange,提问作者Glowberry

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 13:29:36