从 Windows 到 Ubuntu 22.04 的远程桌面将带我进入 XRDP 登录,然后出现空白屏幕

从 Windows 到 Ubuntu 22.04 的远程桌面将带我进入 XRDP 登录,然后出现空白屏幕

我正在尝试在 Ubuntu (Desktop) 22.04 上使用远程桌面功能,但似乎无法从 Windows (10) PC 连接到我的 Ubuntu 桌面。我使用以下说明:

我已经在(Ubuntu)共享设置中启用了远程桌面,但是当我在 Windows 上运行远程桌面客户端(即标准 mstsc.exe 客户端)并连接到 Ubuntu 服务器的 IP 地址时,出现此登录对话框:

XRDP 登录

会话下拉菜单有 4 个选项:

  • 韓國
  • 虚拟主机
  • vnc-any
  • 中微子公司

选择 Xorg 和一些登录凭据会导致窗口关闭。如果我将凭据留空,则会显示一个 Ok 对话框,其中包含以下消息:

Connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait...
login failed for display 0

如果我单击“确定”,它会带我返回到登录对话框。

如果我选择 Xvnc 和一些凭证,那么我会看到一个空白的绿屏。

如果我在共享设置中禁用远程桌面,我也会出现类似的行为。

我在第二个 Ubuntu 22.04 主机上尝试了同样的事情,得到了同样的结果。

答案1

您必须退出 ubuntu 桌面上的帐户。否则 Windows 上的 RDP 将继续退出。

您需要导出以下环境变量

export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME

执行sudo nano .xsessionrcsudo nano /etc/xrdp/startwm.sh将以上两行放在最开始,然后重新启动您的电脑。

答案2

之前的响应对我有用:在 hyper-v 中禁用增强会话。您可以通过转到此虚拟机的 hyper-v 窗口顶部的视图菜单并取消选择增强会话来执行此操作。登录屏幕出现,您可以登录。

答案3

(当我有了更深入的了解后,我会更新更多信息)

这似乎是我新安装的 Ubuntu 22.04 上的问题。

原因

~/.xsession-errors

# Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Failed to execute child process “dbus-launch” (No such file or directory)
dbus-update-activation-environment: error: unable to connect to D-Bus: /usr/bin/dbus-launch terminated abnormally without any error message
dbus-update-activation-environment: error: unable to connect to D-Bus: /usr/bin/dbus-launch terminated abnormally without any error message

解决方案

sudo apt install dbus-x11
dbus-launch

致谢:https://c-nergy.be/blog/?p=16698

在 Ubuntu 20 上我不需要这个

答案4

在 Ubuntu 上使用 XRDP 时遇到黑屏问题后,我花了一些时间进行故障排除,并设法找到了一个简单的解决方案。以下是解决问题的步骤:

  1. 安装 XRDP: 在你的 Ubuntu 机器上运行以下命令来安装 XRDP:

    sudo apt install xrdp
    sudo systemctl enable --now xrdp
    
  2. 允许端口 3389: 打开防火墙以允许端口 3389(XRDP 默认端口)上的流量:

    sudo ufw allow from any to any port 3389 proto tcp
    
  3. 修改startwm.sh: 编辑XRDP startwm.sh脚本:

    sudo vi /etc/xrdp/startwm.sh
    

    在脚本中,添加以下行:

    export $(dbus-launch)
    

    确保该行添加到以下行之前:

    test -x /etc/X11/Xsession && exec /etc/X11/Xsession
    exec /bin/sh /etc/X11/Xsession
    

    保存更改并退出编辑器。

  4. 重新启动 XRDP: 重新启动 XRDP 服务以应用更改:

    sudo systemctl restart xrdp
    

按照这些步骤应该可以解决从 Windows 到 Ubuntu 的远程桌面遇到的空白屏幕问题。

相关内容