วิธีการประสานกราฟิกกับเซิร์ฟเวอร์ headless


42

ฉันมีเซิร์ฟเวอร์สำหรับการพัฒนาในอูบุนตู มันเป็นแร็คเซิร์ฟเวอร์แบบเก่าที่ตั้งอยู่ที่ไหนสักแห่งในคุกใต้ดินของ บริษัท ซึ่งไม่มีใครเคยไป วิธีเดียวที่สามารถใช้งานได้คือเซิร์ฟเวอร์หัวขาด (เช่นไม่มีจอภาพ / คีย์บอร์ดเชื่อมต่อและยอมรับเฉพาะการเชื่อมต่อเครือข่าย)

เห็นได้ชัดว่าถ้าคุณแค่ต้องการเข้าถึง terminal ssh ก็เพียงพอแล้ว อย่างไรก็ตามฉันต้องการเชื่อมต่อกับส่วนต่อประสานกราฟิกเป็นครั้งคราว ในขณะนี้ฉันกำลังใช้ฟังก์ชั่น VNC ในตัว แต่ฉันค่อนข้างมั่นใจว่านี่ไม่ใช่วิธีที่มีประสิทธิภาพมากที่สุดหรือเป็นวิธีที่ปลอดภัยที่สุดในการเข้าถึงปัญหานี้

ฉันได้ทำการวิจัยเล็กน้อยเกี่ยวกับปัญหา แต่ไม่สามารถสรุปได้แน่นอน ฉันอ่านเกี่ยวกับการพยายามส่งต่อสภาพแวดล้อม X ผ่าน ssh ซึ่งอย่างน้อยก็จะแก้ปัญหาความปลอดภัยของฉัน ทุกคนสามารถแบ่งปันประสบการณ์ในการตั้งค่านี้ได้หรือไม่ มีวิธีอื่นที่อาจคุ้มค่าที่จะดูหรือไม่?

ฉันเกือบจะเชื่อมต่อกับเซิร์ฟเวอร์นี้จากเครื่อง Windows ฉันไม่ทราบว่าอาจเป็นปัญหาสำหรับวิธีการบางอย่างที่แนะนำ

คำตอบ:


20

ใช่ X การส่งต่อ ssh เป็นสิ่งที่สวยงามอย่างแน่นอน อนุญาตให้คุณใช้แอปพลิเคชั่นแบบกราฟิกบนพื้นฐานของแอพและมีหน้าต่างที่จัดการโดยสภาพแวดล้อมเดสก์ทอปของคุณเอง คุณไม่จำเป็นต้องมีสภาพแวดล้อมเดสก์ทอปที่ติดตั้งบนเซิร์ฟเวอร์

คุณจำเป็นต้องตั้งค่าบางสิ่งการรับรองความถูกต้องเพื่อให้ทำงานได้ ฉันเชื่อว่าคุณต้องการ xauth สำหรับสิ่งนั้น

มันเร็วกว่า VNC มากเช่นกัน VNC ค่อนข้างล้าหลังในประสบการณ์ของฉัน

แก้ไข: ฉันไม่มีประสบการณ์การใช้วิธีนี้ผ่านทาง Windows แต่ฉันพบบทช่วยสอนนี้สำหรับคุณถ้าคุณสนใจ


2
"ssh -X <server> <program>" ควรตั้งค่าทุกอย่าง (ฉันไม่เคยต้องการสัมผัส xauth ด้วยตัวเองแม้ว่าจะต้องติดตั้งเพื่อให้ตัวเลือก -X บน ssh ทำงาน)
ระงับ

@ Suppressingfire: โอ้ขอบคุณ ฉันเดาว่าฉันควรจะรวมคำสั่งด้วยตัวเอง
DLH

2
ใช่การส่งต่อ X ใช้งานได้กับ windows ฉันใช้กับCygwin / Xบน Windows XP ไม่ใช่วิธีที่เร็วที่สุดหรือสวยที่สุด แต่ใช้ได้ผล
mp3foley

การส่งต่อ ssh X11 ยัง จำกัด บริการที่คุณต้องเปิดใช้งานบนเซิร์ฟเวอร์ของคุณ! ฉันสงสัยว่าเซิร์ฟเวอร์ส่วนใหญ่มี ssh ต่อไป การเปิดใช้งาน X11 ระยะไกล (XDMCP) ไม่เป็นที่รู้จักจริง ๆ ว่าปลอดภัย
LassePoulsen

ลิงก์บทสอนเสียไปแล้วโปรดนึกถึงคนที่สามารถอัปเดตได้หรือไม่
นกฮูก

13

คุณสามารถใช้freenxแทน vnc Freenx ส่งคำสั่ง x (ด้วยการแคช) แทนบิตแมป


ฉันสามารถใช้กับเครื่อง Windows ได้หรือไม่
silvo

2
ฉันเชื่อว่าคุณสามารถดาวน์โหลดไคลเอนต์ NoMachine NX สำหรับ Windows และใช้งานได้กับ FreeNX- แม้ว่าฉันอาจผิด nomachine.com/download.php
manyxcxi

9

XmingและXDMCPเป็นตัวเลือกที่ยอดเยี่ยม

แก้ไข:

Xming เป็นเซิร์ฟเวอร์ x สำหรับ windows ซึ่งใช้ Cygwin และมีความสามารถในการแชร์คลิปบอร์ดและใช้เค้าโครงเดสก์ท็อปที่แตกต่างกันเช่นกัน

XDMCP เป็นโปรโตคอลที่ไม่ซับซ้อนและไม่สำคัญ (ไม่ได้ใช้ผ่านอินเทอร์เน็ต) เพื่อเชื่อมต่อ X-displaymanager และ x-server


