วิธีการควบคุม Computer 2 เครื่อง โดยที่ไม่ต้องซื้ออุปกรณ์เพิ่มเติม

by paramai
20 April 2007 - 20:27

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

ผมกำลังจะแนะนำท่านให้ไปซื้ออุปกรณ์ KVM (Keyboard Video Mouse) หรือเปล่า? Nooooooo ไม่เลย ครับ ตำลึงเดียวก็ไม่เสีย

ผมกำลังจะแนะนำให้ท่านใช้ Remote Desktop? X? PC-Anywhere? VNC? ไม่ช่ายยย ครับ ง่ายกว่านั้น

โปรแกรมที่ท่านต้องการนั้นชื่อ Synergy ท่านสามารถเข้าไปดาวโหลดได้จาก website http://synergy2.sourceforge.net

สำหรับโปรแกรม Synergy นั้น จะทำงานแบบ client/server นั่นคือ ท่านจะต้องเลือกเครื่องคอมพิวเตอร์เครื่องหนึ่งเป็น client และอีกเครื่องเป็น server

ลองมาดูเครื่องคอมพิวเตอร์ของผมกันครับ

  • Iceball - Dell Latitude D800 Windows XP Professional SP2; IP Address 192.168.1.19
  • Crystalball - HP Compaq nw8000 Ubuntu 7.04 Feisty Fawn; IP Address 192.168.1.15

ปกติ ผมจะทำงานอยู่เครื่อง Iceball เพราะว่ายังต้องใช้ Microsoft Office ส่งงานอาจารย์อยู่ (แกบังคับให้ใช้) แต่อีกใจ ก็อยากจะลองๆ เล่นๆ Feisty Fawn ซึ่งกำลังมาแรงมากในขณะนี้ โดยเฉพาะ Desktop Effect ด้วย Beryl + Emerald บน ATI FireGL T2-128 มันทำให้ใจของผมร่วงระทวยจาก titlebar ลงไปอยู่ที่ taskbar จริงๆ ครับ

ไอ้จะไปซื้อ KVM มาเสียบกับ keyboard + mouse อีกชุด ที่โต๊ะทำงานของผม ก็มีที่ไม่พอที่จะวางคีย์บอร์ดอีกอัน และถ้าจะใช้คีย์บอร์ดแบบ external ผมก็จะรู้สึกว่า จอ notebook มันอยู่ไกลจนเกินไป ทำงานได้ไม่สะดวกเท่าไหร่ ดังนั้น อันจะใช้ PC-Anywhere, X, VNC, Remote Desktop ก็รู้สึกว่าอีกจอจะไม่ได้ใช้ประโยชน์เท่าไหร่ แถมยังเสียพื้นที่การทำงานของจอหลักไปอีก ผมจึงจะขอใช้ keyboard + mouse ของ Iceball ในการที่จะควบคุมเครื่อง Crystalball ล่ะครับ

สำหรับวิธีการนี้ ผมจะให้ Iceball ซึ่งเป็น Windows เป็น host และ Crystalball เป็น client สำหรับขั้นตอนง่ายๆ ก็มีดังต่อไปนี้

ขั้นตอนการติดตั้ง

1. ดาวโหลด Synergy Installer (SynergyInstaller-1.3.1.exe) มาลงที่ Iceball และติดตั้งให้เรียบร้อย

 

2. จากนั้นก็เรียกโปรแกรม Synergy

3. ท่านจะได้โปรแกรม Synergy ที่มีหน้าตาดังต่อไปนี้

ในกรณีที่ผมต้องการให้ Iceball เป็น server ดังนั้น ผมจึงเลือก option ที่ 2 "Share this computer's keyboard and house (server)" ในทางกลับกัน จะต้องเลือก "Use another computer's shared keyboard and house (client)" เพื่อให้เครื่องนี้เป็น client ครับ

สำหรับ Synergy นั้นจะมี 2 concepts ที่ท่านจะต้องสร้างขึ้นมานั่นก็คือ Screens และ Links

Screen จะเป็นชื่อที่ใช้แทนหน้าจอของเครื่องคอมพิวเตอร์เครื่องหนึ่ง ในกรณีนี้ผมมีสองเครื่อง ดังนั้นจึงต้องการ 2 Screens นั่นก็คือ Iceball และ Crystalball

