ฉันจะทำงานกับเครื่องมือ GUI ผ่านเซิร์ฟเวอร์ระยะไกลได้อย่างไร


26

ฉันมีเซิร์ฟเวอร์ Ubuntu ที่ทำงานบน EC2 (ซึ่งฉันไม่ได้ติดตั้งด้วยตัวเองเพิ่งเลือก AMI) จนถึงตอนนี้ฉันใช้puttyเพื่อทำงานกับมัน แต่ฉันสงสัยว่าจะทำงานกับเครื่องมือ GUI ได้อย่างไร (ฉันไม่คุ้นเคยกับเครื่องมือ Linux UI แต่ฉันต้องการเรียนรู้) ฉันไม่ได้ใช้ Windows Explorer อย่างสะดวกสบาย

ปัจจุบันฉันมี Windows ที่บ้านเท่านั้น ฉันจะตั้งค่าเครื่องมือ GUI เพื่อทำงานกับเซิร์ฟเวอร์ระยะไกลได้อย่างไร ฉันควรทำเช่นนี้หรือฉันควรจะยึดบรรทัดคำสั่ง? คำตอบจะเปลี่ยนไปหรือไม่ถ้าฉันมีเครื่อง linux ในพื้นที่ให้เล่นด้วย


หากการส่งต่อ X11 เร็วพอ (มีหลายกรณีที่ไม่ใช่) ควรจะใช้ได้ CLI อยู่เสมอมีประสิทธิภาพมากขึ้นดังนั้นจึงมีประโยชน์ที่จะไม่สนใจมัน แต่ตอนนี้ไม่ได้หมายความว่าจะไม่ GUIs ประโยชน์ :)
sakisk

แต่งานประเภทใดที่คุณต้องการเติมเต็มบนเซิร์ฟเวอร์? คุณต้องการใช้เครื่องมือใด มันเป็นข้อมูลที่สำคัญสำหรับคำตอบ สมมติว่าคุณพูดถึงสิ่งที่เรียกว่า "Windows Explorer" แต่อาจไม่มี "Windows Explorer" ใน Ubuntu ดังนั้นวิธีการแก้ปัญหาที่แนะนำให้เรียกใช้โปรแกรม X บางตัวจากระยะไกลอาจไม่เหมาะสม
imz - Ivan Zakharyaschev

ไม่มี Explorer ที่เทียบเท่ากับ Ubuntu หรือไม่ อย่างจริงจัง?
ripper234

1
@imz - ตอนนี้ฉันสนใจปัญหาทั่วไป ฉันไม่ได้ประสบการณ์กับแอพ linux GUI เลยฉันไม่รู้เลยว่าฉันต้องการอะไรในตอนนี้ ... การใช้งานครั้งแรกที่นึกถึงคือการนำทางโฟลเดอร์ต่างๆใน Explorer เช่นแฟชั่นและอาจแก้ไขได้
ripper234

1
@ ripper234: สำหรับการนำทางไดเรกทอรีตรวจสอบ mc
Faheem Mitha

คำตอบ:


31

คุณสามารถใช้การส่งต่อ X11 ผ่าน SSH ตรวจสอบให้แน่ใจตัวเลือก

X11Forwarding yes

เปิดใช้งานใน/etc/ssh/sshd_configเซิร์ฟเวอร์ระยะไกลและเปิดใช้งานการส่งต่อ X11 ด้วยมือด้วย

ssh -X remoteserver

หรือเพิ่มบรรทัดว่า

ForwardX11 yes

ไปยังรายการโฮสต์ที่เกี่ยวข้องใน ~/.ssh/config

แน่นอนว่าต้องใช้จอแสดงผล X ที่ทำงานในพื้นที่ส่วนปลายดังนั้นหากคุณใช้ Windows คุณจะต้องติดตั้งบางอย่างเช่นXMingจากนั้นตั้งค่าการส่งต่อ X11 ใน PuTTY ดังแสดงในเอกสารอ้างอิงเหล่านี้:

