วิธีการรันสองช่วง X ในเวลาเดียวกันได้อย่างไร


24

ฉันต้องการเรียกใช้งานเซิร์ฟเวอร์ X สองอินสแตนซ์ในเวลาเดียวกัน

หนึ่งในนั้นคือเซสชันแบบโต้ตอบโดยใช้เมาส์และคีย์บอร์ดที่ต่อกับคอมพิวเตอร์ อีกอันจะเป็นเซสชัน 'เสมือน' ที่ฉันสามารถเชื่อมต่อและใช้ผ่านเครือข่าย

กล่าวอีกนัยหนึ่งฉันต้องการสิ่งที่ต้องการ telnet / ssh ที่อนุญาตให้ฉันเข้าสู่ระบบเครื่อง Ubuntu ของฉันจากที่อื่น อย่างไรก็ตามฉันต้องการกราฟิกขั้นต่ำที่แสดงเมื่อฉันเข้าสู่ระบบ


1
ฉันสมมติว่าคุณต้องการให้ผู้ใช้สองคนใช้คอมพิวเตอร์ของคุณพร้อมกันไหม
richzilla

@ ริช: ใช่ แต่ทั้งคู่ควรมีจอแสดงผลกราฟิก
Nathan Osman

คำตอบ:


7

หากคุณใช้งานเซสชัน X ภายใต้ Ubuntu บนเครื่อง A จะปรากฏบนหน้าจอ: 0 ( Ctrl+ Alt+ F7) บน A.

คุณต้องการรันเซสชัน X ระยะไกลจากเครื่อง B (บน Lan ของคุณ) โดยไม่รบกวนเซสชันปัจจุบันของคุณบน A

ไปที่หน้าจอคอนโซลแรก ( Ctrl+ Alt+ F1) เข้าสู่ระบบที่คอนโซลแล้วขอให้เครื่อง B ส่งเซสชัน X ไปที่หน้าจอ: บน A - เช่นนี้

u@A:~$  X :1 -query IP-of-B

Xขอให้เซสชัน X :1บอกว่าจะวางไว้บนหน้าจอ 1 -queryขอเซสชันจากในที่อยู่ IP กรณีนี้ของ B

คุณจะพบเซสชั่นใหม่บนหน้าจอ: 1 ( Ctrl+ Alt+ F8)

สิ่งนี้ไม่ปลอดภัย (ไม่มี ssh) แต่รวดเร็วและง่ายดายสำหรับเครือข่ายในบ้านเมื่อไม่ต้องการใช้เสียงผ่านการเชื่อมต่อ

คุณสามารถใช้ nxclient / เซิร์ฟเวอร์ของ nomachine ซึ่งใช้ได้ แต่ทำงานในเซสชั่นปัจจุบันของคุณบนหน้าจอ A: 0 ในหน้าต่างของมันเอง มันให้การสนับสนุนสำหรับเสียงในพื้นที่และการพิมพ์ในพื้นที่ - ครั้งล่าสุดที่ฉันดู Firefox จะไม่เริ่มขึ้นหากเปิดใช้งานเสียง


สิ่งนี้จะช่วยได้อย่างแน่นอน
นาธานออสมัน

5

ssh -X

ตัวเลือกแรกและง่ายที่สุดคือ "ssh -X" แต่จะใช้งานได้เฉพาะเมื่อระบบที่คุณเชื่อมต่อจากนั้นใช้งานเซิร์ฟเวอร์ X อยู่แล้ว สมมติว่าคุณกำลังใช้งานเครื่อง Ubuntu และต้องการเชื่อมต่อกับเครื่องอื่นของ Ubuntu คุณสามารถพิมพ์ "ssh -X ipaddress" ในคอนโซล สิ่งนี้จะทำให้คุณมีคอนโซล แต่เมื่อคุณเริ่มแอปพลิเคชันใด ๆ ที่ใช้ X จากคอนโซลนั้นมันจะปรากฏในเซสชัน X ปัจจุบันของคุณ

Xming

หากคุณต้องการเรียกใช้ windows และต้องการเริ่มเซสชัน X บนเครื่อง Ubuntu ระยะไกลคุณสามารถใช้ XMing XMing นั้นเป็นเซิร์ฟเวอร์ X ที่ใช้งานบน windows มันมีอยู่ใน SourceForge

ในการใช้ XMing ต้องเปิดใช้งาน XDMCP บนเครื่อง Ubuntu ของคุณ สิ่งนี้ทำได้ง่ายใน Ubuntu ก่อนหน้า 10.04 ทุกวันนี้คุณต้องอัปเดต /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 