คุณควรแก้ไขคำตอบเพื่อให้มีรายละเอียดเพิ่มเติมอีกเล็กน้อยเกี่ยวกับสาเหตุและวิธีการทำงาน การรู้ว่า Xming and XDCMP หมายถึงอะไรนี่เป็นตัวเลือกที่ดีที่สุด
Ressu

ฉันจะทำอย่างนั้น.
ddeimeke

7

ฉันไม่รู้เกี่ยวกับวิธีที่ "ดีที่สุด" ฉันเดาว่า YMMV แต่นี่เป็นภาพรวมของเครื่องมือที่ครอบคลุมพอสมควร: http://www.mynitor.com/2010/02/07/15-remote-desktop- โซลูชั่นสำหรับลินุกซ์ /

ฉันเฉพาะที่นี่เป็นประสบการณ์ของฉัน:

  1. nomachine nx - ความเร็วที่น่าประทับใจ ในโหมดเนทิฟมันให้ความรู้สึกเหมือนอยู่หน้าคอนโซล สนับสนุนการเริ่มต้นเซสชันใหม่รวมถึงแชโดว์คอนโซล (แต่แชโดว์ช้ากว่า) สนับสนุนการแยกและการแนบกับเซสชัน การแชร์คลิปบอร์ดทำได้เพียงวิธีเดียวเท่านั้นสำหรับฉันและฉันไม่สามารถแก้ไขได้ nomachine เสนอแพคเกจเซิร์ฟเวอร์และไคลเอนต์ฟรีพร้อมข้อ จำกัด ด้านลิขสิทธิ์บางประการ
    FreeNXสร้างขึ้นบนห้องสมุด nomachine nx

  2. x2go - ประทับใจกับสิ่งนี้โดยเฉพาะอย่างยิ่งการเปลี่ยนเส้นทางเสียง แต่ฉันไม่ได้ใช้มันนานเท่า nomachine nx เพราะฉันรู้เรื่องนี้ในภายหลัง

  3. x11vnc - เซิร์ฟเวอร์ vnc ที่ยอดเยี่ยมที่สามารถแนบกับเซสชันของคอนโซล ใช้ร่วมกับ nomachine nx ฉันไม่แน่ใจว่าจะสามารถทำงานในโหมดหัวขาดหรือไม่ แต่ฉันแสดงรายการไว้ในกรณีที่ทำได้เพราะสำหรับฉันมันเป็นเซิร์ฟเวอร์ vnc ที่เร็วที่สุด

  4. xrdp - ดูมีแนวโน้ม แต่ดูเหมือนว่าจะไม่มีการระบาย โซลูชันเร่ร่อน OpenSuse ใช้ xrdp และฉันได้ยินเร่ร่อนเป็นประสบการณ์เดสก์ท็อประยะไกลที่ดีที่สุดที่คุณจะได้รับจาก linux

  5. teamviewer - รุ่น linux ยังคงเป็นรุ่นเบต้าทำงานภายใต้ไวน์และใช้ CPU บางส่วน แต่ฉันใช้มันค่อนข้างเร็ว ๆ นี้และฉันก็พอใจกับมัน ไม่แน่ใจว่ามันทำงานบนเซิร์ฟเวอร์หัวขาดหรือไม่


2

นอกจากนี้ให้พิจารณาxpraซึ่งช่วยให้คุณแยกออกจากเซสชันอื่นที่กำลังทำงานเช่น "screen for X"

นอกจากนี้ยังมีหน้าต่าง Shifter , ปลายด้านหน้าสำหรับ xpra ซึ่งควรจะทำงานยังสำหรับ Windows, ดูการสาธิต


1
มันดูน่าสนใจ
Li Lo

1

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


1

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


1

ฉันได้ใช้ประสบความสำเร็จ FreeNX บน Ubuntu ใช้ไคลเอนต์ Windows จากhttp://nomachine.com

สำหรับฉันนี่คือการอนุญาตให้ฉันใช้แท็บเล็ตพีซีเครื่องเก่า (ที่ต่อสู้แม้กับการติดตั้ง Windows XP ใหม่ทั้งหมด) เป็นส่วนหน้าในเครื่องเดสก์ท็อป Ubuntu ที่ทรงพลังกว่า

ปัญหาเดียวที่ฉันมีคือคุณต้องเปลี่ยน "Visual Effects" เป็น none เพื่อให้ได้ประสิทธิภาพที่ดี

ฉันจะแสดงความคิดเห็นต่อคำตอบของ txwikinger เพื่อแนะนำ nxserver แต่ฉันไม่มีชื่อเสียงเพียงพอ


1

การตั้งค่าสำหรับการเข้าถึง X ระยะไกลสามารถทำให้กลัวและเกี่ยวข้องกับหลายขั้นตอน

ฉันใช้ x2go ซึ่งเป็นโหลดและไปและใช้งานง่ายเป็นพิเศษ มันให้เดสก์ท็อปเต็มรูปแบบราวกับว่าคุณเชื่อมต่อหน้าจอและคีย์บอร์ดใหม่เข้ากับเซิร์ฟเวอร์ของคุณ มันมีฟังก์ชั่นเต็มรูปแบบ X

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

x2go ใช้ ssh เพื่อการขนส่งดังนั้นข้อมูลของคุณจะถูกเข้ารหัส สิ่งนี้จะช่วยลดความซับซ้อนของไฟร์วอลล์ภายใน ความเร็วไม่ได้รับผลกระทบจากการใช้ ssh สำหรับการขนส่ง

ซอฟต์แวร์ไคลเอ็นต์ x2go พร้อมใช้งานสำหรับ Linux และ Windows และ Mac

ซอฟต์แวร์ฟรีและโอเพ่นซอร์สที่ดีมาก ฉันใช้มันทุกวัน

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