ทดลองติดตั้ง Moonlight บน Ubuntu 7.04

Moonlight เป็นโครงการของทีมนักพัฒนา Mono ที่จะพัฒนาระบบทัดเทียมแบบเปิดต้นรหัส (opensource implementation) ที่เข้ากันได้กับรันไทม์ Silverlight  ของไมโครซอฟท์บนแพลตฟอร์มลินุกซ์ เนื่องจากในปัจจุบัน Silverlight สนับสนุนเฉพาะแพลตฟอร์ม Windows และ Mac OS X เท่านั้น ความน่าทึ่งของโครงการนี้อย่างหนึ่งได้แก่ การที่ทีมงานสามารถพัฒนา Moonlight ให้สามารถใช้งานได้ในขั้นต้นได้ในระยะเวลาเพียง ๒๑ วัน !

การติดตั้ง Moonlight ในขณะนี้จำเป็นต้องคอมไพล์จากต้นรหัส และต้องการ Mono 1.2.4 ในขณะที่ Mono ที่มาพร้อมกับ Ubuntu 7.04 นั้นเป็นรุ่น 1.2.3 อย่างไรก็ตามเราไม่จำเป็นต้องคอมไพล์ Mono จากต้นรหัสเองเนื่องจากมีผู้ทำแพกเกจสำหรับ Ubuntu รุ่น 7.04 ไว้ให้แล้ว

ขั้นตอนการติดตั้งที่จะกล่าวถึงต่อไป อาศัยข้อมูลจากหน้าเว็บดังต่อไปนี้ (ประสมกับการลองผิดลองถูกอีกเล็กน้อย)

ขั้นแรก เพิ่มบรรทัดข้างล่างนี้ลงในแฟ้ม /etc/apt/sources.list

deb http://www.viraptor.info/repo feisty-custombackports contribจากนั้น อัปเดตทั้งแหล่งแพกแกจและตัวแพกเกจด้วยคำสั่ง
$ sudo aptitude update
$ sudo aptitude dist-upgrade
เมื่ออัปเดตแล้วติดตั้งแพกเกจที่จำเป็นเบื้องต้น ได้แก่

ชุดคอมไพล์โปรแกรมและเอสวีเอ็น :
$ sudo aptitude install build-essential subversionMono:
$ sudo aptitude install mono libmono-dev mono-gmcs mono-mcsGTK+:
$ sudo aptitude install libgtk2.0-devFFmpeg: (อาจข้ามได้ถ้าต้องการติดตั้งจากต้นรหัส)
$ sudo aptitude install libavformat-dev libswscale-devALSA:
$ sudo aptitude install libasound2-devMozilla: เลือกลงแพกเกจ
$ sudo aptitude install libxul-devหรือ
$ sudo aptitude install libnspr-dev libnss-dev firefox-devสร้างสารบบสำหรับต้นรหัส
$ mkdir ~/svnดาวน์โหลดและคอมไพล์ติดตั้ง FFmpeg (ขั้นตอนนี้อาจข้ามได้หากติดตั้ง libavformat-dev และ libswscale-dev จากแพกเกจ)
$ cd ~/svn && svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
$ cd ~/svn/ffmpeg && ./configure --prefix=/usr/local && make && sudo make installดาวน์โหลดและคอมไพล์ติดตั้ง Olive
$ cd ~/svn && svn checkout svn://anonsvn.mono-project.com/source/trunk/olive olive
$ cd ~/svn/olive && ./configure --prefix=/usr && make && sudo make installขั้นตอนสุดท้าย ดาวน์โหลดและคอมไพล์ติดตั้ง Moonlight และปลั๊กอินสำหรับ Firefox
$ cd ~/svn && svn checkout svn://anonsvn.mono-project.com/source/trunk/moon moon
$ cd ~/svn/moon && ./autogen.sh --prefix=/usr && make && sudo make install && make test-pluginในระหว่างการคอมไพล์อาจพบว่าคอมไพเลอร์ไม่พบแฟ้มที่จำเป็นสำหรับการคอมไพล์ ให้หาแฟ้มที่ต้องการจากเว็บไซต์ค้นหาแพกเกจที่ http://packages.ubuntu.com/ จากนั้นติดตั้งแพกเกจที่มีแฟ้มดังกล่าว แล้วจึงคอมไพล์ใหม่อีกครั้ง

ทดสอบว่าปลั๊กอินใช้การได้ โดยเปิดยูอาร์แอลต่อไปนี้ด้วย Firefox

http://intertwingly.net/stories/2007/05/06/?icon=caution

จะเห็นการเปรียบเทียบระหว่างการวาดภาพกราฟิกแบบเวกเตอร์โดยใช้ Silverlight/Moonlight เปรียบเทียบกับเอสวีจีซึ่ง Firefox สนับสนุนโดยตรง

จากนั้นอาจลองเปิดตัวอย่างอื่น ๆ ในหน้า MoonlightShots และหน้า Community Gallery ของ Silverlight เพื่อทดสอบดูด้วย อย่างไรก็ตาม เนื่องจาก Moonlight ยังอยู่ในขั้นต้นของการพัฒนา จึงอาจแสดงผลไม่ตรงตามที่ควรจะเป็นหรือทำให้ Firefox ปิดตัวเองลง (crash) ได้

ความสามารถที่น่าสนใจอย่างหนึ่งของ Moonlight คือการที่เราสามารถเขียนโปรแกรมบน Moonlight ด้วยภาษาที่ .NET/Mono สนับสนุน ซึ่งเมื่อคอมไพล์แล้วสามารถรันบนเดสก์ท็อปได้โดยตรงในทำนองเดียวกับ Dashboard ของ OS X โดยใน Moonlight จะเรียกว่า Desklet (อ่านรายละเอียดได้จากบทความของ Ars Technica) ตัวอย่างของ Desklet จะอยู่ในสารบบ ~/svn/moon/desklet ซึ่งสามารถคอมไพล์และเรียกใช้ได้ด้วยคำสั่ง mopen ดังตัวอย่างข้างล่างนี้
$ cd ~/svn/moon/desklet/glassyclock && make
$ cd ~/svn/moon/desklet && mopen --desklet glassyclockจะได้ Desklet นาฬิกาแบบเข็มที่คอมไพล์จากสารบบ ~/svn/moon/desklet/glassyclock การเรียกใช้ Desklet อื่น ๆ ก็เป็นไปในทำนองเดียวกัน

เท่าที่ได้ลองทดสอบดู รู้สึกประทับใจในความสามารถของ Moonlight (โดยเฉพาะอย่างยิ่งความง่ายของการพัฒนา Desklet) มากทีเดียว น่าติดตามว่าทิศทางการพัฒนาของโครงการนี้จะเป็นอย่างไรต่อไป

Technorati Tags: , , ,

Powered by ScribeFire.

»

Comments

ต้องลองบ้างซะแล้ว

ขอไปลง Blognone หน่อยสิพี่