จัดให้ตามคำขอครับ สำหรับผู้สนใจใช้ GNOME แบบ bleeding edge ซึ่งมีหลายวิธี ตามดีกรีความเป็น geek ของคุณ:
บทความนี้จะอธิบายวิธีที่ใช้ JHBuild นะครับ
การติดตั้ง GNOME จาก SVN snapshot ไว้ใช้งาน อาจจะอันตรายเกินกว่าจะเอางานในชีวิตประจำวันเข้าไปเสี่ยงด้วย จึงควรพิจารณาแยกรุ่น โดยใช้ GNOME ที่เสถียรจาก distro ทำงาน แต่แยก GNOME จาก SVN ไว้ทดสอบต่างหาก โดยขอแนะนำว่าอย่าใช้ root account หรือ sudo คอมไพล์และติดตั้ง เพราะความผิดพลาดในการ configure เพียงเล็กน้อย อาจทำให้ระบบคุณมั่วได้ ทางที่ดี ควรสร้างไดเรกทอรีสำหรับ user ธรรมดาไว้รองรับ และ build ในฐานะ user ธรรมดาเท่านั้น ซึ่งก็มีทางเลือกต่าง ๆ เช่น:
$HOME/gnome-svn (ตั้งชื่อกันเอาเองนะครับ ถ้าไม่ชอบชื่อ gnome-svn) แล้วใช้ jhbuild shell เรียกโปรแกรมเป็นรายตัวไป วิธีนี้ใช้ในกรณีที่คุณสนใจโปรแกรมเป็นตัว ๆ ไป ไม่ได้อยากดูหน้าตาเดสก์ท็อปทั้งหมด แต่ระวังว่ามีบางโปรแกรม เช่น gedit, epiphany ที่จะตรวจหา instance ที่มีอยู่ก่อนเรียก instance ใหม่ ซึ่งถ้ามี instance เดิมอยู่ คุณจะได้หน้าต่างของโปรแกรมรุ่นของ distro ไม่ใช่รุ่นของ SVN $HOME/gnome-svn แล้วใช้ X session เรียก GNOME รุ่น SVN เอาขณะล็อกอิน วิธีนี้ก็เป็นไปได้ แต่ไม่ขอแนะนำ เพราะหลายครั้งที่โปรแกรมรุ่นใหม่มีการเปลี่ยนแปลงวิธี config ถ้าคุณใช้วิธีนี้ ข้อมูล gconf ของคุณจะถูกใช้ร่วมกันระหว่าง GNOME จาก distro กับ GNOME รุ่น SVN และอาจตีกันเองได้บ่อย ๆ $HOME เช่น /opt/gnome-svn หรือ /home/gnome-svn (ผมใช้อย่างหลัง เพราะได้แบ่งพาร์ทิชันสำหรับ /home ไว้ แต่ไม่ได้เตรียมเนื้อที่สำหรับ /opt ไว้) โดย chown ให้เป็นของ user ที่สั่ง build จากนั้น สร้าง user account ต่างหากเพื่อใช้เรียก GNOME จาก svn โดยเฉพาะ วิธีนี้มีข้อดีคือ คุณสามารถละเลงทุกอย่างในเดสก์ท็อปของคุณได้ระหว่างทดสอบ พังก็ลบทิ้งสร้างใหม่ได้ โดยไม่รบกวนงานปกติของคุณ เอาล่ะ อ่านแล้วเลือกวิธีที่คุณชอบละกัน ตามความเห็นของผม คิดว่าวิธีสุดท้ายนี่แหละ ที่มีปัญหาน้อยที่สุด จากประสบการณ์ที่ผ่านมา โดยมีเกร็ดอีกอย่างหนึ่งคือ คุณไม่จำเป็นต้อง 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 เอง รายละเอียดจะกล่าวต่อไป
ตอนหน้ามาลงมือกันครับ
Post new comment