Link จะเป็นรูปแบบการเปลี่ยนหน้าจอ ว่าเอาเมาส์ไปชี้ที่ส่วนไหนของ screen A แล้วจึงจะเปลี่ยนหน้าจอเป็น screen B

สำหรับ Windows นั้นจะสามารถสร้าง Screens & Links ได้ง่ายมาก เพราะว่ามี GUI ให้ แต่สำหรับ OSX และ Linux จะต้องสร้าง conf ขึ้นมาเองครับ

จากนั้นให้กดปุ่ม Configure ที่ option ที่ 2

4. สร้าง Screens ขึ้นมาสองอันก็คือ crystalball และ iceball

เมื่อท่านคลิกปุ่ม Configure หน้าต่าง Screens & Links จะถูกเปิดขึ้นมาดังรูป

(ในกรณที่ท่านมาที่หน้าจอนี้เป็นครั้งแรก ส่วน Screens และ Links จะไม่มีอะไรอยู่เลยครับ)

ให้่ท่านกดโดยการกดปุ่ม + ข้างใต้ Screens จะมีหน้าต่างโผล่ขึ้นมาดังรูป

ให้พิมพ์ iceball จากนั้นก็กด OK แล้วก็ทำซ้ำ เพื่อที่จะสร้าง screen "crystalball" ด้วยวิธีการเดียวกัน ส่วน options อื่นๆ ยังไม่ต้องไปสนใจมันครับ

5. สร้าง Link ขึ้นมา 1 อัน โดยกำหนดให้ crystalball อยู่เป็นหน้าจอที่อยู่ทางขวาของ Iceball

เนื่องจากผมวางเครื่อง Crystalball ไว้ทางขวา ผมจึงจะต้องสร้าง Link แล้วกำหนดให้ crystalball เป็น screen ที่อยู่ทางขวาของ iceball

จะสังเกตได้ว่าส่วน Links จะมีช่องให้กรอก/เลือกอยู่ทั้งหมด 7 ช่อง

ช่องที่ 1-2 : ความกว้างของ screen A ที่เมื่อเอาเมาส์ไปแตะ แล้วจะย้ายไปที่ screen B

ช่องที่ 3 : ตำแหน่งของ screen A (ซ้าย, ขวา, บน, ล่าง)

ช่องที่ 4 : ชื่อของ screen A

ช่องที่ 5-6 : ความกว้างของ screen B

ช่องที่ 7 : ชื่อของ screen B

ในกรณีที่ผมจะเลือกดังต่อไปนี้

จากนั้นให้กดปุ่ม + ที่อยู่ด้านล่างของส่วน Links

และกดปุ่ม OK เป็นการเสร็จสิ้นการปรับแต่ง iceball ครับ มาถึงขั้นตอนนี้ ให้ท่านกด Quit เพื่อออกจาก Synergy แล้วก็เรียก program synergy ขึ้นมาใหม่

คราวนี้ Windows Firewall จะถามว่า Synergy จะทำตัวเป็น host จะ unblock หรือไม่ ให้ท่านเลือกที่จะ Unblock ครับ ขั้นตอนนี้สำคัญมาก เนื่องจากถ้าท่านไม่ unblock synergy เครื่อง client จะไม่สามารถเข้ามาเชื่อมต่อได้ ให้ไปที่ Control Panel -> Windows Firewall และตรวจสอบดูที่ Tab Exception ว่ามีโปรแกรม Synergy อยู่

ถ้าไม่มีให้กดปุ่ม Add Program เพื่อเพิ่ม C:\Program Files\Synergy\synergys.exe หรือกด Add Port เพื่อเพิ่ม Port 24800

6. ติดตั้ง Synergy ที่ crystalball

สำหรับการติดตั้ง Synergy ที่ crystalball นั้นง่ายกว่ากันมาก เนื่องจาก crystalball เป็น linux ดังนั้นแค่สั่ง

$ sudo aptitude install synergy

ก็เสร็จสิ้นครับ

7. ทดสอบการทำงาน

ที่ Iceball ให้เปิดโปรแกรม Synergy จากนั้นให้กดปุ่ม Test เพื่อที่จะตราจสอบว่า Configuration ที่ตั้งไว้ถูกต้องหรือไม่ ท่านจะเห็น Log Window ที่จะแสดง message เมื่อท่านเลื่อน mouse ไปที่ด้านขวามือของจอ Iceball แต่ขณะนี้ท่านจะยังไม่สามารถควบคุม Crystalball ได้ เนื่องจากเครื่อง Crystalball ยังไม่ connect เข้ามา

