CoLinux

อัดรูปดิจิตอล ทำสมุดภาพของคุณเอง
รอรับได้. ท่องเที่ยว แต่งงาน ฯลฯ

www.tanabutr.co.th/photobook


ลูกผสม Debian Release

รู้สาเหตุแล้วว่าทำไมเมื่อวาน apt-get แล้วระบบเจ๊งไป. ความจริงคือระบบนั้นเป็น image ของ Debian ที่มาจากไซด์ของ coLinux แล้วผมเอามาใช้. เจ้า image นี้มันเก่าครับ. กะจะให้มันเป็น stable แต่สามารถเลือกลงแพ็กเกจจาก testing มาได้เมื่อต้องการ. อ่านจาก google หลายๆที่ก็ไม่มีเหตุผลแน่ชัด, แต่เห็นมีคนบอกว่าอาจเกิดจากแพ็กเกจเก่าเกินไป.

เหตุที่ใช้ coLinux

  1. รักพี่เสียดายน้่อง -> ชอบ Linux แต่ยังต้องใช้ Windows ด้วย (ใครเป็นพี่เป็นน้อง)
  2. เคยมีปัญหาเรื่อง soft modem, sound (jwz ก็มีเลยเปลี่ยนไปใช้ Mac OS X แทน linux desktop), ปัญหาฮาร์ดแวร์อื่นๆกับลินุกซ์ -> ยอมแพ้ (บางทีก็ต้องรู้จักยอมแพ้บ้าง)

จัดระเบียบ ssh, smbfs ใน coLinux

วันก่อน mount โฟลเดอร์ c:\cygwin\home\poonlap ไปไว้ที่ /home/poonlap โดยใช้ samba. ใช้ได้ไม่นานก็พอว่ามันไม่ดีเท่าไรนัก. คือในโฟลเดอร์ c:\cygwin\home\poonlap ก็มีไฟล์ตั้งค่าเริ่มต้นต่างๆของเชลล์บ้าง, X บ้าง, ssh บ้าง ซึ่งมันไปตีกัน. เลยจับแยกดีกว่า.

อ่านเขียนไฟล์ใน Windows จาก coLinux

พอใช้ coLinux ไปเรื่อยก็เริ่มมีความจำเป็นที่จะต้องถ่ายโอนข้อมูลระหว่าง coLinux กับ Windows. ตรงนี้ก็มีหลายวิธี. เอาแบบสะดวกสุดก็เป็น bash shell ของ cygwin บนวินโดวส์ออกมาแล้ว scp หรือ sftp ถ่ายโอนไฟล์ไปให้ coLinux. แต่ถ้าต้องมีการถ่ายโอนไฟล์บ่อยๆวิธีนี้ก็จะไม่มีประสิทธิภาพ.

แป้นพิมพ์ภาษาไทยใน XWin

ปรกติชอบใช้ dia เขียน flow chart. และช่วงนี้ก็ใช้วินโดวส์เสียเป็นส่วนใหญ่เลยเอา dia ที่รันบนวินโดวส์มาใช้ แล้วก็เจอปัญหาว่ามันไม่เสถียร memory allocation error บ้างทำให้สิ่งที่วาดๆไปหายไปกับสายลม. เลยนึกได้ว่าน่าใช้ dia ที่อยู่ใน coLinux ซึ่งมันต้องเสถียรกว่าอยู่แล้วเพราะเป็นต้นตำหรับ. แต่ก็เจอปัญหาเรื่องแป้นพิมพ์ภาษาไทย.

coLinux ตอนที่ 5 - service ใน Windows

แต่ก่อนก็รัน coLinux จากบรรทัดคำสั่ง มันค่อยข้างน่าเบื่อหน่ายนะต้องย้ายไดเรกทอรีไปที่ c:\colinux แล้วก็สั่งคำั่ง colinux-daemon.exe -c default.colinux.xml. ไปอ่าน blog ของ Satoru Takahashi (Namazu search engine) เขาก็ใช้ coLinux เหมือนกันและบอกว่า coLinux แบบเป็นเซอร์วิสบนวินโดวส์ที่มันเนียนมากๆ เหมือนกับว่ามีลินุกซ์อยู่อีกเครื่องที่ใดที่หนึ่งโดยที่ไม่รู้สึกขัดๆเลย. ผมลองใช้ coLinux ให้เป็นเซอร์วิสบนวินโดวส์ก็นานพอควรแล้วก็ต้องขอบอกว่าจริง เนียนมากๆ เปิดเครื่องวินโดวส์มาก็ได้ลินุกซ์เปิดเครื่องขึ้นมาด้วย. พอจะใช้ลินุกซ์ก็เปิดเทอร์มินอลของ cygwin แล้ว ssh เข้าไป. พออยากใช้โปรแกรมที่เป็นแบบกราฟิกก็แค่ตั้ง DISPLAY ให้ส่งหน้าต่างมากที่ XWin ซึ่งผมก็ทำเป็นเซอร์วิสไว้ด้วย. ถ้าต้องการคอนโซลของ coLinux ก็ดับเบิ้ลคลิ้กที่ colinux-console-fltk.exe.

coLinux ตอนที่ 4 - X Windows

