问题描述
我想同时运行两个 X 服务器实例。
一种是使用连接到计算机的鼠标和键盘进行交互式会话。另一个是 ‘virtual’ 会话,然后我可以连接到并通过网络使用。
换句话说,我想要像 telnet/ssh 这样的东西,它允许我从其他地方登录到我的 Ubuntu 机器。但是,我希望在登录时至少有一个基本的图形显示。
最佳方案
如果您在机器 A 上的 Ubuntu 下运行 X 会话,它将出现在屏幕上:0 ( Ctrl
+ Alt
+ F7
) 在 A 上。
您希望从机器 B(在您的 LAN 上)运行远程 X 会话,而不中断您在 A 上的当前会话。
转到第一个控制台屏幕( Ctrl
+ Alt
+ F1
)在控制台登录,然后让机器 B 发送一个 X 会话到屏幕:在 A 上 – 像这样
u@A:~$ X :1 -query IP-of-B
X
请求 X 会话,:1
说把它放在屏幕 1 上,-query
请求会话来自 B 的 IP 地址
您将在屏幕上找到新会话:1 ( Ctrl
+ Alt
+ F8
)。
这并不安全(没有 ssh),但是当连接不需要声音时,对于家庭网络来说是快速和容易的。
您可以使用 nomachine 的 nxclient/server,这很好,但在您当前会话的 A screen :0 上在其自己的窗口中运行。它提供对本地声音和本地打印的支持 – 上次我看到如果启用声音,Firefox 将无法启动。
次佳方案
SSH -X
第一个也是最简单的选项当然是“ssh -X”,但这仅在您连接的系统已经运行 X 服务器时才有效。因此,假设您正在运行一台 Ubuntu 机器并想连接到另一台 Ubuntu 机器,您可以在控制台中键入“ssh -X ipaddress”。这将为您留下一个控制台,但是当您从该控制台启动任何使用 X 的应用程序时,它将显示在您当前的 X 会话中。
XMing
如果您将运行 Windows 并希望在远程 Ubuntu 机器上启动 X 会话,则可以使用 XMing。 XMing 基本上是在 Windows 上运行的 X 服务器。它在 sourceforge 上可用。
要使用 XMing,必须在您的 Ubuntu 机器上启用 XDMCP。这在 10.04 之前的 Ubuntu 中很容易完成。现在,您必须按如下方式更新 /etc/gdm/custom.conf。一定要先备份!你不想用这个搞砸 GDM 😉
[daemon]
User=gdm
Group=gdm
[security]
DisallowTCP=true
[xdmcp]
Enable=true
DisplaysPerHost=2
HonorIndirect=false
MaxPending=4
MaxSessions=16
MaxWait=30
MaxWaitIndirect=30
PingIntervalSeconds=60
Port=177
[greeter]
[chooser]
Multicast=false
[debug]
Enable=false
第三种方案
不能完全回答您的问题,但是…
您可以通过 ssh 运行 X-programs,我经常使用它来让我在外出时访问 LAN 上受保护/受限制的服务。基本上它的作用是将您机器的管道连接到 ssh-server 并将显示从服务器转发到客户端,但应用程序正在服务器上运行。默认情况下,没有为此设置 SSH 客户端,但可以使用 -X
选项启用它。前任:
ssh -X user@host firefox
实际上,这就是 LTSP 这些天的工作方式。当远程使用整个会话而不是单个应用程序时,您可能能够找到有关 LTSP 工作方式的更多信息。
第四种方案
我实际上发现了另一种方法来实现这一点:使用 xrdp 。
xrdp
是用于 Linux 的 Remote Desktop 服务器,它创建一个单独的登录会话(使用 X),可以使用 Windows 的远程桌面工具或其他 RDP 兼容应用程序访问。