我可以从 Windows 远程访问 Ubuntu 吗?

LaT*_*Fan 158 remote-desktop windows remote-access

我的工作计算机上安装了 Ubuntu。我想知道我是否可以从另一台安装了 Windows 的计算机访问它。如果是这样,你能给出一个分步指南吗?

Fai*_*Dar 157

是的,您可以从 Windows 远程访问 Ubuntu。

取自这篇文章

按着这些次序 :

步骤 1 – 安装 xRDP

打开终端(Crtl+ Alt+ T),并执行以下命令:

sudo apt-get update
sudo apt-get install xrdp
Run Code Online (Sandbox Code Playgroud)

第 2 步 – 安装 XFCE4(Unity 似乎在 Ubuntu 14.04 中不支持 xRDP;尽管在 Ubuntu 12.04 中它被支持)。这就是我们安装 Xfce4 的原因。

sudo apt-get install xfce4
Run Code Online (Sandbox Code Playgroud)

步骤 3 – 配置 xRDP

在这一步中,我们修改了两个文件以确保 xRDP 使用 Xfce4。首先,我们需要.xsession 在我们的主目录中创建或编辑我们的文件。我们可以使用 nano 或简单地重定向 echo 语句(更简单):

echo xfce4-session > ~/.xsession
Run Code Online (Sandbox Code Playgroud)

我们需要编辑的第二个文件是 xRDP 的启动文件,因此它将启动 Xfce4。

sudo nano /etc/xrdp/startwm.sh
Run Code Online (Sandbox Code Playgroud)

内容应如下所示(注意最后一行并忽略. /etc/X11/Xsession):

#!/bin/sh

if [ -r /etc/default/locale ]; then
  . /etc/default/locale
  export LANG LANGUAGE
fi

startxfce4
Run Code Online (Sandbox Code Playgroud)

第 4 步 – 重启 xRDP

要使所有这些更改生效,请重新启动 xRDP:

sudo service xrdp restart
Run Code Online (Sandbox Code Playgroud)

测试您的 xRDP 连接

在将远程控制您的 Ubuntu 机器的计算机上,启动您的 RDP 客户端。Windows 标配远程桌面客户端(mstsc.exe - 您可以从命令提示符启动它,或在附件下找到远程桌面的快捷方式)。或在开始 (Windows 7) 中搜索“远程”或在 Windows 8 中的搜索框中搜索“远程”。

远程桌面连接

无论您使用哪种客户端,大多数都可以使用您的 Ubuntu 机器的计算机网络名称或 IP 地址。

要在 Ubuntu 机器上查找 IP 地址,请键入:

hostname -I
Run Code Online (Sandbox Code Playgroud)

(注意:这是一个大写的“i”)

输入您的 Ubuntu 机器的 IP 地址。例如:

在此处输入图片说明

根据您的 RDP 客户端功能和设置(例如:Microsoft RDP 客户端允许自动登录),您可能会也可能不会看到登录屏幕。 在这里我们输入我们的 Ubuntu 用户名和密码,然后单击“确定”

xRDP – 登录屏幕

你完成了,享受

RDP——你的 Ubuntu xfce4 桌面

