我正在尝试在 Ubuntu (Desktop) 22.04 上使用远程桌面功能,但似乎无法从 Windows (10) PC 连接到我的 Ubuntu 桌面。我使用以下说明:
- https://help.ubuntu.com/stable/ubuntu-help/sharing-desktop.html.en
- https://linuxconfig.org/ubuntu-22-04-remote-desktop-access-from-windows-10
我已经在(Ubuntu)共享设置中启用了远程桌面,但是当我在 Windows 上运行远程桌面客户端(即标准 mstsc.exe 客户端)并连接到 Ubuntu 服务器的 IP 地址时,出现此登录对话框:
会话下拉菜单有 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 .xsessionrc
或sudo 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 时遇到黑屏问题后,我花了一些时间进行故障排除,并设法找到了一个简单的解决方案。以下是解决问题的步骤:
安装 XRDP: 在你的 Ubuntu 机器上运行以下命令来安装 XRDP:
sudo apt install xrdp sudo systemctl enable --now xrdp
允许端口 3389: 打开防火墙以允许端口 3389(XRDP 默认端口)上的流量:
sudo ufw allow from any to any port 3389 proto tcp
修改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
保存更改并退出编辑器。
重新启动 XRDP: 重新启动 XRDP 服务以应用更改:
sudo systemctl restart xrdp
按照这些步骤应该可以解决从 Windows 到 Ubuntu 的远程桌面遇到的空白屏幕问题。