ฉันจะทำให้ X11 Forwarding ทำงานบน Windows ด้วย PuTTY และ Xming ได้อย่างไร


16

ฉันอยากให้ X11 Forwarding ทำงานกับ PuTTY เสมอและ X Window System ที่ฉันใช้คือ Xming เมื่อฉันใช้ Xming และฉันสร้างการเชื่อมต่อใหม่ไปยังเซิร์ฟเวอร์ของฉันฉันได้รับสิ่งต่อไปนี้หลังจากคำสั่ง:

$ firefox
PuTTY X11 proxy: wrong authentication protocol attemptedPuTTY X11 proxy: wrong authentication protocol attemptedError: cannot open display: localhost:10.168

$ google-chrome
PuTTY X11 proxy: wrong authentication protocol attempted
(google-chrome:7083): Gtk-WARNING **: cannot open display: localhost:10.168

$ gedit
PuTTY X11 proxy: wrong authentication protocol attempted
** (gedit:6990): WARNING **: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attemptedCannot open display:
Run 'gedit --help' to see a full list of available command line options.

$ gnome-system-monitor
PuTTY X11 proxy: wrong authentication protocol attempted
** (gnome-system-monitor:7024): WARNING **: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attempted
(gnome-system-monitor:7024): Gtk-WARNING **: cannot open display: localhost:10.168

ฉันจะแก้ไขข้อผิดพลาดเหล่านี้และรับ X11 Forwarding ให้ทำงานโดยรวมได้อย่างไร


จะแก้ไขได้อย่างไร?
user568109

คุณควรสร้างบัญชีถามคำถามใหม่แล้วเชื่อมโยงที่นี่เพื่อที่ฉันจะได้เห็น
NobleUplift

คำตอบ:


9

คัดลอกมาจาก: http://www.math.umn.edu/systems_guide/putty_xwin32.html

การกำหนดค่า Putty

  • เพิ่มชื่อโฮสต์ Unix
  • สลับโปรโตคอลเป็น SSH
  • พิมพ์ชื่อเซสชันในเซสชันที่บันทึกไว้
  • คลิก 'บันทึก'

<img src = 'putty_xwin32 / default_putty_rev-sm.png' />

  • ขยายแท็บ 'SSH' จากรายการ 'หมวดหมู่'
  • เลือก 'X11' จากรายการ 'SSH'
  • ทำเครื่องหมาย 'เปิดใช้งานการส่งต่อ X11'

<img src = 'putty_xwin32 / xfwd_putty_rev-sm.png' />

  • เลือก 'เซสชัน' จากรายการ 'หมวดหมู่'
  • คลิก 'บันทึก'

การเริ่มต้น X Server บน Windows

การกำหนดค่า Xming

เพียงแค่เรียกใช้ "โปรแกรมทั้งหมด> Xming Xming" และมันจะทำงานได้ถ้าคุณได้ตั้งค่า PuTTY

การเชื่อมต่อ

  • เริ่ม Xming
  • เริ่มโป๊ว
  • ดับเบิลคลิกที่เซสชันที่บันทึกไว้ที่คุณต้องการ

<img src = 'putty_xwin32 / session_putty_rev-sm.png' />

  • ป้อนชื่อผู้ใช้และรหัสผ่านตามที่ร้องขอ
  • ตอนนี้คุณควรจะสามารถรันแอปพลิเคชั่น X จากโฮสต์บนเดสก์ท็อปของคุณ

แก้ไข: หากต้องการแก้ไขwrong authentication protocol attemptedข้อผิดพลาดลองเปิดใช้งาน“ ForwardX11Trusted ใช่” ในไฟล์ / etc / ssh / sshd_config จากนั้นรีสตาร์ทเซิร์ฟเวอร์ OpenSSH


ฉันอ่านคำแนะนำเดียวกันอย่างแท้จริง (มันเป็นวิธีที่ฉันค้นพบเกี่ยวกับ Xming) แต่พบว่ามันไร้ประโยชน์อย่างสมบูรณ์เพราะมันอาจบอกสิ่งที่ฉันรู้แล้วหรือคิดออกเพียงแค่รันโปรแกรมทั้งสอง
NobleUplift

ฉันสามารถส่งต่อ X11 ได้ แต่ฉันคิดว่าคำตอบนี้เป็นข้อ จำกัด ว่าคุณสามารถทำอะไรได้บ้าง ฉันไม่รู้ว่าทำไมคำถามของฉันจึงใช้เวลา -1 ถึงแม้ว่า ...
NobleUplift

มันแก้ปัญหาอย่างไร มันเป็นเพียงการสอนเพื่อกำหนดค่า x over ssh
user568109

