当前位置: 首页>>技术教程>>正文


xorg – 如何同时运行两个 X 会话?

, ,

问题描述

我想同时运行两个 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 兼容应用程序访问。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12265.html,未经允许,请勿转载。