การทางพิเศษแห่งประเทศไทย: อ่านอีกครั้งและเห็นการชี้แจงของคุณในความคิดเห็น FTP อาจเหมาะกับความต้องการของคุณดียิ่งขึ้นเพราะมันจะช่วยให้คุณ 'ติด' โฟลเดอร์ SFTP ราวกับว่าพวกเขากำลังไดรฟ์เครือข่ายปกติ ดูที่นี่ , ที่นี่ , ที่นี่ (สำหรับ Windows XP / 7 / Vista)หรือที่นี่ (สำหรับ Windows 8)


6

Shadur กล่าวถึงวิธีการเปิดใช้งาน X โปรดทราบว่า/etc/ssh/sshd_configอยู่ที่ปลายเซิร์ฟเวอร์และ~/.ssh/configอยู่ที่ปลายไคลเอ็นต์ดังนั้นเราจึงพูดคุยกันโดยทั่วไปเกี่ยวกับสองเครื่องที่แตกต่างกัน การส่งต่อ X จะแสดงแอปพลิเคชันระยะไกลของคุณบนจอแสดงผล X ในเครื่อง ดังนั้นการกำหนดค่าทั้งสองจะต้องบอกรีโมทและโลคัลเพื่อให้การดำเนินการนี้เกิดขึ้นตามลำดับ

ตามที่คุณควรใช้ X หรือไม่นั้นขึ้นอยู่กับว่า คุณต้องพิจารณา (อย่างน้อย) ปัจจัยต่อไปนี้

  • คุณมีแบนด์วิดธ์ประเภทใด ความเร็วคืออะไร มันวัดหรือไม่ มีหมวกไหม? หากคุณเชื่อมต่อกับเน็ตอย่างรวดเร็วและไม่มีข้อ จำกัด X นั้นสามารถใช้งานได้ดีกว่ามิฉะนั้นจะช้ามาก โปรดจำไว้ว่าโดยทั่วไป X เป็นหมูเครือข่าย ไม่ใช่แบนด์วิดท์ที่ปรับให้เหมาะสม (หรือวลีที่ถูกต้อง)

  • คุณวางแผนที่จะใช้เครื่องมืออะไรมากกว่า X มีการเปลี่ยน / เทียบเท่าที่ไม่ใช่กุย? หากคุณยกตัวอย่างประเภทของเครื่องมือที่คุณกำลังใช้ผู้คนสามารถแนะนำทางเลือกอื่น ๆ หากมี โปรดทราบว่าเครื่องมือที่รู้จักกันดีบางตัวมีทั้ง gui และ commandline / console เช่น. emacs, ถนัด, reportbug

โดยทั่วไปคำแนะนำของฉันคือการใช้บรรทัดคำสั่ง (ฉลาด, wget, rsync) หรือโปรแกรมแช่ง (เช่นความถนัดหรือ mc) หากพวกเขามีอยู่และทำสิ่งที่คุณต้องการ แอพดังกล่าวไม่ได้เลวร้ายยิ่งไปกว่าแอป X บางส่วนเป็นแอปพลิเคชันที่ดี เช่น. ซอฟต์แวร์ของ John Davis เช่น jed และ slrn ทั้งคอนโซลแอพแสดงความงามที่โดดเด่นของเขาและเป็นงานศิลปะ BTW การรันเซิร์ฟเวอร์ X บนไคลเอนต์ Windows เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ Linux เป็นตัวเลือก แต่ไม่ใช่ตัวเลือกที่ดีโดยเฉพาะ

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


ฉันเห็นด้วยว่าหากคุณไม่ได้ทำงานกับลิงก์ที่ค่อนข้างเร็ว (ความหน่วงแฝงต่ำซึ่งมีความสำคัญมากกว่าแบนด์วิดท์เล็กน้อย) โดยทั่วไปแล้วคุณควรใช้เครื่องมือบรรทัดคำสั่งถ้ามี
Shadur

1
@Shadur - เวลาในการตอบสนองของฉันไม่ค่อยดีนักในบรรทัดคำสั่งบางทีฉันไม่ควรลองใช้เครื่องมือ UI เพราะมันอาจช้าเกินไป
ripper234

5

ฉันได้พบfreenxและnxclientจะเป็นทางออกที่สก์ท็อประยะไกลที่มีประสิทธิภาพสูงมากดีกว่าหรือvnc X11ฉันจะลองดู


