เข้าถึงเซสชัน Raspberry Pi VNC จาก Mac OS X


22

ฉันกำลังพยายามเข้าถึงหน้าจอระยะไกลเพื่อเข้าถึง Raspberry Pi ของฉัน (ใช้งาน Raspbian) ด้วยไคลเอนต์ Mac OS X

นี่คือสิ่งที่ฉันได้รับ:

  • ฉันรัน 'raspbian-config' และใช้เพื่อเปิดใช้งานเซิร์ฟเวอร์ VNC
  • เดสก์ท็อปบน raspberry-pi แสดงว่าเซิร์ฟเวอร์ VNC กำลังทำงาน PSบอกว่ามันเป็นvncserver-x11-core
  • ราสเบอร์รี่ pi แสดงเป็นหน้าจอที่แชร์บน Mac ของฉันใน Finder
  • เมื่อฉันคลิกปุ่ม "แชร์หน้าจอ" บน Mac ฉันจะได้รับข้อความโต้ตอบกับข้อความแสดงข้อผิดพลาดนี้:

    The software on the remote computer appears to be
    incompatible with this version of Screen Sharing.
    

Mac ของฉันใช้งานอยู่ 10.9 (Mavericks?) ดังนั้นมันค่อนข้างเก่า ...

ตัวเลือกของฉันคืออะไร?

  • มีตัวเลือกการกำหนดค่าบน Pi ที่ฉันสามารถปรับแต่งได้หรือไม่? นั่นเป็นวิธีที่ฉันชอบ
  • หากไม่สำเร็จจะเปลี่ยนไปใช้ tightvncserver
  • รู้สึกเหมือน overkill เล็กน้อยเพื่ออัปเดต Mac ของฉันสำหรับปัญหานี้ แต่มันจะช่วยได้ไหม

คำตอบ:


6

ติดตั้งตัวแสดง RealVNC บน Mac ของคุณหรือเปลี่ยนประเภทการตรวจสอบความถูกต้องบนเซิร์ฟเวอร์เป็น "การตรวจสอบความถูกต้อง VNC" และตั้งรหัสผ่าน VNC ที่เหมาะสม

Mac Viewer ไม่รองรับการตรวจสอบระบบของ RealVNC ซึ่งช่วยให้คุณสามารถเข้าสู่ระบบในฐานะผู้ใช้ระบบ


1
สิ่งนี้ใช้ได้ผล ในการเพิ่มรายละเอียดเล็กน้อย: เซิร์ฟเวอร์ VNC บน Raspberry Pi มี GUI ซึ่งคุณสามารถไปที่ตัวเลือกต่างๆได้ หนึ่งในตัวเลือกสำหรับการรับรองความถูกต้องและฉันแก้ไขโดยการเปลี่ยน "รหัสผ่าน UNIX" เป็น "รหัสผ่าน VNC"
Richard Barnette

โซลูชันของ Andrew ทำงานได้ แต่ต้องแน่ใจว่ามีการเข้ารหัส 'ปิด'
Jon Bonesteel

วิธีที่ดีที่สุดคือrealvnc.com/download/vnc/macosxแต่ถ้าคุณต้องการใช้เครื่องมือในตัวคุณต้อง Raspberri Pi ตั้งค่าตัวเลือก VNCServer เพื่อไม่ให้ใช้ชื่อผู้ใช้ / รหัสผ่าน UNIX
llange

realvnc.com/download/viewer/macosxปัจจุบันลิงก์ที่เหมาะสมมากขึ้น
Piotr Findeisen

2
แต่ RealVNC ไม่รองรับการตรวจสอบ VNC มาตรฐาน .... ดูบันทึกของฉันด้านล่าง ง่าย .. ไม่มีซอฟต์แวร์เพิ่มเติมไม่มีปัญหาเพิ่ม ;-) น้อยมาก
วิลเลียม Cerniuk

22

การกำหนดค่า VncServer หัวขาด

หากคุณต้องการกำหนดค่าการเข้าถึง pi ด้วยหน้าจอของ osx แต่มีการเข้าถึงแบบไม่ใช้หัวเพื่อเข้าถึง pi คุณสามารถใช้ไฟล์ vnc config ได้

  1. sudo raspi-config> ตัวเลือกส่วนต่อประสาน> VNC> เปิดใช้งาน Reboot
  2. สร้างรหัสผ่านที่คุณต้องการใช้ในหน้าจอด้วย vncpasswd -service

    sudo vncpasswd -service
    
  3. สร้างและแก้ไขไฟล์ต่อไปนี้ที่นี่: /etc/vnc/config.d/common.custom

  4. ป้อนการกำหนดค่าต่อไปนี้:

    Authentication=VncAuth
    
  5. เริ่มบริการ vnc ใหม่:

    sudo systemctl restart vncserver-x11-serviced
    
  6. เปิดหน้าจอพร้อมคำแนะนำข้างต้นและใช้รหัสผ่านที่คุณให้ไว้กับ vncpasswd

