不是基于 VNC 的从外部远程桌面访问 Linux 的解决方案

不是基于 VNC 的从外部远程桌面访问 Linux 的解决方案

我想在我的工作站 PC 上使用 Linux,但目前还不能。主要原因是缺乏从外部对 Linux 进行有用的远程桌面访问。我所说的有用的远程桌面访问是指它在 Windows 中的实现方式。在 Windows 中,您可以连接到本地启动的会话并远程继续它。当您执行此操作时,本地计算机将被锁定。您可以返回本地计算机,解锁并通过输入密码接管本地会话。您还可以在没有任何现有会话的情况下连接到 Windows 计算机,这将远程启动一个新会话。之后,您可以转到该计算机,将其解锁并在本地继续该会话。我需要此功能来在办公室外或从办公室的其他位置(会议室或同事的工作场所)继续工作。

目前 Linux 中的远程桌面服务器解决方案无法提供上述功能。我尝试过 xrdp、VNC 和 X2Go 的几种实现。它们都没有按需要发挥作用。他们执行以下操作之一:

  1. 始终开始新会话
  2. 当本地计算机未锁定并且附近的任何人都可以看到我所做的事情,甚至可以通过本地鼠标和键盘干预该会话时,以共享模式继续本地启动的会话。

X2Go 甚至还有支持远程和本地计算机的不同分辨率的其他问题。

大约一年前,我在wayland-devel邮件列表中问过这个问题:

  1. 使用 Wayland 进行远程桌面
  2. Re1:使用 Wayland 进行远程桌面
  3. Re2:使用 Wayland 进行远程桌面

自那以后,对远程桌面 Linux 访问的支持是否发生了变化? Wayland 或 Xorg - 并不重要。

请不要提供任何基于 VNC 的解决方案,因为 VNC 在架构上无法做到这一点。它只是一个帧缓冲区查看器,如 TeamViewer。

答案1

你可以使用GNU 屏幕(如果您是命令行用户),或者您可以使用商业工具,例如团队查看器(如果您更喜欢 GUI)。

使用 GUI 很简单,所以我描述了 GNU 屏幕的用法。首先,您应该调用命令:

$ screen

然后,您可以使用 创建新的终端,使用或ctrl+a+c在它们之间切换,按 分离它,然后通过以下方式重新连接:ctrl+a+spacectrl+a+actrl+a+a

$ screen -r

可以找到更多这里

ssh我应该提到,您应该可以通过类似的方式访问您的服务器。

答案2

请不要提供任何基于 VNC 的解决方案,因为 VNC 在架构上无法做到这一点。它只是一个帧缓冲区查看器,如 TeamViewer。

但这并不意味着您需要完全排除 VNC:

  1. 启动无头Xvnc服务器
  2. 使用 VNC 客户端和您选择的传输链路(例如 SSH 隧道)远程连接到它
  3. 在正在运行的桌面会话(X 服务器)和Xvnc根据需要我可以将正在运行的应用程序移动到不同的 X 服务器吗?

对于 Wayland,我认为有一些工作正在进行中,但我不确定目前的状态。

当然,对于基于文本的应用程序,请使用终端多路复用器,例如tmuxscreen

答案3

我一直在寻找非常相似的东西,我得到的最接近的是freerdp-shadow-cli

这些是 Debian 手册页,但它们可用于多个发行版。

他们的 GitHub看起来非常活跃,因此您可能想在那里提出问题以获得支持。

我不确定是否xrdp有类似的实现。可能值得看看:

相关内容