ให้กดปุ่ม Start ที่ Iceball โปรแกรม Synergy Server จะลงไปอยู่ที่ System Tray

 ให้ไปที่เครื่อง Crystalball และใช้คำสั่ง

$ synergy -f --name crystalball 192.168.1.19 &

โดยที่ 192.168.1.19 เป็น IP Address ของ Iceball

เครื่อง Crystalball จะสามารถ connect มาที่ Iceball ได้

ถึงตอนนี้ ถ้าผมเลื่อน mouse ไปที่ขอบหน้าจอทางขวาของ Iceball ผมก็จะสามารถใช้คียบอร์ด และเมาส์ของ Iceball ในการควบคุม Crystalball ได้ครับ

เย้ !!-----

แต่ ... ถ้าผมเลื่อน mouse ไปทางขอบหน้าจอซ้ายมือของ Crystalball ... ทำไมถึงไม่สามารถกลับมาที่ Iceball ได้หว่า

คำตอบก็คือ ผมไม่ได้สร้าง Link ที่จะให้เป็นอย่างนั้นน่ะสิครับ ในกรณีนี้ ผมจะต้องสร้างอีก Link ให้

0-100% left of crystalball --> 0-100% right of iceball

จึงจะสามารถทำอย่างนั้นได้ครับ

สำหรับการเปลี่ยนแปลง configuration นี้ ท่านจะต้อง stop server ก่อนนะครับ

8. ใช้ Hotkey

ผมพบว่าการใช้ hotkey นั้นสะดวกกว่าการใช้เมาส์เยอะเลยครับ โดยที่หน้าจอ synergys (host) ท่านสามารถเลือกที่จะ configure "Hotkeys" ได้

ครับ บทความนี้ก็กำลังจะจบลงแล้ว หวังว่าท่านผู้อ่าน จะได้ประโยชน์อะไรติดคีย์บอร์ด ติดเมาส์ไปบ้าง สำหรับท่านที่มี Windows ทั้งสองเครื่องนั้น ท่านสามารถ เป็นตัว client ได้ง่ายๆ โดยการใส่ IP Address ที่ช่องด้านบนสุดครับ และสำหรับท่านที่ต้องการใช้ Linux เป็ host นั้น ท่านอาจจะต้องออกแรงนิดหน่อย เนื่องจากจะต้องสร้าง  synergy.conf ขึ้นมา โดยที่จะมีเนื้อหาคร่าวๆ ดังต่อไปนี้

section screens  iceball:  crystalball:endsection: links:  iceball:    right = crystalball  crystalball:    left = iceballend

ข้อควรรู้

  • ชื่อ screen ควรจะเป็นชื่อ hostname เนื่องจาก ผมทดลองใช้ชื่ออื่นที่ไม่ใช่ hostname (netbios name) แล้วไม่ work ครับ
  • สำหรับการ connect ด้วยคำสั่ง synergy -f --name crystalball <ip_address> & ที่ผมยกตัวอย่างนั้น process synergy client จะไม่จบการทำงาน เมื่อการเชื่อมต่อไปยัง server ถูกตัดขาด ตัว client (ในที่นี้คือ crystalball) จะพยายาม re-connect ไปที่ server ทุกๆ 1 นาที ดังนั้น ท่านไม่จำเป็นจะต้องสั่ง synergy -f --name crystalball <ip_address> อีกรอบหนึ่ง และถ้าท่านสั่งอีกรอบหนึ่ง ท่านจะได้รับ error message ว่า a client with name "crystalball" is already connected
  • ท่านไม่จำเป็นสร้าง Links ท่านสามารถใช้งาน synergy ด้วย Hotkeys อย่างเดียวได้
  • การใช้ Synergy เสี่ยงต่ออาการกล้ามเนื้อต้นคอเคล็ด
    โปรดระวัง ถ้าท่านยังหาอะไหล่คอสำรองไม่ได้

บทความนี้มาจาก เว็บไซต์ของผมเองครับ (www.paramai.net) พึ่งโพสครั้งแรก ฝากเนื้อ ฝากตัวด้วยครับ

Blognone Jobs Premium