+1 ขอบคุณที่อธิบายรายละเอียดวิธีการนี้ - Linux distros อื่น ๆ ที่ใช้ X จะสามารถทำเคล็ดลับ 'ssh -X' ได้หรือไม่ ตัวอย่างเช่นถ้าฉันมีกล่อง Fedora ฉันสามารถเชื่อมต่อกับเครื่อง Ubuntu ของฉันและเรียกใช้แอปพลิเคชันผ่าน X ด้วยวิธีนี้ได้หรือไม่ (ฉันเข้าใจถึงคำศัพท์ที่ถูกต้องที่นี่ แต่ล้มเหลว :))
Nathan Osman

เพิ่งลองสิ่งนี้และใช้งานได้ดี
นาธานออสมัน

@ George: โปรดจำไว้ว่า X นั้นล้าหลังนิดหน่อย ผู้ใช้เรียกใช้เซิร์ฟเวอร์ในพื้นที่ซึ่งแต่ละแอปพลิเคชัน

1
@George: ตราบใดที่กล่อง Fedora ของคุณกำลังใช้งานเซิร์ฟเวอร์ X คุณจะสามารถใช้ ssh -X ได้ โดยทั่วไปแล้ว ssh จะใช้ประโยชน์จากเซิร์ฟเวอร์ X ในกล่อง Fedora ของคุณเพื่อแสดงแอปพลิเคชัน Ubuntu ให้คุณ
W. Goeman

3

ไม่ใช่คำตอบสำหรับคำถามของคุณ แต่ ...

คุณสามารถเรียกใช้โปรแกรม X ผ่าน ssh ฉันมักจะใช้สิ่งนี้เพื่อให้ฉันเข้าถึงบริการที่ได้รับการป้องกัน / จำกัด บน LAN ของฉันเมื่อฉันไม่อยู่ สิ่งที่มันทำคือการเชื่อมต่อไปป์จากเครื่องของคุณไปยังเซิร์ฟเวอร์ ssh และส่งต่อการแสดงผลจากเซิร์ฟเวอร์ไปยังไคลเอนต์ แต่แอปพลิเคชันทำงานบนเซิร์ฟเวอร์ โดยค่าเริ่มต้นไคลเอ็นต์ SSH ไม่ได้ตั้งค่าสำหรับสิ่งนี้ แต่สามารถเปิดใช้งานได้โดยใช้-Xตัวเลือก Ex:

ssh -X user@host firefox

ที่จริงแล้วนี่คือวิธีที่LTSP ใช้งานในทุกวันนี้ คุณอาจสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของ LTSP เมื่อใช้เซสชันทั้งหมดจากระยะไกลแทนแอปเดียว


3

ที่จริงผมค้นพบวิธีอื่นเพื่อให้บรรลุนี้ด้วยxrdp ติดตั้ง xrdp

xrdpเป็นเซิร์ฟเวอร์เดสก์ท็อประยะไกลสำหรับ Linux ที่สร้างเซสชันการเข้าสู่ระบบแยกต่างหาก (พร้อม X) ที่สามารถเข้าถึงได้ด้วยเครื่องมือ Remote Desktop ของ Windows หรือกับแอปพลิเคชันอื่น ๆ ที่เข้ากันได้กับ RDP


1

FreeNXจะให้บริการตามวัตถุประสงค์ของคุณ

จาก Ubuntu Wiki:

FreeNX เป็นระบบที่ช่วยให้คุณสามารถเข้าถึงเดสก์ท็อปของคุณจากเครื่องอื่นผ่านทางอินเทอร์เน็ต คุณสามารถใช้สิ่งนี้เพื่อเข้าสู่ระบบกราฟิกไปยังเดสก์ท็อปของคุณจากสถานที่ห่างไกล ตัวอย่างหนึ่งของการใช้งานคือการตั้งค่าเซิร์ฟเวอร์ FreeNX บนคอมพิวเตอร์ที่บ้านของคุณและแสดงกราฟิกเข้าสู่คอมพิวเตอร์ที่บ้านจากคอมพิวเตอร์ที่ทำงานของคุณโดยใช้ FreeNX client.computer โดยใช้ไคลเอนต์ FreeNX

https://help.ubuntu.com/community/FreeNX


1

ดูเหมือนว่าคุณกำลังมองหาแพ็คเกจเซิร์ฟเวอร์ VNC แพคเกจเซิร์ฟเวอร์ VNC มีสองประเภท - ประเภทที่ใช้จอแสดงผล X ที่มีอยู่ของคุณและแพ็คเกจที่จัดการ X เดสก์ท็อปแยกต่างหากสำหรับการใช้งานระยะไกล สิ่งหลังคือสิ่งที่คุณต้องการ ตัวอย่างเช่นvnc4serverและtightvncserver / tigervncserver

แพ็คเกจเหล่านั้นอนุญาตให้คุณเริ่มต้นการแสดง X เพิ่มเติมในพื้นหลัง ในการดูพวกเขาใช้ VNC viewer / client มีไคลเอนต์หลายตัวสำหรับUbuntuและWindowsไม่ต้องพูดถึง Android, PalmOS และอื่น ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.