หากคุณต้องการตรวจสอบบันทึกสำหรับ vncserver คุณสามารถใช้ journalctl:

sudo journalctl -u vncserver-x11-serviced.service

พารามิเตอร์อื่น ๆ ที่คุณสามารถใช้กับ VncServer config ได้อธิบายไว้ที่นี่: https://www.realvnc.com/en/connect/docs/server-parameter-ref.html


1
เล็กน้อยง่าย: การใช้งานvncpasswd -serviceเพื่อให้เป็นรหัสผ่านและสายเดียวที่เป็นสิ่งจำเป็นในไฟล์ config Authentication=VncAuthคือ
jrc

@jrc เรียบร้อย! ฉันจะลองดูครั้งต่อไปที่ฉันอยู่ใน pi และแก้ไขมันลง
aaronP

12

ส่วนที่ดีที่สุดของการใช้ Mac ของคุณเพื่อเข้าถึงหน้าจอของ Raspberry Pi คือคุณไม่จำเป็นต้องติดตั้งอะไรบน Raspberry Pi หรือ Mac (ใช้กฎ KISS!)

สิ่งนี้เป็นสิ่งที่ดีเพราะซอฟต์แวร์อย่าง tightvncserver ต้องการ Java เพื่อให้ทำงานบน Pi Java นั้นมีประโยชน์ แต่ก็เป็นหมูตัวประมวลผลและควรหลีกเลี่ยงเพื่อให้โครงการของคุณทำงานเร็วที่สุด และถ้า Pi ของคุณเป็นแบบไร้สายอย่างสมบูรณ์เพื่อให้แน่ใจว่าแบตเตอรี่ที่ยาวนานที่สุด ฉันใช้ Raspberry Pi Zero Wi-Fi (rbp0w) ซึ่งเป็นธรรมชาติสำหรับการใช้งานไร้สายอย่างสมบูรณ์

เนื่องจากคุณกำลังมองหาสิ่งนี้คุณมีแนวโน้มใหม่สำหรับ Pi และอาจไม่ทราบว่าการตั้งค่าอยู่ที่ใดหรือแม้กระทั่ง "VNC" คืออะไร ...

ดังนั้น ... นี่คือคำแนะนำทีละขั้นตอน "ผู้ใช้ Pi ใหม่" เพื่อใช้ระบบ VNC ดั้งเดิมบนไคลเอนต์บน macOS ที่เรียกว่าการแชร์หน้าจอกับเซิร์ฟเวอร์ RealVNC ดั้งเดิมของ Raspberry Piดำเนินการกำหนดค่าต่อไปนี้:

1) คำแนะนำเหล่านี้สมมติว่าคุณติดตั้งระบบปฏิบัติการ NOOBS จากไซต์ RaspberryPi:

https://www.raspberrypi.org/downloads/noobs/

2) เปิดอินเทอร์เฟซการกำหนดค่าเซิร์ฟเวอร์ RealVNC โดยคลิกที่ไอคอนแถบเมนู:

ป้อนคำอธิบายรูปภาพที่นี่

3) บนหน้าต่างเซิร์ฟเวอร์ VNC คลิกเมนูแฮมเบอร์เกอร์และเลือก "ตัวเลือก":

ป้อนคำอธิบายรูปภาพที่นี่

4) เลือก "Security" หากยังไม่ได้เลือกและตั้งค่าการเข้ารหัสเป็น "Prefer off" และการรับรองความถูกต้องเป็น "รหัสผ่าน VNC" สิ่งนี้จะถือว่าอุปกรณ์ของคุณอยู่หลังไฟร์วอลล์ในเครือข่ายที่ปลอดภัย ... ดังนั้นจึงสามารถปิดการเข้ารหัสได้อย่างปลอดภัยเพื่อให้แน่ใจว่าสามารถใช้งานร่วมกันได้

ป้อนคำอธิบายรูปภาพที่นี่

5) ตั้งค่า "ผู้ใช้มาตรฐาน" ด้วยรหัสผ่าน 8 ตัวหรือน้อยกว่า

ป้อนคำอธิบายรูปภาพที่นี่

6) จากนั้นเปิด "การแชร์หน้าจอ" บน Mac ของคุณและจากเมนู "การเชื่อมต่อ" เลือก "ใหม่" และพิมพ์ที่อยู่ IP ของ Pi ของคุณ:

ป้อนคำอธิบายรูปภาพที่นี่

7) เมื่อถูกท้าทายให้ป้อนรหัสผ่านที่คุณตั้งค่าที่ Pi ในขั้นตอนที่ 5 ทำให้ชีวิตง่ายขึ้นสำหรับตัวคุณเองและบันทึกรหัสผ่านใน Keychain ด้วย ...

ป้อนคำอธิบายรูปภาพที่นี่

8) กดเชื่อมต่อและคุณอยู่ใน!

ป้อนคำอธิบายรูปภาพที่นี่


2
นี่ควรเป็นคำตอบที่ยอมรับได้ สิ่งเดียวที่ฉันเพิ่มคือการตั้งค่าหัวขาดวิธีบรรทัดคำสั่งคือvncserver Authentication=VncAuth :0(หมายเหตุ: :0สำหรับพอร์ตเริ่มต้นหลังจากทำsudo systemctl stop lightdmหรือเชื่อมต่อกับพอร์ตraspberrypi.local:5902ถ้าคุณตั้งค่าในเซสชั่นพูดว่า:2)
34919

3

สำหรับRealVNCคุณจำเป็นต้องใช้โปรแกรมดูที่เป็นกรรมสิทธิ์ ( อาจเป็นไปได้ที่จะใช้การแชร์หน้าจอ macOS กับซอฟต์แวร์เพิ่มเติม แต่ X11 ไม่ได้รวมอยู่ใน Mac เป็นเวลาหลายปี)

คุณสามารถใช้tightvncserver; ฉันใช้สิ่งนี้และเริ่มต้นเซสชันด้วยopen vnc://pi@10.1.1.41:5901บน Mac (เปลี่ยนเป็น IP ของคุณหรือใช้raspberrypi.local)

RealVNCต้องการ GUI บน Pi เพื่อให้สามารถทำงานได้ (คุณสามารถเริ่มด้วยตนเองได้ แต่ถ้าเป็นเช่นนั้นทำไมกวนใจ) และแชร์หน้าจอเดียวกัน

tightvncserver เริ่มหน้าจอใหม่ (ซึ่ง IMO นั้นดีกว่าเนื่องจากเซสชันสามารถมีความละเอียดต่างกัน)

หมายเหตุ RealVNCและtightvncserverเข้ากันไม่ได้และคุณสามารถมีเพียง 1 ใน Pi ของคุณ


2

Andrew Wedgbury และ Richard Barnette แสดงความคิดเห็นทำงานกับ OS X 10.12.5 Screenshare

คุณไม่จำเป็นต้องปิดการเข้ารหัส แต่คุณสามารถทำได้ตามที่จอนแนะนำ

เพิ่มผู้ใช้ใหม่เป็นประเภทผู้ดูแลระบบแทนไปยัง VNC Server บน raspberry pi (ver: 4.9.35)

  1. คลิกที่ไอคอนแถบเครื่องมือ VNC
  2. คลิกที่ไอคอน VNC Server Hamburger เพื่อเมนูดรอปดาวน์
  3. คลิกที่ตัวเลือก (อาจต้องปิดหน้าต่างข้อความ)
  4. เลือกดร็อปดาวน์การพิสูจน์ตัวตนและตั้งค่าเป็นรหัสผ่าน VNC แล้วคลิกใช้
  5. คลิกลิงก์ผู้ใช้ & สิทธิ์ในส่วน "รหัสผ่าน VNC" ด้านล่าง
  6. คลิกปุ่มเพิ่ม
  7. เลือกผู้ใช้ผู้ดูแลระบบจากผู้ใช้แบบเลื่อนลง
  8. ตั้งรหัสผ่านและคลิกตกลง
  9. คลิกตกลงเพื่อออกจากตัวเลือก

บน OS X Sharescreen และป้อน raspberry.local (hostname.local) ให้ป้อนรหัสผ่านเมื่อได้รับแจ้ง


ด้วยระบบปฏิบัติการขนาดใหญ่พอสมควรบนตัวประมวลผลขนาดเล็กมากการอนุรักษ์ตัวประมวลผลทุกบิตช่วยได้ Pi ช้ามาก (แม้ว่า "laggy") ผ่านการเชื่อมต่อ VNC และการเข้ารหัสทำให้แย่ลง เนื่องจากเครือข่ายของฉันได้รับการเข้ารหัสฉันจึงไม่อยากได้รับโปรเซสเซอร์ PI การเข้ารหัสเป็นเครื่องมือที่ยอดเยี่ยม แต่ก็ควรใช้อย่างเช่นยาปฏิชีวนะอย่างประหยัดและด้วย Intellegence
วิลเลียม Cerniuk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.