PS:评论中提到了一些好点,所以想总结一下。

  • 如果你想从外部网络访问 Ubuntu ,你需要你的 Ubuntu 在工作中拥有它自己的、正确的互联网 IP 地址——这是一种不太可能的情况。为了工作,否则它,你需要的外部可见的地址工作,并有端口转发设置为直接在路由器上进入的RDP请求您的工作计算机。(马克·威廉姆斯

  • 要使用Ubuntu的桌面MATE meta-session,替换最后一行startxfce4startwm.shmate-session。(弗兰克·N )

  • 您可以使用您的实际机器名称(通过键入hostname)而不是您的 IP,因为它在以后的会话中在动态 IP 上可能更稳定。(弗兰克·N )

  • 很可能这会遇到麻烦,如果 OP 意味着来自外部 - 您的示例使用 192.168.1.* 地址,该地址是为内部网络保留的 - 它不会跨越互联网。您需要在工作时使用 Ubuntu 机器才能拥有自己的、正确的 Internet IP 地址 - 这是一种不太可能的情况。要以其他方式工作,您需要“工作”的外部可见地址,并将端口转发设置为将传入的 RDP 请求定向到路由器上的工作计算机。好的,如果在网络内部 (8认同)
  • 我家里有一台 Ubuntu 服务器和一台 Windows 机器,我正在尝试将后者连接到前者。我按照上面的说明操作,但是在我登录 xrdp 后,我得到的只是一个对话框,上面写着“连接到 sesman ip 127.0.0.1 端口 3350”和一个“确定”按钮,仅此而已。知道为什么吗? (5认同)
  • 提示:要使用 ubuntu MATE 桌面 [meta-session](http://manpages.ubuntu.com/manpages/utopic/man1/mate-session.1.html),请将 startwm.sh 中的最后一行 `startxfce4` 替换为`伴侣会议` (2认同)
  • 使用您的实际机器名称(通过键入`hostname`)而不是您的 IP 可能在未来会话中在动态 IP 上更稳定... (2认同)

Cir*_*郝海东 12

MobaXterm

http://mobaxterm.mobatek.net/

免费软件在 Windows 上实现 X 服务器。

这种方法需要最少的设置,并且非常可靠。

您必须首先在 Ubuntu 上安装 SSH 服务器,例如通过物理访问机器上的键盘:

sudo apt install openssh-server
Run Code Online (Sandbox Code Playgroud)

然后,在 MobaXterm 中的 Windows 上,您可以:

  • 会话
  • 新会话
  • SSH

它为您提供了一个 SSH shell。

现在,如果您从该 shell 启动一个程序,例如:

sudo apt install x11-apps
xeyes
Run Code Online (Sandbox Code Playgroud)

xeyes 作为单独的本机 Windows 窗口打开。

一个烦恼是,如果您在工作时打开窗口,然后回到家,您必须启动应用程序的一个新实例,而您看不到已经打开的窗口。这对于在单窗口模式下工作的应用程序(例如浏览器)更加烦人:您将不得不搜索如何强制创建新实例,然后您将有两个实例在运行。

在本地网络上使用 MobaXterm v12.4 在 Windows 10 和 Ubuntu 19.10 中测试:

  • xeyes 7.7:移动得非常快,但你必须悬停窗口本身
  • Firefox 74.0:页面滚动非常缓慢,几乎无法使用,我不会成为一个快乐的用户
  • Eclipse 2020-03:效果出奇的好,我可以看到有点滞后,但很小,即使在滚动时也是如此,并且尝试在 YouTube 上观看视频使其无响应
  • Chromium 79:无法打开,错误消息:“MoTTY X11 代理:不支持的授权协议”询问:https ://superuser.com/questions/1111900/how-to-fix-mobaxterm-x11-proxy-unsupported-授权协议

这是一个 Windows 屏幕截图,显示了在左上角运行的 MobaXterm,以及在 Ubuntu 远程上运行的两个程序(xeyes 和 firefox),但显示为单独的本机 Windows 窗口!

在此处输入图片说明

MobaXterm X 服务器替代品

我还没有尝试过,但行为应该类似于 MoabXterm?希望我们能找到一个好的开源软件:

xrdp

提到:https : //askubuntu.com/a/592544/52975

我只想确认它在不接触 Windows 10 到 Ubuntu 19.10 的答案中提到的某些配置文件的情况下不起作用,在这种情况下,您只会看到黑屏:通过 xrdp 登录时的空白桌面

此外,RDP 是一种专有的 Microsoft 协议,令人难过:https : //en.wikipedia.org/wiki/Remote_Desktop_Protocol但它似乎只发送最少的信息,不像 VNC 发送图像:https : //superuser.com/questions/32495 /whats-the-difference-between-rdp-vs-vnc

虚拟网络

我尝试了以下程序,但它们将桌面作为视频发送,如果您不在现场,这会导致无法接受的屏幕分辨率损失/鼠标不准确/网络带宽。

服务器(在 Ubuntu 上运行):

客户端(在 Windows 上运行):

  • 老虎VNC

油灰

https://www.chiark.greenend.org.uk/~sgtatham/putty/

如果您想要的只是通过 SSH 的文本终端,那么首选解决方案。

首先,您必须在 Windows 上安装 PuTTY,通常是从其网站下载。

在 Ubuntu 上,安装 SSH 服务器:

sudo apt install openssh-server
Run Code Online (Sandbox Code Playgroud)

然后你只需打开 PuTTY,告诉它 Ubuntu IP 并通过 SSH 连接,这样你就可以在 Ubuntu 中建立一个终端。

PuTTY 非常方便,因为它将 xterm 模拟器和 SSH/telnet 以及其他协议集成在一个包中。

然后,您还想tmux在 Ubuntu上安装和使用,并tmux attach在从 PuTTY 内从 Windows 连接时使用,如https://unix.stackexchange.com/questions/22781/how-to-recover-a-shell-after-a- 所述断开连接,这样您就可以:

  • 在工作和家里使用完全相同的终端。是的,如果您在任何一台机器上输入任何内容,终端窗口都会在两台机器上实时更新!服务器的魔力!
  • 如果连接中断,不会丢失任何会话

太棒了!!!然而,环境变量存在一些烦人的故障,特别是DISPLAYhttps : //unix.stackexchange.com/questions/75681/why-do-i-have-to-re-set-env-vars-in-tmux-when-我重新连接

您还需要减小默认的巨大默认字体大小:增加腻子的字体大小

如何在 PuTTY 中复制粘贴:https : //superuser.com/questions/180043/how-do-i-paste-the-windows-clipboard-into-my-putty-session-using-only-the-keybo

然后,您可以直接在本机 Windows 浏览器上打开您需要的网页。如果您完成工作所需的只是 Vim 和浏览器,那么 PuTTY 绝对是您的最佳选择。我在使用此设置进行日常开发时唯一想念的是 Eclipse。


ozm*_*zma 5

我发现的最好的是x2go

在 linux 机器上安装 http://wiki.x2go.org/doku.php/doc:installation:x2goserver

在 windows 机器上安装客户端:http : //wiki.x2go.org/doku.php/download : start

如果感觉很慢,请调整压缩:(TL;DR 使用 4k-png)https://uwaterloo.ca/science-computing/student-support/x2go-tutorial