VNC นับเป็นโปรแกรม Remote Control ที่ดีมากๆ ตัวหนึ่ง
โดยจะประกอบไปด้วยสองส่วน ส่วนที่ทำหน้าที่เป็น Server
และส่วนที่ทำหน้าที่ Client ส่วนที่ทำหน้าที่ Server
จะทำการรับข้อมูลเกี่ยวกับการจัดการคีย์บอร์ดและเมาส์จากทางฝั่ง Client
และมากระทำการบนส่วนบริการ GUI ของเครื่อง
ซึ่งอาจจะเป็นการใช้งานร่วมกันกับ GUI หลักของระบบ
(เช่นในระบบปฏิบัติการวินโดวส์ทุกรุ่น) หรืออาจจะมีการจำลอง GUI
เฉพาะกิจขึ้นมา (เช่นในระบบปฏิบัติการยูนิกซ์ และลินุกซ์
ที่จะมีการจำลองตนเอง
เป็น X เซอร์เวอร์ที่สามารถเชื่อมต่อกับตัว viewer ได้โดยตรง)
สำหรับส่วน Client
จะทำหน้าที่รับการกดคีย์บอร์ดและการจัดการเมาส์
เมื่อผู้ใช้ใช้งานกับหน้าต่างของ VNCViewer
เพื่อส่งไปยังเซอร์เวอร์ และทำหน้าที่รับชุดคำสั่งจากทาง Server
เพื่อนำมาทำการวาดภาพบน VNCViewer ต่อไป จุดเด่นที่ผู้ใช้งาน VNC
ต่างติดอกติดใจก็คือ VNC นั้นมีตัว Server และ Viewer
อยู่เกือบจะทุกแฟลตฟอร์ม นับตั้งแต่วินโดส์ทุกตระกูล
ลินูกซ์ ไปจนถึงยูนิกซ์
และทุกแฟลตฟอร์มสามารถใช้งานข้ามกันได้หมด (เช่น เปิด server ที่ ลินุกซ์
เพื่อมา View และทำงานบน XP เป็นต้น) นอกจากนี้ ยังเหมาะสมกว่าการใช้
XTerminal สำหรับลินุกซ์และยูนิกซ์
โดยเฉพาะบนเครือข่ายที่อาจจะมีการหลุดได้ตลอดเวลาอย่างอินเทอร์เน็ต
เพราะการเชื่อมต่อระหว่าง server กับ client ของ VNC
สามารถที่จะตัดการเชื่อมต่อ
และเชื่อมต่อเข้ากันใหม่ได้ตลอดเวลา
ดังนั้นเราสามารถปิดหน้าต่าง VNCViewer เมื่อใดก็ได้ แล้วไปเปิดใหม่ ณ
อีกเครื่องที่อาจจะอยู่คนละมุมโลก โดยที่ซอฟต์แวร์ต่างๆ
ที่รันจะไม่ได้รู้สึกถึงผลดังกล่าวเลย
แต่ VNC มีข้อเสียที่ร้ายแรงอยู่ตรงที่ข้อมูลที่ส่งไปกลับระหว่าง server
กับ client นั้นไม่ได้มีการเข้ารหัส การพิมพ์ข้อความใดๆ
จะส่งไปในลักษณะที่ถูกดักจับและวิเคราะห์ได้ง่าย
นี่จึงเป็นที่มาของแนวทางการนำเอาข้อมูลที่ส่งไปมาของ VNC
มาผ่านช่องทางของ Secure shell ในลักษณะของการทำ tunnelling
ขั้นตอนต่อไปนี้เป็นขบวนการเซ็ต Putty ซึ่งเป็น text terminal
โปรแกรมที่นิยมใช้กันมาก ในลักษณะของการทำ tunnelling พอร์ตของ VNC
ให้มาผ่าน SSH โดย VNCserver
รันอยู่บนเครื่องที่ใช้ระบบปฏิบัติการลินุกซ์ (หรืออื่นใด) แต่ VNCViewer
รันอยู่บนเครื่องที่ใช้ระบบปฏิบัติการวินโดวส์
ซึ่งผู้ใช้ส่วนมากมักจะใช้ลินุกซ์หรือยูนิกซ์เป็นเครื่องรีโมต
และทำงานทั่วไปบนเครื่องที่ใช้ระบบปฏิบัติการวินโดวส์
ขบวนการเซ็ตมีดังนี้ครับ
1. เปิดหน้าต่าง PuTTY Configuration ขึ้นมา จากนั้นเลือก Connection/SSH/Tunnels
เมื่อผมกด Add ก็จะได้ดังนี้
2. หลังจากนั้นผมเลือกที่ Connecttion/SSH เพื่อทำการเปิดโหมด compression โดยจะยอมให้มีการบีบอัดข้อมูลก่อนที่จะส่งผ่าน SSH ด้วย
3. กลับมาที่ Session เพื่อความสะดวก ผมว่าเราน่าจะเก็บค่าการเซ็ตนี้เอาไว้เสียหน่อย
เรากรอก IP หรือโดเมนของเครื่องปลายทาง (ที่รัน VNCServer) และเลือกโหมดการติดต่อเป็น SSH (พอร์ต 22) โดยการกดเลือกที่ radio button SSH
จากนั้นตั้งชื่อ Session เสียหน่อยครับ แล้วกด Save เป็นอันเสร็จพิธี
4. เวลาเราจะใช้งาน เมื่อเปิดโปรแกรม PuTTy เราก็เพียงแต่โหลด session ที่เราเก็บไว้ขึ้นมา แล้วก็ล็อกอินเข้าไปใน text terminal ตามปกติครับ ซึ่งเราจะต้องคงการเชื่อมต่อ text terminal ใน SSH โหมดนี้ไว้ตลอดเวลาที่เราใช้งาน VNCViewer ครับ (ถ้าเราล็อกเอาต์มาขณะที่ VNCViewer ทำงาน หน้าจอ text terminal จะยังคงค้างเติ่งอยู่ จนกว่าเราจะปิด VNCViewer
5.จากนั้น เรารัน VNCViewer แต่เวลาที่เราจะใส่ IP ของตัว VNCserver เราจะใส่ localhost หรือ 127.0.0.1 แทนครับ โดยค่าหมายเลขเทอร์มินัลจะเป็นไปตามพอร์ตที่เรา tunnel ไว้ตามที่กำหนดที่ Source port ในที่นี้เป็น 5901 ซึ่งตรงกับ localhost:1
6. เป็นอันเรียบร้อย VNCviewer เริ่มทำงาน อย่างในที่นี้ ผมได้เซ็ตให้ Xterminal ตัวที่ 1 (ตัวที่รันบนคอนโซลเป็นตัวที่ 0) รันตัว KDE ถ้าคุณเพิ่งรัน VNCserver ก่อนหน้าที่จะรัน VNCViewer เพียงเล็กน้อย คุณก็จะได้เห็นหน้าจอในขณะที่ KDE กำลังตรวจสอบและติดตั้งการทำงานต่างๆ ด้วยครับ
อ้อ... สำหรับคนที่ไม่คุ้นกับ VNC เนื่องจาก VNCserver ไม่ได้จัดการส่งข้อมูลเสียง และการจัดการระบบไฟล์ต่างๆ มายังเครื่อง client ดังนั้น KDE อาจจะเตือนว่า ไม่มีระบบเสียงอยู่ ซึ่งเราก็เพียงแต่ปิดไปครับ นั่นคือ KDE อีกตัวนี้จะไม่มีการติดต่อกับซาวน์การ์ดแบบตัวที่อยู่บน Xterminal หมายเลข 0 ครับ
0 ความคิดเห็น:
แสดงความคิดเห็น