3

คุณควรพิจารณาติดกับบรรทัดคำสั่งเพราะ) เซิร์ฟเวอร์ส่วนใหญ่ไม่ได้ติดตั้ง GUI และ b) GUIs ทั้งหมดใช้งานช้ากว่าเครือข่าย

ที่กล่าวว่าฉันขอแนะนำให้ดู VNC มีไคลเอ็นต์ดั้งเดิมสำหรับ Windows และเซิร์ฟเวอร์สำหรับ Linux ดังนั้นคุณไม่จำเป็นต้องตั้งค่า X11 บนกล่อง Windows ของคุณ


1

หากคุณใช้ Emacs คุณสามารถเรียกใช้ Emacs ที่ติดตั้งในเครื่องบน Windows ของคุณและทำการแก้ไขไฟล์การจัดการไฟล์และไดเรกทอรี ( dired ) การควบคุมเวอร์ชันการคอมไพล์และการทำงานแบบสุ่มอื่น ๆ ในเชลล์ ( M-xshellหรือM-xeshell) และอาจมีบางอย่างเพิ่มเติม ผ่านTRAMPใน Emacs ท้องถิ่นของคุณ (วิดีโอตัวอย่างที่สามารถค้นหาได้ง่ายซึ่งอาจทำให้คนไม่กลัว Emac ที่ไม่รู้จักและ TRAMP ฯลฯ : 1 , 2 )

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

สมมติว่าถ้าคุณต้องการทำงานกับ "Windows Explorer" ก็จะไม่มี "Windows Explorer" บนเซิร์ฟเวอร์ Ubuntu ดังนั้นคุณจึงไม่สามารถเรียกใช้จากระยะไกลได้

แต่ถ้า "Windows Explorer" มีคุณสมบัติเช่น TRAMP เป็นคุณลักษณะ (สำหรับการเข้าถึงระยะไกลผ่าน SSH) คุณสามารถใช้ "Windows Explorer" ในพื้นที่ได้อย่างมีความสุขถ้านั่นคือสิ่งที่คุณต้องการ


เขาถามถึงเครื่องมือ GUI ไม่ใช่เครื่องมือแก้ไข GUI สำหรับไฟล์ปรับแต่ง [ xkcd.com/378/]กันEmacไม่ใช่คำตอบสำหรับทุกสิ่งและในกรณีนี้คุณต้องเจอกับการใช้ค้อนเพียงแค่มองหาวิธีที่จะอธิบายปัญหาในแบบที่เป็นเล็บ
Shadur

@Shadur: (ฉันหัวเราะ) เขายังไม่ได้ระบุเครื่องมือชนิดใดที่เขาต้องการ เครื่องมือแก้ไข GUI เป็นเครื่องมือ GUI ใช่หรือไม่ หรือคุณมีความเข้าใจพิเศษว่า "เครื่องมือ" คืออะไร?
imz - Ivan Zakharyaschev

@Shadur BTW จุดของคำตอบของฉันคือการแนะนำแนวทางที่เป็นไปได้ในการแก้ปัญหาที่ตรงกับความต้องการของเขาอย่างแม่นยำที่สุดโดยที่เราไม่รู้ว่างานใดที่เขาต้องการแก้ไข ตรรกะของฉันคือ: 1) เขาชอบ "Windows Explorer" 2) เราไม่ทราบคุณลักษณะของ "Windows Explorer" ที่เขาชอบเพราะเขาไม่ได้ระบุสิ่งนี้ ==> ดังนั้นถ้า "Windows Explorer" มีลักษณะคล้าย TRAMP นั่นจะเป็นวิธีแก้ปัญหาและคำตอบในอุดมคติ: คุณสมบัติที่เขาชอบอยู่ที่นั่นและมันจะทำงานกับเซิร์ฟเวอร์ระยะไกลของเขา
imz - Ivan Zakharyaschev

