使用Gnome Ubuntu安装和运行XRDP(远程桌面)时出错:我遇到黑屏

使用Gnome Ubuntu安装和运行XRDP(远程桌面)时出错:我遇到黑屏,ubuntu,debian,virtual-machine,gnome,xrdp,Ubuntu,Debian,Virtual Machine,Gnome,Xrdp,我正在尝试使用(远程桌面协议)连接到远程桌面(Gnome Ubuntu)。然而,当我连接Apache或Microsofts时,我会遇到一个带有光标的黑屏 我可以通过日志、ssh以及运行测试(proxmox接口)来验证我的Ubuntu服务器是否运行正常 有趣的是,当我使用xfce4而不是gnome时,我能够连接。然而,由于某种原因,我无法使终端正常工作。如果我使用proxmox接口登录gnome,当我在xfce xrdp会话中启动它时,我可以看到终端在gnome会话中弹出 可能的问题: 可能的问题

我正在尝试使用(远程桌面协议)连接到远程桌面(Gnome Ubuntu)。然而,当我连接Apache或Microsofts时,我会遇到一个带有光标的黑屏

我可以通过日志、ssh以及运行测试(proxmox接口)来验证我的Ubuntu服务器是否运行正常

有趣的是,当我使用
xfce4
而不是
gnome
时,我能够连接。然而,由于某种原因,我无法使终端正常工作。如果我使用proxmox接口登录gnome,当我在xfce xrdp会话中启动它时,我可以看到终端在gnome会话中弹出

可能的问题: 可能的问题包括我的启动/安装脚本:

# placeholder for script

我遇到了同样的问题,经过多次尝试,我通过以下方法解决了这个问题:

1)卸下xrdp

$sudo apt获取删除xrdp

2)重新安装xrdp

$sudo apt获取安装xrdp

3)安装后添加以下行非常重要:

$echo gnome会话>~/.xsession

$chmod+x~/.xsession


我找到了另一种解决方案:

apt get install x2goserver
这将安装x2go,它是Linux的开源远程桌面(RDP)服务器,具有可用于Linux和Windows的
x2goclient


但我个人使用chrome远程桌面。由于安装过程非常简单,迄今为止我从未遇到过任何驱动程序/配置/软件问题。

这在Ubutu 20.04.1 LTS中非常适合我

echo gnome-session > ~/.xsession
chmod +x ~/.xsession
sudo reboot
1.删除以前安装的xrdp: 2.重新安装xrdp和所需的软件包: 您还需要为xrdp用户授予对/etc/ssl/private/ssl cert snakeoil.key文件的访问权限。默认情况下,ssl证书组的成员可以使用该证书

$ sudo adduser xrdp ssl-cert           # add xrdp into ssl-cert group
3.重新启动系统: 4.防火墙配置(可选): 您需要打开端口3389的访问权限

$ sudo ufw allow 3389
只为您的IP地址或网络打开它更安全。例如:

$ sudo ufw allow from 10.5.5.0/24 to any port 3389
最佳实践是使用SSH隧道连接到远程桌面,并使xRDP仅侦听本地连接

5.设置您的RDP客户端 请注意,在某些情况下,将连接到xRDP的用户必须先注销,然后才能进行此操作

  • 使用任何RDP客户端连接到服务器
  • 输入Ubuntu计算机的用户凭据
  • 现在您可以看到远程桌面初始屏幕
相关命令:
是否需要
chmod+x~/.xsession
?通常,这些文件不需要x权限。此解决方案不适用于Ubutu 20.04.1 LTS。具有讽刺意味的是,RDP和VNC的表现同样糟糕。两者都返回一个黑屏。有人能解释一下将gnome会话写入.xsession文件的作用吗?在我尝试之前,我想知道发生了什么。@GabrielFair这也是我想知道的。@Shrimpy是的,对我也不起作用。20.04 LTS。感谢Q@Jalau-->在调试远程桌面devops时,我发现这非常有用。我对Q做了一些更改,以改进其状态,以便可以重新打开它。在继续之前,我只需要您做最后一次编辑-->您能包含启动/安装脚本吗?(因此这将成为可复制的代码Q,而不是硬件Q)。非常感谢。我发现这个解决方案和附带的解释非常有用。非常感谢。
$ sudo systemctl start xrdp            # start xrdp service
$ systemctl is-active xrdp             # display current xrdp service state
...
active
$ sudo systemctl enable xrdp           # start xrdp on system startup
$ sudo reboot
$ sudo ufw allow 3389
$ sudo ufw allow from 10.5.5.0/24 to any port 3389
$ sudo systemctl status xrdp           # display current xrdp status

$ sudo systemctl start xrdp            # start xrdp service
$ sudo systemctl stop xrdp             # stop xrdp service
$ sudo systemctl restart xrdp          # restart xrdp service

$ sudo systemctl enable xrdp           # enable xrdp on system startup
$ sudo systemctl disable xrdp          # disable xrdp on system startup