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

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

我的办公电脑上安装了 Ubuntu。我想知道我是否可以从另一台安装了 Windows 的电脑访问它。如果可以,您能提供分步指南吗?

答案1

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

摘自文章

按着这些次序 :

步骤 1 - 安装 xRDP

打开终端(Crtl++ AltT并执行以下命令:

sudo apt-get update
sudo apt-get install xrdp

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

sudo apt-get install xfce4

步骤 3 - 配置 xRDP

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

echo xfce4-session > ~/.xsession

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

sudo nano /etc/xrdp/startwm.sh

内容应该是这样的(注意最后一行并忽略. /etc/X11/Xsession):

#!/bin/sh

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

startxfce4

步骤 4 – 重新启动 xRDP

为了使所有这些更改生效,请按如下方式重新启动 xRDP:

sudo service xrdp restart

测试您的 xRDP 连接

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

远程桌面连接

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

要查找你的 Ubuntu 机器上的 IP 地址,请输入:

hostname -I

(注意:i 大写)

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

在此处输入图片描述

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

xRDP – 登录屏幕

你已经完成了,尽情享受吧

RDP – 你的 Ubuntu xfce4 桌面

附言:评论中提到了一些很好的观点,所以我想总结一下。

  • 如果你想从外部网络,你需要你的 Ubuntu 有自己的、正确的互联网 IP 地址——这种情况不太可能发生。否则,你需要外部可见的地址工作,并设置端口转发以将传入的 RDP 请求直接发送到路由器上的工作计算机。(马克·威廉姆斯

  • 要使用Ubuntu MATE 桌面 meta-session,将最后一行替换为startxfce4。(startwm.shmate-session弗兰克·N

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

答案2

摩巴Xterm

http://mobaxterm.mobatek.net/

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

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

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

sudo apt install openssh-server

然后,在 Windows 上的 MobaXterm 中,您可以执行以下操作:

  • 会议
  • 新会话
  • SSH

这将为你提供一个 SSH shell。

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

sudo apt install x11-apps
xeyes

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-authorisation-protocol

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

在此处输入图片描述

MobaXterm X 服务器替代品

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

偏磷酸钠

提及于: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 上运行):

  • TigerVNC

油灰

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

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

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

在 Ubuntu 上,安装 SSH 服务器:

sudo apt install openssh-server

然后您只需打开 PuTTY,告诉它 Ubuntu IP 并通过 SSH 连接,这样您就会在 Ubuntu 内部获得一个终端。

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

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

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

这真是太棒了!然而,环境变量存在一些恼人的小问题,特别是DISPLAYhttps://unix.stackexchange.com/questions/75681/why-do-i-have-to-re-set-env-vars-in-tmux-when-i-re-attach

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

如何在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。

vscode 和其他支持 SSH 的 IDE

如果您是一名程序员,那么您已经知道这一点,但我们还是继续说下去。

使用 vscode,您只需使用 SSH,即可轻松设置远程 vscode 服务器,它允许您:

  • 浏览、编辑和下载文件和目录
  • 获取 SSH shell

两者完美结合,例如 Ctrl + 单击 SSH 终端路径可在编辑器上打开单击的文件。

从某种意义上来说,这应该可以满足您所有非 GUI 应用程序访问需求。

答案3

我发现的最好的一个是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

答案4

相关内容