คำตอบของฉันไม่เกี่ยวข้องกับคำถามนี้หรือไม่? .. :) ไม่ฉันไม่คิดอย่างนั้นเพราะ ripper234 กำลังมองหาแนวคิด - เขาเขียนว่า"ฉันควรทำอย่างนี้หรือฉันควรจะติดกับบรรทัดคำสั่ง" และนั่นก็เป็นแนวคิดใหม่: มองหาโซลูชันที่คล้ายกับ TRAMP ด้วย มันคล้ายกับประสบการณ์ส่วนตัวของฉัน: เมื่อฉันสงสัยเกี่ยวกับวิธีที่สะดวกในการทำงานบนเซิร์ฟเวอร์ระยะไกลเพื่อนของฉันคนหนึ่งกล่าวว่า IIRC ว่าเขามีความสุขที่ได้ใช้ TRAMP ใน Emacs; และฉันก็เริ่มพิจารณาสิ่งนี้เป็นตัวเลือกด้วย
imz - Ivan Zakharyaschev

1
และบางครั้งฉันก็ใช้สิ่งเทียบเท่าใน gedit ผ่านแบ็กเอนด์ ssh / sftp สำหรับ gnome-vfs อีกครั้ง "วิธีการใช้ตัวแก้ไข GUI เพื่อเปลี่ยนไฟล์กำหนดค่าในระบบระยะไกล" เป็นคำถามที่แตกต่างจาก "การใช้ส่วนหน้าการบริหาร GUI จากระยะไกล"
Shadur

1

ซึ่งแตกต่างจาก RDP X สูญเสียเซสชันหากเซิร์ฟเวอร์หรือช่องสัญญาณ ssh ตัดการเชื่อมต่อ คุณสามารถใช้ XVNC ซึ่งนำเสนอเซิร์ฟเวอร์ X ไปยังโปรแกรมไคลเอนต์และเชื่อมต่อกับไคลเอนต์ VNC สิ่งนี้จะช่วยให้เซสชัน X ยังมีชีวิตอยู่และช่วยให้คุณเชื่อมต่ออับการเชื่อมต่อเซสชัน VNC

ฉันใช้งานได้สำเร็จผ่านการเชื่อมต่อ Jetstart DSL 128k / 128k (ใช่แล้ว Telecom NZ เคยใช้บริการ 128k / 128k DSL!) มันค่อนข้างจะตอบโต้ได้ช้าลงเมื่อต้องดาวน์โหลดบิตแมปขนาดใหญ่ไปยังไคลเอนต์ VNC

คุณสามารถดูวิธีการถ่ายทอด VNC ผ่าน ssh ในบทความนี้


0

ฉันใช้nautilus --no-desktopบนเซิร์ฟเวอร์ Ubuntu 11.04 สำหรับฟังก์ชันการทำงานประเภท MS Windows Explorer


สิ่งนี้ช่วยในการเข้าถึงระยะไกลได้อย่างไร
reinierpost

0

ฉันพบgvfs-treeคำสั่งหรือในบางรสชาติของ Linux treeเพื่อช่วยในการเห็นการแสดง CLI ของแผนผังไดเร็กทอรี


2
ยินดีต้อนรับสู่ U&L! ฉันจะแก้ไขการจัดรูปแบบคำตอบของคุณหลังจากนี้ แต่ฉันจะชี้ให้เห็นว่าในขณะที่gvfs-treeและtreeอาจเป็นคำสั่งที่มีประโยชน์พวกเขาตอบคำถามของคำถามนี้ได้อย่างไร "ฉันจะตั้งค่าเครื่องมือ GUI ให้ทำงานกับเซิร์ฟเวอร์ระยะไกลได้อย่างไร " ?
Jeff Schaller

โพสต์ของเขามีคำถามหลายข้อ ("ฉันไม่คุ้นเคยกับเครื่องมือ Linux UI แต่ฉันต้องการเรียนรู้" และ "ฉันควรทำเช่นนี้หรือฉันควรติดกับบรรทัดคำสั่งหรือไม่")) ฉันคิดว่าทำให้เขา ตระหนักถึงคำสั่ง gvfs-tree อาจทำให้เขารู้สึกสะดวกสบายมากขึ้นใน CLI ซึ่งจะทำให้ gui จำเป็นน้อยลง
jkm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.