@ user568109 หากคุณทำตามคำแนะนำเหล่านี้แล้วลองเรียกโปรแกรมที่ใช้ GUI ใด ๆ โปรแกรมจะแสดงขึ้นในเครื่อง
Kruug

7
ForwardX11Trustedเราตั้งค่าฝั่งไคลเอ็นต์ การนำสิ่งนี้ไปใช้sshd_configจะไม่มีผลที่ดีที่สุดและจะป้องกันเซิร์ฟเวอร์ SSH ไม่ให้เริ่มต้นที่แย่ที่สุด -1 นี่คือsshd_configเมื่อssh_configคุณกำลังมองหาmanหน้า
0xC0000022L

16

ฉันมีปัญหา 2 ข้อและพบว่าคำถามนี้มีปัญหาที่ใกล้เคียงที่สุดกับฉันดังนั้นคิดว่าวิธีแก้ปัญหาของฉันจะเป็นประโยชน์กับคนอื่น ๆ ที่มาที่นี่พยายามแก้ไขปัญหาเดียวกันกับฉัน ระบบของฉันมี Cygwin / X (xinit 1.3.4-5) และ PuTTY (0.64) ฉันจัดการเพื่อไปที่ด้านล่างของมันโดยการตั้งค่าทั้งสอง - ฟัง tcp บน startxbin ท้องถิ่นและผ่านเส้นทางไปที่. Xauthority to putty

ประการแรกในการอ้างอิงถึง "พร็อกซี PuTTY X11: ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ X ที่ส่งต่อ: ข้อผิดพลาดเครือข่าย: การเชื่อมต่อถูกปฏิเสธ" ข้อผิดพลาดคุณต้องทำให้เซสชัน X ฟังการเชื่อมต่อ: เปิดเทอร์มินัล cygwin และแก้ไข / usr / bin / startxwin ค้นหาบรรทัด ...

defaultserverargs="-multiwindow"

และเปลี่ยนเป็น ...

defaultserverargs="-multiwindow -listen tcp"

ประการที่สองในการตอบสนองต่อ "ต้องได้รับสิทธิ์ แต่ไม่มีโปรโตคอลการให้สิทธิ์ระบุข้อผิดพลาด" คุณจำเป็นต้องทำการฉาบใช้ราชสกุล xauth ที่ถูกต้อง (สิ่งที่แปลกดูเหมือนว่าจะไปในภายในฉาบเพื่อให้xauth listท้องถิ่นไม่ให้ราชสกุลว่าการเชื่อมต่อส่งต่อสามารถใช้ โดยผ่านพวกxauth add <token>เขาพวกเขาดูเหมือนจะต้องตั้งค่าโดย PuTTY ในการเชื่อมต่อเพื่อให้พวกเขาทำงาน)
ค้นหาเส้นทางในโดเมน windows ที่ไฟล์ ~ / .Xauthority ของคุณกำลังทำงานอยู่ (ในเทอร์มินัล cygwin อีกครั้ง)

cd ~
explorer .

ตรวจสอบคุณสมบัติในไฟล์. Xauthority และจดบันทึกตำแหน่งไว้ (เลือกและกด CTRL + C เพื่อวางไว้ในคลิปบอร์ด)

เริ่ม PuTTY ตามตัวอย่างด้านบน (คัดลอกมาจากhttp://www.math.umn.edu/systems_guide/putty_xwin32.html )

ในหน้า 'ตัวเลือกที่ควบคุมการส่งต่อ SSH X11' คุณควรมีการทำเครื่องหมาย 'เปิดใช้งานการส่งต่อ X11' และตั้งค่า 'MIT-Magic-Cookie-1' เป็นโปรโตคอล
ภายใต้ฟิลด์ 'ไฟล์สิทธิใช้งาน X สำหรับการแสดงผลในท้องถิ่น' คลิกเรียกดูและใช้ตำแหน่งไปยังไฟล์. Xauthority ที่คุณจดบันทึกไว้ก่อนหน้านี้ค้นหาไฟล์. Xauthority คลิกเปิดเพื่อเติมฟิลด์จากนั้นกลับไปที่เซสชัน (ในการกำหนดค่า PuTTY) และบันทึกเซสชัน จากนั้นคุณสามารถคลิกเปิด

ตอนนี้ควรอนุญาตให้คุณเชื่อมต่อ


3
ฉันต้องตั้งค่าX authority file for local displayให้ชี้ไปที่.Xauthorityโฟลเดอร์ในcygwinไดเรกทอรีบ้านของฉันด้วย ขอขอบคุณ!
HeatfanJohn

0

คุณสามารถ

xauth list

แล้วก็

xauth add <your display>

2
xauth add dpyname protoname hexkeyบรรทัดคำสั่ง
NobleUplift

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