ทำดิสโทรใช้เองด้วย 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

Thank

ขอบคุณครับ

ขอบคุณครับท่าน

ขอบคุณครับท่าน เดี๋ยวลองดูแล้วกันครับ ขอบคุณมากๆเลยครับ

ขอบคุณครับ

ขอบคุณครับแต่ผมคงไม่ลองหรอก อิอิ ไม่ค่อยมีฝีมือรอใช้ของคุณ TrendyTeddy สบายกว่า เอา 9.10 ไปลงของตัวเองและของลูกชาย (7 ขวบ) ตอนนี้ติดเกมส์งอมแงม

    ผมพยายามทำ distro สำหรับ office ผมอยู่พอดีเลยครับลองเล่น remastersys เอาออกมาเป็น iso บู๊ตแล้วค้างเลย T_T มาเจอบทความคุณ Teddy ก็ตอนนี้ปาเข้าไปตอนที่สามแล้ว  ตามอ่านแล้วเข้าใจ remastersys ขึ้นอีกเยอะเลย รวมถึงการ build from scratch ด้วยแท้งกิ้วหลายๆคับคุณ Teddy