คราวนี้มาถึงตอนสำคัญของ coLinux คือการใช้ X window โดยให้แสดงผลมาที่เครื่องวินโดวส์. ใน coLinux Wiki ก็มีเขียนไว้แล้วว่าใช้ VNC หรือ X เซิร์ฟเวอร์ก็ได้. ในกรณีจะใช้ X เซิร์ฟเวอร์ของ cygwin ที่เรียกว่า XWin ครับ. ก็เคยแนะนำวิธีการรัน XWin ให้เป็น service ของวินโดวส์ไปแล้วก็จะเอามาใช้กับ coLinux. ส่วนที่จะต้องเตรียมในครั้งนี้คือส่วนของ coLinux เองว่าต้องติดตั้งแพ็กเกจอะไรบ้าง.

coLinux ตอนที่ 3 - อัปเดทซอฟต์แวร์

ต่อจากตอนที่แล้ว หลังจากที่ติดตั้ง coLinux และเซ็ตเน็ตเวิร์กให้มันต่อเน็ตได้แล้ว. วันนี้ก็จะมีพูดถึงเรื่อง Debian ที่มันอยู่ coLinux ว่าจะอัปเดทโปรแกรมอย่างไรดี.

Debian ที่มากับ coLinux เป็น Debian 3.0 ซึ่งมันเก่าแล้วและแพ็กเกจต่างๆที่อยู่ coLinux ก็เป็นแบบพอเพียงสุดๆคือมีแค่แพ็กเกจที่พอให้มันรันลินุกซ์ได้. ถ้าจะใช้งานจริงๆต้องอัปเดทและติดตั้งแพ็กเกจกันอีกค่อนข้างเยอะ. วิธีการอัปเดทแพ็กเกจในเดเบียนก็รู้ๆกันอยู่ว่าใช้ apt-get แต่ก่อนที่จะสั่งคำสั่งเหล่านั้นเราเตรียมระบบให้พร้อมก่อนที่จะอัปเดท.

coLinux ตอนที่ 2

อาทิตย์ที่แล้วแนะนำ การติดตั้ง coLinux ไปแล้ว, ส่วนวันนี้จะมาดูเรื่องการปรับแต่งต่างๆไปเรื่อยๆครับ.

ตัว coLinux มันจะมีเน็ตเวิร์กอินเทอรเฟส eth0 และก็มี IP เป็น 192.168.0.40 ตั้งไว้ให้เรียบร้อยแล้ว. ตรงนี้ให้ลองเช็คในไฟล์ /etc/network/interface ใน coLinux ดูก็ได้. อินเทอร์เฟส eth0 นี้จะเชื่อมต่อกับ TAP Win32 ของวินโดวส์. ถ้าเราตั้ง IP ให้ TAP Win32 บนวินโดวส์เป็น 192.168.0.x ก็จะทำให้วินโดวส์กับ coLinux ติดต่อกันได้ (คือตั้ง IP ให้อยู่ในวงเดียวกัน). สมมติว่าเราตั้งค่าให้ TAP Win32 มี IP เป็น 192.168.0.1 จาก command prompt ของวินโดวส์ก็จะ ping ไปหา coLinux ได้.

C:\Documents and Settings\poonlap>ping 192.168.0.40

Pinging 192.168.0.40 with 32 bytes of data:

Reply from 192.168.0.40: bytes=32 time=7ms TTL=64
Reply from 192.168.0.40: bytes=32 time<1ms TTL=64
Reply from 192.168.0.40: bytes=32 time<1ms TTL=64
Reply from 192.168.0.40: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.0.40:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 7ms, Average = 1ms

ให้ระวังเรื่อง Firewall ของวินโดวส์ด้วยไม่เช่นนั้นอาจจะ ping แล้วไม่มีการตอบกลับ.

การเน็ตเวิร์กแบบนี้เป็นการติดต่อกันระหว่างเครื่อง Windows กับ coLinux เท่านั้น, ถ้าจะให้ coLinux ติดต่อเน็ตเวิร์กใช้อินเทอร์เน็ตก็มีอยู่สองวิธีคือ bridge กับ NAT. ในที่นี้จะแนะนำวิธี NAT เพราะง่ายดี. วินโดวส์ XP มีความสามารถให้แชร์เน็ตเวิร์กผ่านตัวมันเองอยู่แล้วโดยการเลือกอินเทอร์เฟสที่เป็นตัวแชร์ เช่นผมอยากให้ coLinux ใช้เน็ตเวิร์กออกไปข้างนอกผ่าน wireless อินเทอร์เฟสก็ไปคลิ้กขวาที่ connection ของ wireless, เลือก properties ไปที่แท็บสุดท้ายเลือกให้แชร์เน็ตเวิร์กไปให้ TAP Win32 ก็ OK. เสร็จแล้วตัววินโดวส์จะตั้งค่า IP ของ TAP Win32 ให้เป็น 192.168.0.1 โดยอัตโนมัติ. ตรงเน็ตเวิร์กคอนเน็คชันก็มีรูปมือแสดงด้วยว่าแชร์เรียบร้อยแล้ว.

อินสตอลล์ coLinux

หลายวันก่อนเขียนไปแล้วว่ามีหลายวิธีที่จะรันลินุกซ์บนวินโดวส์ และหนึ่งในนั้นคือใช้ coLinux.

พูดง่ายๆ coLinux คือโปรแกรมวินโดวส์ที่สามารถรันตัวลินุกซ์เคอร์เนลที่ได้รับการปรับแต่งมาแล้ว. มันจะต่างกับ VMware หรือ QEMU ซึ่งโปรแกรมพวกนั้นจะจำลองการทำงานของหน่วยประมวลผล ฯลฯ. สรุปคุณสมบัติคร่าวๆได้ว่า