有没有类似于Windows的远程桌面的功能?

我想要能够从我的Ubuntu桌面机器(客户端)图形化登录到另一台Ubuntu机器(服务器),就像Windows的远程桌面一样。
默认安装的“桌面共享”设置似乎使用VNC。VNC会占用大量带宽,只能以主机连接的屏幕分辨率工作,需要您在主机本身登录,并且会镜像主机上的每个操作。
我知道有关X隧道的方法,但是使用起来很麻烦,而且并不总是正常工作(更准确地说,某些应用程序无法正常工作)。
是否存在类似于Windows使用的远程桌面的两者之间的工具?具体而言,希望具备以下功能:
- 可以以与主机屏幕不同的分辨率运行(如果有的话) - 可以全屏运行 - 可以根据不同带宽进行可调节的质量设置 - 不需要用户在本地登录 - 保存凭据或使用SSH密钥 - 在服务器上自动启动 - 客户端适用于Gnome 3和Unity - 可以限制在服务器上与非合成DE(例如XFCE)一起使用
我已经使用X2go有一段时间了,但不幸的是,在Gnome 3上全屏模式不再工作,因为有几个错误(#1072#982),所以如果有更好的解决方案,我想尝试一下。

可能是重复问题,与是否有类似TeamViewer的远程桌面软件?相同。 - Takkat
据我所知,rdesktop 是使用的工具,它使用 RDP 协议。http://www.rdesktop.org/ VNC 应该是一个单独的安装(并不是默认的)(如果我错了,请有人纠正我)。 - Rinzwind
@Rinzwind - 看起来那是一个查看器,而不是一个服务器。 - detly
虽然我并不完全反对关闭投票,但值得注意的是x2go是解决这个问题的一个很好的方案,但它既不作为重复问题的答案出现,也不在维基百科的链接列表中。但其他问题的答案可能足够接近(尽管有些过时),所以我不会发起悬赏来获取新的答案。 - detly
13个回答

我会推荐使用X2go。它与RDP非常相似,即使在低带宽高延迟的连接下也非常高效。它适用于所有系统,包括Firefox插件等客户端。它通过ssh工作,并与PulseAudio集成,所以你可以使用VoIP等功能。请在http://www.x2go.org上了解更多信息。
x2go客户端需要在登录时执行一个“会话命令”。例如,要使用Unity 2D,请使用以下会话命令: gnome-session --session=ubuntu-2d。这是通过查看主机上的文件/usr/share/xsessions/ubuntu-2d.desktop并复制Exec=...行的值找到的。如果你想使用其他会话,可以使用/usr/share/xsessions/中另一个文件的值,但似乎任何需要3D加速的内容都不会起作用。

谢谢你,x2go 真是太棒了!希望你不介意,我编辑了你的回答,添加了一些关于客户端所需的会话命令参数的信息。 - detly
不得不拒绝,因为这个答案已经过时了。X2Go在客户端和服务器端都放弃了对当前桌面环境的支持或者忽视了它们。 - detly

总的来说,xrdp可以满足你的需求,并且与许多RDP客户端兼容。
不过,缺点是Ubuntu默认的窗口管理器Unity不再支持它。我相信(虽然我从未尝试过),它可以在GNOME上运行。
对于我的个人使用,我只安装了MATE桌面环境(因为它比GNOME更简洁),并配置Ubuntu在远程登录时使用它。
请参考这里的设置信息(此答案使用XFCE作为远程桌面,你也可以选择其他选项):

https://askubuntu.com/a/592544/595510


我在服务器上使用XFCE,客户端使用Gnome 3。如果不清楚,很抱歉。 - detly
@detly 太好了!那么你就不需要修改我提供的答案链接中的说明了。也许这样能解决你的问题。 - user595510
太棒了。它起作用了。我整个屏幕都恢复正常了。实际上,我并不需要进行 ~/.xsession等操作,因为我在客户端使用的是Remmina,我可以将startxfce4输入到“启动程序”中,它会自动工作。唯一的缺点是:无法在运行时调整分辨率(我对此并不关心,而且这是一个已知的功能请求),断开连接意味着完全注销(而不是能够稍后恢复会话)。此外,它似乎在底层使用的是VNC,但带宽使用似乎还可以接受。 - detly
我看到在各个地方都有关于恢复会话的解决方法的记录,我很快就会尝试它们。 - detly
"断开连接意味着完全注销。那么肯定是有配置问题,我可以使用Remmina关闭一个会话并恢复它。" - user595510
是的,那是一个旧版本的xrdp,因为我使用的是较旧的发行版。我已经升级了,现在它完美地运行着。 - detly
好的,抱歉发牢骚。由于某种原因,它在一天内运行良好,然后遇到了这个愚蠢的问题(https://github.com/neutrinolabs/xrdp/issues/764#issuecomment-304576785)。可能是升级之前的旧状态。 - detly

Chrome 远程桌面 BETA

★★★★½


这是谷歌的一个Chrome扩展,它在Chrome中安装了一个插件,用于启用远程桌面共享。与其他解决方案相比,共享更简单,并且易于设置。

Screenshot

Chrome Remote Desktop BETA 允许用户通过 Chrome 浏览器或 Chromebook 远程访问另一台计算机。可以临时提供计算机,用于即席远程支持等场景,也可以长期提供计算机,以便远程访问您的应用程序和文件。所有连接都是完全安全的。

从真正的Chrome他们完成了这项工作。然而,对于Chromium来说并不可用。换句话说,我的Windows机器可以做到这一点,但与真正的Windows远程桌面相比,它相形见绌。因此,我的Ubuntu 16.04机器上没有这个功能。所以remmina是我在Ubuntu笔记本上的选择。 - SDsolar

我使用NoMachine的免费客户端(和服务器)。他们有软件仓库,使安装变得简单。它运行得非常顺畅。

我有10个系统都需要更新才能使用这个。它们都运行xrdp服务器。这需要在两端都安装NoMachine(NX)。但是对于它的外观,点赞! - SDsolar

有一个 Linux RDP 服务器 http://www.xrdp.org/

我以前用过它。它运行得非常顺畅。


xrdp在Ubuntu 11.10上似乎有一些问题,唉。你只能看到背景(即壁纸)。 - detly
这似乎是Unity的一个问题 - 也许,就像x2go一样,如果你能设置会话命令,它可能会起作用。 - detly

x11vnc 安装 x11vnc

通过在远程主机上安装和运行x11vnc,我们将获得比使用vnc更多的选项(请参阅x11vnc的manpage)。但您仍然可以利用vnc架构的优势。


你确定吗?除了网站上关于VNC的信息、软件包描述和手册之外,我什么都没看到。 - detly
x11vnc 不是 VNC 服务器 - Takkat

我建议您使用X11RDP。它能提供最佳性能,并且与Windows兼容。您可以从Windows(或Ubuntu)登录到Ubuntu。
有关更多信息,请参考此问题

香料http://www.spicespace.org/可能很有趣,尽管它专注于虚拟化。

来自他们的网站:

Spice项目旨在提供与虚拟化桌面设备互动的完整开源解决方案。Spice项目涉及虚拟化设备和前端。前端与后端之间的交互使用VD-Interfaces完成。VD-Interfaces(VDI)使得第三方组件可以轻松利用解决方案的两端。

这是一个详细说明Ubuntu安装的链接http://docs.cslabs.clarkson.edu/wiki/SPICE


我相信xrdp是适用于Ubuntu 16.04的最佳RDP服务器。
它可以在Ubuntu和Raspbian上运行,因此我可以从Ubuntu笔记本电脑和Windows机器上控制所有的数据记录器以及我的Ubuntu服务器。
sudo apt-get update
sudo apt-get install xrdp

我的WIN7,8,10系统使用Windows远程桌面的表现非常出色。
Remmina是我在Ubuntu笔记本上使用的主要RDP客户端。

它具有出色的选项卡式界面,可以连接多个服务器。


Putty在Ubuntu上作为ssh客户端表现不错,无论是终端还是图形界面都可以使用。
虽然它并不完全像Windows远程桌面那样,但实际上它的效果非常好。
sudo apt-get update
sudo apt-get install putty

要运行GUI应用程序,请转到ssh部分,勾选X11转发框。
请注意,如果您使用Windows电脑作为客户端,那么同样的方法也可以运行,但您需要先运行Xming,然后再运行PuTTY。

Remmina也可以作为SSH客户端使用。在Ubuntu中不需要使用putty - user68186
我同意你所说的第二部分。ssh -Y systemname比这两者都更好用。我能容忍 remmina 并且可以使用它,但只在需要在同一会话中打开多个窗口的情况下才使用它,主要是用于 RDP 连接。 - SDsolar

由于Fedora 27Ubuntu 17.10默认使用Wayland Gnome 3.26会话,因此现在x2go解决方案将无法工作。

根据这个x2go兼容性页面,x2go在3.12版本停止支持Gnome。

但截至今天(2017年10月17日),我找不到适用于Ubuntu 17.10的gnome-remote-desktop软件包。Ubuntu软件包搜索 这个功能是否属于mutter软件包?我能找到一个适用于Fedora 27的软件包:gnome-remote-desktop软件包

Gnome在3.26版本的发布说明中似乎没有提到远程桌面支持,但我在Gnome bug 784199中找到了相关提及。
这里有一个链接到Gnome在Wayland中的远程桌面和屏幕录制的维基页面。希望这些信息能对那些寻找更现代解决方案的人有所帮助。