ฉันจะเข้าถึงเซิร์ฟเวอร์ Ubuntu ระยะไกลผ่าน X-windows จาก Mac ของฉันได้อย่างไร


35

ฉันมีเซิร์ฟเวอร์ Ubuntu (12.04 LTS) ที่ทำงานบนบริการคลาวด์โฮสติ้งจากระยะไกล ฉันได้ติดตั้งubuntu-desktopผ่านapt-get:

$ sudo apt-get install ubuntu-desktop

ดูเหมือนว่าจะไม่มีปัญหาในการติดตั้ง

ฉันยืนยันว่า/etc/ssh/ssh_configบนเซิร์ฟเวอร์มีบรรทัด

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

และ/etc/ssh/sshd_configบนเซิร์ฟเวอร์มีบรรทัด:

X11Forwarding yes

ฉันรีบูตเซิร์ฟเวอร์ มันกลับมาไม่มีปัญหา

ตอนนี้เริ่มต้น X11.app บน Mac ของฉันฉันได้รับ Xterm

ฉันเชื่อมต่อกับเซิร์ฟเวอร์จากเทอร์มินัลนี้โดยใช้:

$ ssh -X <myhost>

และฉันเชื่อมต่อกับเซิร์ฟเวอร์ไม่มีปัญหา

ณ จุดนี้ฉันไม่รู้จะทำอย่างไร ฉันเหนื่อย

$ sudo startx

แต่ฉันพบข้อผิดพลาด "ไม่พบหน้าจอ"

ฉันไม่มีหน้าจอเพราะมันเป็นเซิร์ฟเวอร์คลาวด์ที่ไร้หัว แต่ฉันแค่อยากจะยกระดับจาก Mac ของฉันผ่าน X

เกิดอะไรขึ้น


2
xvfbติดตั้งลอง ฉันไม่ได้สัมผัสกับมัน แต่มันทำหน้าที่เหมือนหน้าจอที่ไม่มีฮาร์ดแวร์
ζ--

คำตอบ:


21

มีหลายวิธีที่จะทำให้สำเร็จขึ้นอยู่กับสิ่งที่คุณต้องทำจริงๆ

ในการส่งต่อแอพระยะไกลไปยังสภาพแวดล้อม X ในพื้นที่คุณต้องติดตั้ง X11 บน Mac ของคุณ (คุณสามารถหาได้ที่เว็บไซต์สนับสนุนของ apple): http://support.apple.com/kb/DL1605?viewlocale=th

จากแอพ X11 เปิดเทอร์มินัลจากนั้นเข้าถึงรีโมตโฮสต์ด้วย:

    ssh -XC user@host

จากนั้นเมื่อเข้าสู่ระบบเพียงเรียกใช้คำสั่งสำหรับแอพที่ต้องการเช่น firefox, nautilus, thunderbird ไม่ว่า ...

คุณสามารถเปิดเฉพาะระบบ (Ubuntu, Xubuntu, Mint, ฯลฯ ) เมนูหลักและโต้ตอบกับระบบระยะไกลจากที่นั่นโดยไม่จำเป็นต้องใช้ส่วนหน้าแบบกราฟิกเต็มรูปแบบ บน Linux Mint env ระยะไกลฉันเพียงเรียกใช้:

    mintmenu&

หากคุณต้องการจริงๆคุณสามารถเริ่มต้นสภาพแวดล้อมแบบกราฟิกระยะไกลภายในเครื่องที่ X11 ของ Mac เพียงแค่เรียกใช้:

    ubuntu-session
    xubuntu-session
    etc... (depends of your remote environment)

ดีกว่า VNC ใด ๆ ดีกว่าการเชื่อมต่อ X11VNC! การเชื่อมต่อที่ปลอดภัยและบีบอัด FTW


7

สำหรับ Mac ของคุณคุณจะต้องติดตั้ง XQuartz หากยังไม่ได้ดำเนินการ (ดูhttp://xquartz.macosforge.org ) เมื่อติดตั้งแล้วให้รีบูตและเปิดหน้าต่างเทอร์มินัล XQuartz และ SSH ไปยังระบบ Ubuntu Server ของคุณ:

ssh -X yourubuntuserver

หาก lightdm ทำงาน (ดูที่https://askubuntu.com/a/153423/66799เพื่ออ่านวิธีเปิดและปิดได้ตามต้องการ) ให้เรียกใช้คำสั่งนี้เพื่อให้ Ubuntu Unity ปรับให้ Mac ของคุณเหนือ X11:

gnome-session --session=ubuntu-2d

สิ่งนี้ใช้ได้กับฉันกับ Ubuntu Server 12.04 LTS และ Mac OS X Mountain Lion 10.8.2 แต่ฉันได้รับข้อผิดพลาด Composiz เป็นครั้งคราว ที่กล่าวว่าฉันมักจะได้รับข้อผิดพลาด Composiz เมื่อใช้ Ubuntu Desktop ในเครื่องเช่นกัน (-:

คุณสามารถออกจาก Unity เพื่อปิดหน้าต่าง Ubuntu Desktop


งานนี้จำเป็นต้องมี XQuartx
SmallChess

ใช้งานได้ดีกับ Windows 10 ในWSLด้วยXmingสำหรับการแสดงผล
รุนแรง

-1

คุณมีความคิดที่ถูกต้อง แต่ไวยากรณ์ผิด :)

startxจะไม่เริ่มต้นสิ่งที่sshต้องการเนื่องจากต้องการหน้าจอ (รู้จักXเซิร์ฟเวอร์เพื่อคุยกับ)

ลองใช้คำสั่งนี้เพื่อเริ่ม desktop gui

sudo service gdm start

สิ่งนี้จะเริ่มสภาพแวดล้อมเดสก์ท็อป

ปลด

และลอง

ssh -X nautilus username@host 

หมายเหตุไม่ได้ทดสอบข้างต้นบรรทัด

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


4
ไม่จำเป็นต้องมี (หรือเหตุผล) sudo service gdm startเพื่อเรียกเป็น เซิร์ฟเวอร์เอ็กซ์วิ่งบนลูกค้า SSHเครื่อง --the ถูกใช้เป็นเวิร์กสเตชัน ไม่จำเป็นต้องทำงานบนเครื่องระยะไกลเพื่อssh -Xให้ทำงานได้
Eliah Kagan

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