ทำดิสโทรใช้เองด้วย remastersys ตอนสุดท้าย
ตอนสุดท้ายกับการทำดิสโทรใช้เองด้วย remastersys
สำหรับตอนที่ 1 อ่านได้ที่ http://www.ubuntuclub.com/node/1549
สำหรับตอนที่ 2 อ่านได้ที่ http://www.ubuntuclub.com/node/1551
เนื่องจากเนื้อหาของการปรับแต่งมีมาก อาจจะเพียงกล่าวและยกตัวอย่างสั้นๆ เป็นคอนเซ็ปต์ในการศึกษาและทดลองทำนะครับ ทั้งนี้เมื่อมีประสบการณ์การปรับแต่งมากขึ้นก็จะสามารถสร้างดิสโทรในแบบที่ต้องการตรงใจยิ่งขึ้น
โดยตอนนี้จะกล่าวถึง
- สิ่งที่ควรรู้ก่อนปรับแต่ง
- การปรับแต่งอย่างง่ายด้วยการคัดลอกไฟล์ไว้ใน /etc/skel
- ตัวอย่างการปรับแต่งระดับค่าคอนฟิค
1.สิ่งที่ควรรู้ก่อนปรับแต่ง
1.1 โฟลเดอร์ CDFS ที่ Remastersys สร้างไว้ยู่ที่ไหน
ดูจากส่วนที่กำหนดไว้ใน Remastersys > Modify > Working Directory
เข้าไปยังโฟลเดอร์ที่กำหนดไว้ให้เป็น Working Directory และหาโฟลเดอร์ที่ชื่อ ISOTMP
ไฟล์ระบบซึ่ง Remastersys ทำการสำรองจะอยู่ที่นั่น
1.2 รู้จักที่อยู่ของไฟล์ระบบที่สำคัญๆ ที่เกี่ยวกับการปรับแต่ง
แม้ว่าจะไม่จำเป็นต้องรู้ถึงระบบทั้งหมดถึงจะปรับแต่งได้ หากมีเวลาศึกษาก็สามารถลงรายละเอียดได้ว่าจะปรับแต่งอะไรบ้างก็จะเป็นประโยชน์ครับ
/etc
/etc/skel
/usr/share
ตัวอย่างกลุ่มโฟลเดอร์ที่เก็บข้อมูลเกี่ยวกับรูปลักษณ์
/usr/share/icons
/usr/share/themes
/usr/share/backgrounds
/usr/share/fonts
โฟลเดอร์ที่เกี่ยวกับค่ารีจิสทรีของโปรแกรมต่างๆ
/usr/share/gconf
**ข้อควรจำ หากต้องแก้ไขไฟล์หรือโฟลเดอร์ใดๆ ที่อยู่ในที่นอกเหนือจาก /home ของเราแล้วนั้น จะต้องใช้สิทธิผู้ดูแลระบบเสมอ**
1.3.วิธีตรวสอบว่าแต่ละแพกเกจมีโครงสร้างอยู่ตรงไหนในไฟล์ระบบ
dpkg -L ชื่อแพกเกจ
การใช้ dpkg -L มีประโยชน์ในการหาที่อยู่ของไฟล์ต่างๆ ซึ่งเป็นของแพกเกจนั้นๆ นำมาซึ่งการคอนฟิคได้อย่างถูกที่
2.การปรับแต่งอย่างง่ายด้วยการคัดลอกไฟล์ไว้ใน /etc/skel
เมื่อทำดิสโทรหรือแบคอัพด้วย remastersys จะพบปัญหาหนึ่ง คือ live CD/DVD ที่ทำไว้ไม่จำค่าคอนฟิคเดิม ปัญหานี้เกิดขึ้นเพราะ ค่าคอนฟิคต่างๆ ของ Ubuntu จะคืนสู่ค่าปริยายทั้งหมด
การปรับแต่งค่าโดยปรับแต่งจาก /etc หรือ /usr/share ทั้งหมดอาจเป็นเรื่องยาก แต่เราสามารถเขียนทับค่าปริยายคอนฟิคต่างๆ ที่เราทำกับเครื่องต้นฉบับไปสู่ live CD/DVD ที่เราสร้างขึ้นอย่างง่ายๆ ด้วยการคัดลอกค่าคอนฟิคที่เกิดขึ้นภายใน /home/ยูสเซอร์/.โฟลเดอร์ หรือ .ไฟล์คอนฟิค ไปไว้อยู่ใน /etc/skel
ให้ลองเปิด nautilus file manager ขึ้นมาดู แล้วเข้าสู่ Home folder ของเรา กด Ctrl+H จะพบว่ามีโฟล์เดอร์ และไฟล์ที่ขึ้นต้นด้วย "." อยู่ โฟลเดอร์และไฟล์เหล่านี้เป็นไฟล์ที่ถูกซ่อนไว้จากการมองเห็น ซึ่งมักจะเป็นที่เก็บค่าคอนฟิคของโปรแกรมต่างๆ เฃ่น
.conf
.local
.ชื่อโปรแกรม
การคัดลอก ทำโดยเปิด nautilus ด้วยสิทธิผู้ดูแลระบบ หรือจะใช้ terminal คัดลอกไฟล์หรือโฟลเดอร์เหล่านั้นไปยัง > ไฟล์ระบบที่ remastersys สร้าง/etc/skel
หลักการทำงานของ /etc/skel มีดังนี้คือ เมื่อมีการ add user ใหม่ ไม่ว่าจะเป็นระบบ live หรือระบบที่ติดตั้งใช้อยู่ โปรแกรม adduser จะคัดลอกข้อมูลจาก /etc/skel ไปสู่โฟลเดอร์ใหม่นั้นด้วย
เท่านี้ค่าคอนฟิคที่ต้องการจะอยู่ในโฟลเดอร์ของเรา ระบบจะอ่านจากค่าเหล่านี้เป็นลำดับแรก แต่การปรับแต่งระดับ /etc/skel อาจจะหายไปหากเผลอทำการลบข้อมูลที่อยู่ใน "." โดยไม่ตั้งใจ ถ้าเป็นไปได้การปรับแต่งจากที่อยู่จริงของค่าคอนฟิคจะแก้ปัญหานี้
**tricks: หากยังไม่เข้าใจระบบดีนัก ให้ใช้การปรับแต่งแบบคัดลอกค่าคอนฟิคลงใน /etc/skel เป็นวิธีที่ง่ายสุดครับ**
3.ตัวอย่างการปรับแต่งระดับค่าคอนฟิค
3.1. /usr/share/gconf/defaults/
ค่าคอนฟิคของ panel อยู่ที่ 05_panel-default-setup.entries
ค่าทั่วไปของ gnome desktop อยู่ที่ 10_libgnome2-common
ในนี้สามารถปรับแต่งรูปลักษณ์ได้ทุกอย่างให้เป็นค่าตั้งต้น
3.2. /usr/share/gnome-background-properties
ชุด wallpapers ที่เห็นนั้น ถูกควบคุมไฟล์ XML ที่อยู่ในนี้ เราสามารถสร้างเพิ่มและเลียนแบบเพื่อสร้างชุด wallpapers ในแบบของเราได้
3.3. chroot เข้ายัง CDFS เพื่อปรับแต่งบางด้านที่ใช้การคอนฟิคแบบธรรมดาไม่ได้
sudo mount --bind /dev/pts /path/to/CDFS /dev/pts
sudo chroot /path/to/CDFS
<chroot prompt>
#เซ็ตค่าปริยายเกี่ยวกับการสลับภาษาแต่กำเนิด
dpkg-reconfigure console-setup
#ทำให้ gedit อ่านภาษาไทยที่เข้ารหัส TIS-620 ได้เลย
gconftool-2 --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type list --list-type string \
--set /apps/gedit-2/preferences/encodings/auto_detected [UTF-8,TIS-620,CURRENT,ISO-8859-15,UTF-16]
#แสดงธงชาติเวลาสลับภาษา แต่ต้องไปแก้ค่า panel ให้แสดง KeyboardApplet ด้วย
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type bool --set /desktop/gnome/peripherals/keyboard/indicator/showFlags true
#หากอยากจะติดตั้ง/ถอดถอนโปรแกรมใน chroot
aptitude
<การออกจาก chroot>
umount -l /proc
umount -l /dev/pts
exit
.....
ส่งท้าย: PE/XE/PB ไม่ได้มีความลับอะไรเลย นอกจากการปรับแต่งจาก Ubuntu ดังนั้นถ้ารู้จักปรับแต่ง ก็จะได้ดิสโทรตามวัตถุประสงค์ในรูปลักษณ์ที่ต้องการ เพื่อคุณจะได้ดิสโทร "ใช้ที่ชอบ" เริ่มจากการปรับแต่งในแบบของคุณเอง ไม่ต้องรอใคร
Teddy
Comments
uchaitu
26. November 2009 - 8:39
Permalink
Thank
poohja
26. November 2009 - 12:29
Permalink
ขอบคุณครับท่าน
minstrel
26. November 2009 - 12:36
Permalink
ขอบคุณครับ
dahoba
27. November 2009 - 15:15
Permalink
แท้งกิ้วหลายๆคับคุณ Teddy