Monday, October 25, 2004

หัดเล่น Linux: Knoppix Debian ThaiLatex

มองดูรอบๆตัว ไม่ค่อยมีเครื่อง Linux เหลืออยู่แล้ว วันก่อนเครื่องล่าสุด precision ที่เคยอยู่ใต้โต๊ะ ก็ถูกย้ายไปอยู่โต๊ะอื่นเรียบร้อย แล้วเอาเครื่อง Gateway Athlon (Windows XP) มาวางแทน เวลาจะเล่น precision ก็ใช้ ssh เอา เพราะบน Linux ส่วนมากใช้เขียนโปรแกรมหรือไม่ก็ทำ Server ไม่ค่อยได้ใช้ Desktop App ฯลฯ เท่าไร

ก็เลยไม่ค่อยคุ้นเคยกับ Desktop ของ Linux ระยะหลังๆแล้ว ฟอนต์ไทยมีอะไรบ้างก็ไม่รู้ ภาษาไทยหรือ Thai Latex ใช้ยังไงก็ไม่รู้ (แต่ก็ยังมีคนเมล์มาถาม) ตอนนี้ไม่ค่อยรู้เรื่องแล้วว่าใน TLWG เขาคุยอะไรกัน

TryLinux

พอดีได้ Notebook เก่าๆของ Dell (Latitude P3-650, 384MB) คืนมาเครื่องหนึ่ง ข้อมูลเดิมไม่มีอะไรจำเป็นต้องเก็บ วันศุกร์ที่แล้ว Otto เอาแผ่น Thai Knoppix 3.6 มาให้ บอกว่าให้ลองดู ก็เลยจัดการติดตั้งลงเครื่องนี้ซะเลย

  1. บูทด้วย Thai Knoppix 3.6 เรียบร้อยไม่มีปัญหา เสียงออก X11 ขึ้น
  2. สั่ง knoppix-install จัดการแบ่ง Partition ใหม่ เลือกชื่อ User ตั้งรหัสผ่าน ตั้งชื่อเครื่องว่า TryLinux จากนั้นก็รอให้มันคัดลอกไฟล์
  3. ติดตั้งเสร็จเรียบร้อยก็รีบูท
ตัวเมนูของ LILO ตอนบูทขึ้นมา มีตัวเลือกให้เลือกสามตัว คือ
  1. Linux
  2. Linux 2.4-1
  3. Linux 2.6-2
(เพิ่งมาดูแล้วรู้ทีหลังว่า Linux ก็คือ Symlink ไปที่ Linux 2.4-1 นั่นแหละ)

บูทครั้งแรกก็ลอง 2.6 เลยละกัน ทุกอย่างดูเหมือนจะใช้งานได้เรียบร้อยดี เอาเมาส์ USB เสียบ (หลังจากที่ X11 ขึ้นมาเรียบร้อยแล้ว) ก็ใช้งานได้ดี

ลอง apt

Otto บอกให้ไปแก้ไฟล์ /etc/apt/sources.list จัดการเอา Comment ออก ณ บรรทัดที่ต้องการ เห็นมี stable, test, unstable แตกต่างกันยังไงไม่รู้เหมือนกัน เลือก unstable ละกัน น่าจะตื่นเต้นดี

พยายามเปลี่ยน shell จาก bash ให้เป็น tcsh (ใช้ตัวนี้มานานจนไม่อยากเปลี่ยน อีกอย่างใช้ bash กะเขาก็ไม่เป็น) ปรากฏว่า Knoppix TH นี่ไม่มี tcsh มาให้แฮะ ก็เลยต้องลอง "apt-get install tcsh" รอสักพักก็ได้ tcsh แถมมีข้อความบอกว่ามีปัญหาอะไรไม่รู้ ให้แก้โดยพิมพ์ "apt-get update" ก็ทำตาม

ก่อนหน้านี้เคยใช้แต่ Redhat เป็นประจำ คุ้นเคยกับคำสั่ง rpm, up2date, หรือ yum (ใน Fedora) มากกว่า พอมาเล่น apt จำได้ว่า Otto บอกว่าใช้ dpkg แทน rpm เลยต้องเปิด "man dpkg" มาอ่านพักนึง สรุปสิ่งที่รู้เพิ่มขึ้นมาว่า

  • ถ้าอยากรู้ว่ามี Package อะไรติดตั้งอยู่บ้าง (rpm -qa) ให้สั่ง dpkg -l
  • ถ้าอยากรู้ว่ามี Package นั้นมีไฟล์อะไรบ้าง (rpm -ql pkgname) ให้สั่ง dpkg -L pkgname
  • ถ้าอยากรู้ว่าไฟล์นี้อยู่ใน Package ไหน (rpm -qf filename) ให้สั่ง dpkg -S filename
ได้สามคำสั่งแล้วก็เริ่มสำรวจว่ามีอะไรที่เป็น thai บ้างโดย "dpkg -l | grep -i thai" เห็นมี thailatex ด้วย ลองสั่ง "dkpg -L thailatex" ดู อ้าวมีไม่กี่ไฟล์ ดูเหมือนจะถูกลบออกไปเพราะตอนสั่ง dpkg -l สองอักษรแรกขึ้นว่า rc ไม่เหมือน Package อื่นๆที่เป็น ii

ลอง ThaiLaTeX

