當前位置: 首頁>>技術教程>>正文


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/zh-tw/article/12265.html,未經允許,請勿轉載。