通过xrdp登录时出现空白桌面。

我正在尝试从一台Windows 7机器通过远程桌面访问Ubuntu 11.10。我安装了xrdp。我启动了Windows远程桌面客户端并登录。然后我被提示输入用户名和密码。
然后它登录了,但是我只能看到背景,没有菜单,什么都没有。我不得不关闭远程桌面来终止它。
即使我右键点击也没有反应。有什么想法吗?
我之所以选择RDP的原因是VNC也无法工作,即使我启用了桌面共享。我现在很困扰,因为我需要通过Windows连接到Ubuntu。在Ubuntu 8版本中,这不是一个问题,它可以正常工作。

当你说VNC无法工作时,是指它成功登录但只有相同的桌面背景问题,还是根本无法连接? - Lozzy_uk
你能确认一下你是否尝试了这个答案中的技巧吗?http://askubuntu.com/a/3936/14356 - fossfreedom
我重新启动了Ubuntu,现在VNC可以连接,但是速度非常慢,无法使用。我在Ubuntu 8上从未遇到过这个问题。这是11.10版本的一个错误吗?当我用RDP登录Ubuntu时,屏幕会重新调整大小,无法访问顶部的菜单栏或左侧的工具栏。而且,通过RDP登录后,甚至无法在桌面上右键单击。很奇怪,你可以看到顶部的菜单显示,然后RDP做了一些调整,它就消失了。我尝试过几个RDP客户端,如终端、mRemote和MS远程桌面。 - nitefrog
是的,我也尝试使用XP系统登录,遇到了完全相同的问题。我只能看到桌面背景图,没有任何菜单。我可以登录,但什么都做不了,没有图标,没有菜单,什么都没有。甚至我的桌面上的项目也不见了。如果我使用VNC,我可以看到一切,但性能太差,无法接受。 - nitefrog
12个回答

你的 .xsession 配置中可能还有另一个桌面管理器。
cd /home/youruser
echo "gnome-session --session=ubuntu-2d" > .xsession
sudo /etc/init.d/xrdp restart

我遇到过类似的问题,这个方法解决了。

3你可以在调用. /etc/X11/Xsession之前,在/etc/xrdp/startwm.sh中添加第二行(echo...),即使.xsession文件被其他东西修改,它也能正常工作。 - laurent
这个解决方案对我来说非常有效。干杯! - Matt Cashatt
这对我没用,而且我还遇到了连接丢失的问题 :( http://askubuntu.com/questions/641240/lost-xrdp-remote-desktop-connection-ubuntu-server-on-azure-from-windows - Ismail Yavuz
这对我没有用。如下面的回答所述,指定一个XFCE会话可以解决问题。 我想知道还应该做什么。如果这个方法对其他人有用,那应该是可行的… 也许这是一种旧的方式,在会话管理器中有如此多的变化至今。 - sancho.s ReinstateMonicaCellio
这是一个非常旧的Ubuntu版本。我应该说的是“检查你的日志”。/var/log/xrdp/xrdp-sesman.log 谢谢@QA Collective。 - txyoji

对于以后阅读这篇帖子的读者(当我遇到同样的问题时,我在谷歌搜索中找到了这篇帖子),xrdp似乎不再与Ubuntu 14.04中的Ubuntu-2d兼容。相反,您必须安装xfce。
sudo apt-get install xfce4
然后将以下行添加到您的~/.xsession文件中,而不是gnome-session --session=ubuntu-2d行。

这是我对Ubuntu 15.10的问题。 - sngreco
1还是不起作用 :( - Dmitry
1这对我也没用,但我要强调的是阅读 /var/log/xrdp/xrdp-sesman.log 文件并查找错误。这让我找到了解决此问题的方法:https://github.com/neutrinolabs/xrdp/issues/764#issuecomment-304576785 - QA Collective
这对我有用,但是我还必须在下面的修复中,在登录时在我的用户名前面添加一个\。这个修复并不立即明显,因为在我使用\之前,Windows保存了错误的登录信息,并在用户名前面添加了Windows域。所以这是一个两部分的修复。 - fIwJlxSzApHEZIl
这对我有用。 - sancho.s ReinstateMonicaCellio
这个评论导致我的服务器崩溃,重启/移除和重新安装xrdp也没有帮助。 - m0ss

试试这个。只需在键盘上按下Ctrl+Alt+T即可打开终端。打开后,运行以下命令:

sudo apt-get install gnome-session-fallback
echo “gnome-session -–session=gnome-fallback” > ~/.xsession
sudo /etc/init.d/xrdp restart

在它正常工作之前,我必须完成以下步骤:
  • 安装xfce4并根据Paul Rosenberg的回复配置.xsession为"xfce4-session"。
  • 修复/etc/xrdp/的权限问题,该问题导致/var/log/xrdp.log中出现以下错误:
  • [ERROR] 无法读取私钥文件/etc/xrdp/key.pem:权限被拒绝
    

    我将用户xrdp添加到ssl-cert组,不确定这是否是最佳解决方法。


如果我理解你的意思正确的话,你有一个Win 7机器(rdp客户端)和ubuntu 11.10(rdp服务器)。
如果你在ubuntu中启用了unity 3d,那会引起问题。请使用gnome session fallback。
sudo apt-get install gnome-session-fallback

(您需要注销并选择 "gnome经典无效果"

...或者xubuntu(xfce):

sudo apt-get install xubuntu-desktop

或者lubuntu(lxde):
sudo apt-get install lubuntu-desktop

另外,尝试使用命令行中的rdesktop。看起来xrdp和其他rdp图形界面程序不支持rdesktop的全部功能,所以最好直接使用命令行。
rdesktop -h


1我也尝试了2D版本,但是出现了同样的问题。你如何在Win7中使用命令行进入Ubuntu? - nitefrog
这是一个非常好的问题。我把我的回答和Ubuntu到Windows的RDP连接混淆了。很抱歉。不过,你可以使用Cygwin来实现,但Windows中的GUI Rdesktop客户端会按预期工作 :) 尝试使用"gnome-session-fallback",也许你会得到更好的结果。 - Savvas Radevic
@nitefrog 试试Bitvise Tunnelier吧。它在Windows上运行得非常出色,可以用于终端、FTP和RDP。 - VidiMan

xrdp的限制是只能登录到desktop:0

我在目标机器上已经登录并尝试连接。一旦我退出服务器,我就能够登录。


在您的登录名前面添加反斜杠,例如:\yourlogin

这样对我有效。它会从您的凭据中删除域。


这对我有用,但我还必须切换.xsession文件以使用xfce - fIwJlxSzApHEZIl

对于20.04的黑屏问题,可以通过将gnome-sessionxfce4-session添加到~/.xsession文件中来修复。
在我的情况下,我已经成功登录到了gnome-session。
$ cat ~/.xsession
gnome-session

这更像是一个变通方法,但如果你遇到了空白桌面,那可能是远程Ubuntu计算机上出现了一个询问是否拒绝或允许的问题。只需点击警告中的允许按钮即可。

尝试使用不同的桌面管理器。在使用lightdm时,通过XRDP会出现空白/黑屏的问题。一旦我切换到lxdm,一切都按预期工作了。