คอมไพล์ GNOME ใช้เองด้วย JHBuild - วางแผน

จัดให้ตามคำขอครับ สำหรับผู้สนใจใช้ GNOME แบบ bleeding edge ซึ่งมีหลายวิธี ตามดีกรีความเป็น geek ของคุณ: บทความนี้จะอธิบายวิธีที่ใช้ JHBuild นะครับ

วางแผนกันก่อน

การติดตั้ง GNOME จาก SVN snapshot ไว้ใช้งาน อาจจะอันตรายเกินกว่าจะเอางานในชีวิตประจำวันเข้าไปเสี่ยงด้วย จึงควรพิจารณาแยกรุ่น โดยใช้ GNOME ที่เสถียรจาก distro ทำงาน แต่แยก GNOME จาก SVN ไว้ทดสอบต่างหาก โดยขอแนะนำว่าอย่าใช้ root account หรือ sudo คอมไพล์และติดตั้ง เพราะความผิดพลาดในการ configure เพียงเล็กน้อย อาจทำให้ระบบคุณมั่วได้ ทางที่ดี ควรสร้างไดเรกทอรีสำหรับ user ธรรมดาไว้รองรับ และ build ในฐานะ user ธรรมดาเท่านั้น ซึ่งก็มีทางเลือกต่าง ๆ เช่น: เอาล่ะ อ่านแล้วเลือกวิธีที่คุณชอบละกัน ตามความเห็นของผม คิดว่าวิธีสุดท้ายนี่แหละ ที่มีปัญหาน้อยที่สุด จากประสบการณ์ที่ผ่านมา โดยมีเกร็ดอีกอย่างหนึ่งคือ คุณไม่จำเป็นต้อง logout เพื่อเข้าไปทดสอบในอีก account หนึ่ง แต่สามารถสลับผู้ใช้โดยเลือก switch user ที่ logout dialog หรือใช้แอพเพล็ตสลับผู้ใช้ (fast-user-switch-applet) เพื่อล็อกอินในอีกดิสเพลย์หนึ่งได้ หรือจะเรียกใช้ gdm ในหน้าต่างซ้อน (Xnest/Xephr) เลยก็ได้ ซึ่งสำหรับกรณีหลัง ก็เพียงแต่เรียกเมนู Applications > System Tools > New Login in a Window หรือสั่งจาก command line:
$ gdmflexiserver --Xnest
ประเด็นหนึ่งที่คุณจะพบก็คือ เรื่องของ dbus กล่าวคือ โดยปกติ JHBuild จะ build dbus, hal, avahi จาก source ให้ ซึ่งอาจเป็นคนละรุ่นกับ distro แต่ปัญหาก็คือ distro จะเปิด dbus, hal, avahi daemon เอาไว้อยู่แล้ว และบ่อยครั้งที่โปรแกรมที่ config ไว้ให้คอมไพล์กับคนละรุ่นจะทำงานกับ daemon เหล่านี้ไม่ได้ ผลคือเรียกโปรแกรมไม่ขึ้น หรือโปรแกรม crash ไปเฉย ๆ เรื่องแบบนี้ report bug ก็ไม่ได้ด้วย เพราะเป็นความผิดของเราเอง วิธีแก้คือ config JHBuild ให้ไปใช้ dbus ของระบบเสีย ไม่ต้อง build เอง รายละเอียดจะกล่าวต่อไป ตอนหน้ามาลงมือกันครับ