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
相关产品推荐
相关产品推荐