ลองเรียก latex ดู ปรากฏว่าไม่มีคำสั่งนี้ เปิดดูใน "dpkg -l" ก็เห็น tetex-bin กับ tetex-base ติด rc อยู่ ก็เลยจัดการติดตั้งด้วยคำสั่ง

apt-get install tetex-bin tetex-extra tetex-doc
apt-get install thailatex
เสร็จเรียบร้อยดูเหมือน latex จะใช้ได้แล้ว ส่วน ThaiLaTeX นั้นยังไม่แน่ใจว่าใช้ยังไง ก่อนอื่นก็ดูว่ามีอะไรมาบ้าง
$ dpkg -L thailatex 
...
/usr/share/doc/thailatex/README
/usr/share/doc/thailatex/README.Debian
/usr/share/doc/thailatex/copyright
/usr/share/doc/thailatex/examples
/usr/share/doc/thailatex/examples/orchid.tex.gz
/usr/share/doc/thailatex/examples/teststd.tex.gz
/usr/share/doc/thailatex/examples/Makefile.gz
/usr/share/doc/thailatex/ChangeLog.gz
/usr/share/doc/thailatex/changelog.gz
...
รู้สึกโล่งใจที่มีตัวอย่าง จัดการคัดลอก examples (มีอยู่สามไฟล์) มาไว้ในโฮมตัวเอง ตามด้วย gunzip แล้วก็ make ปรากฏว่า
$ make
make: *** No rule to make target `Makefile.am', needed by `Makefile.in'.  Stop.
ทำไงละก็ทั้ง examples มีแค่สามไฟล์ จะไปหา Makefile.am ที่ไหน ?

MSN ไปถาม Otto ดู ปรากฏว่าไม่รู้เหมือนกัน สุดท้ายต้องเปิด Makefile ออกมาดู พบว่า teststd สามารถสร้างด้วยคำสั่ง

$ cttex -W < teststd.tex > teststd.ttex
$ latex teststd.ttex
$ pdflatex teststd.ttex
จากนั้นก็ใช้ xdvi หรือ acroread เปิดไฟล์ dvi หรือ pdf ดูได้

ปัญหา คีย์บอร์ด

อยากจะเปลี่ยน Caps Lock ให้เป็น Control ก็เลย man xmodmap แล้วคัดลอกส่วนที่สลับ Caps/Control ที่เคยใช้ประจำ แล้วสั่ง

$ cat mymap
            ! Swap Caps_Lock and Control_L
            !
            remove Lock = Caps_Lock
            remove Control = Control_L
            keysym Control_L = Caps_Lock
            keysym Caps_Lock = Control_L
            add Lock = Caps_Lock
            add Control = Control_L
$ xmodmap mymap
ไม่ได้ผลแฮะ มันไม่เหมือนเดิมแฮะ สุดท้ายต้องไปกดเมาส์ขวาตรงรูปธงชาติ แล้วเลือก Configure แล้วไปเลือกที่ Xkb Options อันที่บอกว่า "Make CapsLock an additional Control"

ปัญหา USB Mouse

ลองพอหอมปากหอมคอ ก็ Reboot หน่อยสักครั้งหนึ่ง คราวนี้เลือก Kernel 2.6 เหมือนเดิม ปรากฏว่าอ้าวบูทไม่ขึ้น พอนกเพนกวินโผล่ขึ้นมา มันบอกว่า

audit(.....): initialized
Unable to handle kernel NULL pointer dereference at virtual address 00000000
...
...
 <0>Kernel panic: Attempted to kill init!
ลองบูท Kernel 2.4 จาก LILO ดู ปรากฏว่าบูทได้ แต่พอเข้า X11 ไปแล้ว USB Mouse ใช้ไม่ได้ !

มันน่าจะเกี่ยวกับเมาส์ ?

ถอดสาย USB Mouse ออก แล้วลองใหม่ คราวนี้บูท Kernel 2.6 ได้เหมือนครั้งแรก ที่แท้เป็นที่ Mouse สรุปว่าต้อง

ถอดสายเมาส์ - บูท 2.6 - รอให้ X11 ขึ้น - เสียบเมาส์

ลำบากพิกล ลองบูทใหม่ดูข้อความผิดพลาดดีๆ พบว่า

audit(.....): initialized
Unable to handle kernel NULL pointer dereference at virtual address 00000000
...
...
Call Trace:
 [<........>] psmouse_interrupt+0x88/0x298
 ....
 <0>Kernel panic: Attempted to kill init!
มันเห็น USB Mouse ของเราเป็น PSMouse แสดงว่า BIOS อาจจะเข้ามาเกี่ยวข้องด้วย ลองไปเปลี่ยนใน BIOS ตรง USB Legacy จาก Enabled ให้เป็น Disabled ดู คราวนี้บูท 2.6 โดยเสียบ USB Mouse ค้างไว้ได้แล้วแฮะ

ระหว่างใช้งานอยู่ลองปิดฝา ดูเหมือนจะ Suspend ได้ พอเปิดฝากลับขึ้นมา หน้าจอเดิมกลับมาแต่เมาส์ไม่กระดิก คีย์บอร์ดไม่ตอบสนอง ต้องปิดสวิตช์อย่างเดียว

วันนี้พอแค่นี้ก่อน วันหลังค่อยมาเล่นต่อ คงอีกสักพักกว่าจะตามคนอื่นเขาทัน

No comments: