![](/_astro/acefb86a2c5f54a14c65b4a1b60e9c1f86b856bca6b8063e567570e2351bfdc1-cover.DUSfmHsR.webp)
Table of contents
Show all topics
ที่มาที่ไป
เรื่องนี้เกิดจากปัญหาการจัดห้องที่ไม่ลงตัวของผมเอง และด้วยพื้นที่ในห้องนอนที่แบ่งไว้นั่งทำงานด้วยส่วนหนึ่งจึงเป็นพื้นที่จำกัดสักหน่อย บวกกับอาการขี้เกียจหันตัวสลับจอไปมา ในหลายๆครั้งที่ต้องเปิดทั้งพีซีและแม็ค ก็เลยมองหา Remote Desktop มาลองใช้หลายๆตัวก็พบว่าไม่ค่อยตอบโจทย์การใช้งานสักเท่าไรนัก
ปัญหาหลักที่พบใน Remote Desktop
- การทำงานค่อนข้างมีอาการหน่วง
- บริโภคทรัพยากรในเครื่องเวลาใช้งาน ทั้ง Host และ Client
จากนั้นก็นึกขึ้นได้ว่าเคยเห็นการทำ Remoteplay ภายในบ้าน ที่เอาภาพจากเครื่องคอนโซลยิงออกมาเล่นผ่านอุปกรณ์ต่างๆ
เอามาทำกับ PC ได้ไหม ?
ตั้งคำถามไว้แล้วก็ต้องหาคำตอบ ซึ่งผมได้ไปเจอเข้ากับ Repository หนึ่งชื่อว่า Moonlight [Link]อ่าน Readme ดูแล้วน่าสนใจ และน่าจะตอบโจทย์ในสิ่งที่ผมกำลังอยากทำพอดี
แนวคิดโดยสรุป
- PC เป็นเครื่องที่ไว้สำหรับรับการเชื่อมต่อ (Server) (ต้องติดตั้งโปรแกรมสำหรับ Host)
- Macbook เป็นรีโมทเชื่อมต่อไปควบคุม PC (ต้องทำการติดตั้ง Moonlight)
แล้วเจ้า Moolight คืออะไร
ทางผู้พัฒนาอธิบายไว้ว่าเป็นการทำงานด้วยหลักการเดียวกับเครื่อง Nvidia Shield คือทำหน้าที่เป็นเครื่องลูก (Client) เชื่อมต่อไปที่เครื่องที่ทำหน้าที่เป็นเซิร์ฟเวอร์อีกที ซึ่งในกรณีของผมเป็นเครื่อง Macbook
สามารถ Download เวอร์ชันล่าสุดจากผู้พัฒนาได้ที่ Link
เมื่อติดตั้งเสร็จแล้ว เราพักเครื่อง Client ไว้ก่อน แล้วเราข้ามไปฝั่งเครื่อง Server กันบ้าง
เตรียมเครื่อง Server ที่จะ Remote
ทางผู้พัฒนาเขาได้ให้ทางเลือกไว้ 2 ทาง คือ
- ทางที่ง่ายที่สุดคือ ทำการติดตั้ง Nvidia Geforce Experience และเปิดฟังก์ชัน Gamestream
![Blog Image](/_astro/b0d87edd62fd5d06659480c12ec5703213c1e3a4c0e145546b35b0e069cbce46.Dd4cRTaZ_1iTgRI.webp)
หมายเหตุ เมื่อปลายปี 2022 ที่ผ่านมาได้มีประกาศการหยุดสนับสนุนฟังก์ชั่น Gamestream จากทาง Nvidia ออกมาว่าจะหยุดซัพพอร์ทในช่วงเดือนกุมภาพันธ์ 2023 ทำให้ผมตัดสินใจย้ายไปใช้ Sunshine แทน
-
ทางที่ Advance ขึ้นมานิดหน่อย ติดตั้ง Sunshine
สามารถ Download เวอร์ชันล่าสุดได้ที่ Link
หมายเหตุ ในกรณีที่เล่นเกมแล้วเครื่องมองไม่เห็น Controller แนะนำให้ติดตั้ง ViGEmBus
- เมื่อติดตั้งโปรแกรมเสร็จแล้วให้เปิด browser แล้วไปที่ url
localhost:47990
ในครั้งแรก sunhine จะให้เราตั้ง username และ password เพื่อไว้ login ไว้เพื่อความปลอดภัย เสร็จแล้วหน้าเว็บจะรีเฟรช 1 ครั้ง ให้เราล็อกอิน
ในเวอร์ชั่น 0.17 จะไม่ detect หน้า desktop ให้เรา แก้ไขได้โดยไปที่แถบ Application จากนั้นให้เพิ่มแอพใหม่ ตั้งชื่อว่า Desktop โดยไม่ต้องใส่รายละเอียดใดๆ
จบสิ้นการเตรียมเครื่องฝั่ง Server แล้ว
ทำการเชื่อมต่อจาก Client
-
ทำการเปิดโปรแกรม Moonlight ขึ้นมาหากเครื่องอยู่ในวง network เดียวกันตัว moonlight จะเจอเองโดยอัตโนมัติครับ แต่ถ้าไม่เจอสามารถ add ได้เองโดยกดปุ่มเครื่องหมาย + มุมบนขวาแล้วใส่ ip เครื่อง server ที่ต้องการ
-
คลิกที่เครื่องที่ต้องการเชื่อมต่อ จะมีหน้าต่างเด้งรหัส PIN ขึ้นมาให้เราไปเปิด browser บนเครื่อง server แล้วไปที่ localhost:47990 จากนั้นไปที่เมนู PIN แล้วกรอกตัวเลขชุดเดียวกันลงไป
กลับมาที่เครื่อง Client ของเราอีกทีจะพบว่าไอค่อนที่ตอนแรกติดล็อคอยู่ได้ถูกปลดล็อคแล้ว และเมื่อคลิกเข้าไปจะพบ Desktop ที่เราเพิ่มไว้อยู่ด้วย (หากลืมเพิ่มไว้ในขั้นตอนแรก ให้มาเพิ่มทีหลังได้เหมือนกัน)
หมายเหตุ หากเชื่อมต่อแล้วหน้าจอโปรแกรมดำสนิทให้ลองขยับเมาส์นิดหน่อยภาพจะกลับมาเหมือนเดิม
ทดสอบใช้จริง
ผมได้ทดลองใช้ในหลายๆรูปแบบทั้งการทำงานบางส่วน และการเล่นเกม พบว่าแทบจะไม่มีดีเลย์ อาจจะมีแต่ไม่ส่งผลต่อความรู้สึกจนหงุดหงิดอะไร ทั้งนี้ในการตั้งค่าความละเอียดของภาพเราสามารถตั้งที่ตัว Moonlight ได้เลย
โดยส่วนตัวมองว่าตอบโจทย์เลย สามารถเปิดคอมทิ้งไว้โดยที่ไม่ต้องล็อกอินก่อน เพราะตัว server สามารถยิงภาพได้ตั้งแต่ logscreen เลย เราสามารถรีโมทไปล็อกอินจากเครื่องลูกก็ได้
ส่วนที่น่าหงุดหงิดหน่อยจะเป็นในส่วนของช่วงการอัพเดทเวอร์ชันฝั่งเครื่อง server แล้วส่งผลให้เสียงหายในเครื่องลูก ส่วนตัวผมแก้โดย เวลาอัพเดทผมจะลบตัวโปรแกรมฝั่งเซิร์ฟเวอร์ออกจนเกลี้ยง ไม่เก็บพวกไฟล์ตั้งค่าไว้เลย ก่อนทำการติดตั้งเวอร์ชันใหม่ ซึ่งแก้ปัญหานี้ได้พอสมควร
หมายเหตุ ในกรณีที่เน็ตเวิร์คที่บ้านมีอุปกรณ์ที่ใช้ร่วมกันหลายอุปกรณ์ (บ้านผมมีกล่อง internetTV อยู่ 2 ตัว) ควรมีการแยกวง network ใหม่เพื่อทำ Streaming เนื่องจากใช้แบนวิดธ์ค่อนข้างสูง
จบแล้วครับ จริงๆวิธีนี้ผมใช้มาสักระยะแล้วตั้งแต่ช่วงปลายปีที่แล้วแต่ว่าไม่ได้เขียนให้เสร็จสักที ติดอะไรหลายๆอย่างเลยผลัดไปก่อน ตอนนี้ว่างแล้วก็เลยได้เขียนให้เสร็จสักที ซึ่งจริงๆผมทดสอบด้วยการต่อผ่าน internet ไว้ด้วย แต่ขอติดไว้ก่อนนะครับ เอาไว้จะมาเขียนวิธีการแยกต่างหาก สุดท้ายนี้ขอขอบคุณผู้อ่านทุกท่านครับ
Reference