การทำให้ FreeBSD อ่านภาษาไทยได้และการใช้ปุ่มเพื่อสลับภาษาสำหรับ FreeBSD 6.1 ครับ

สวัสดีครับ
บทความอันนี้ก็นั่งทำซะนานเลยครับ ไม่รู้ว่าทำไมเหมือนกัน มีปัญหากับปุ่ม ในการสลับภาษานิดหน่อยครับ คงเป็นเพราะ VMware แหละมั่งครับ เพราะลองใน pc ของผมเลยไม่เคยมีปัญหา ในส่วนของ (xorgcfg) ไม่เป็นไรครับเพราะส่วนนั้นก็คงจะเข้าใจกันได้ไม่ยากครับ เริ่มกันเลยแล้วกันครับ

เข้าสู้ระบบด้วย root นะครับ  จากนั้นคลิกที่รูป computer ได้เลยครับ แล้วก็ Filesystem >usr > X11R6 > lib > X11 > fonts แล้วก็ สร้าง Folder ใหม่เพิ่มขึ้นมาครับ ตั้งชื่อว่า TrueType ครับ (เหตุผลที่เข้าเป็น root เพราะว่าผมลองใช้ user ที่ไม่ใช้ root แล้วเวลา copy font ไปใส่ในโฟเดอร์ที่สร้างมานี้จะไม่ สามารถเอาไปใส่ได้นะครับ ก็ไม่รู้ว่าเพราะอะไรนะครับ ใครรู้ก็บอกผมด้วยแล้วกันนะครับ )

แล้วเราก็ได้ Folder ที่ชื่อว่า TrueType มาแล้วครับ (ง่ายไหมครับ)

คราวนี้เป็นส่วนที่ค่อนข้างสำคัญครับคือการนำ font มาใส่ครับ โดยจะเอามาจากไหนก็ได้นะครับ แต่ผมไปก็อป font ของ windows มาใช้นะครับแล้วก็ copy ใส่แผ่น cd เอาไว้ครับ ขั้นต่อมาก็ใส่แผ่นที่เราเตรียมไว้(แผ่นที่มี font ไทยอยู่นะครับ) แล้วทำการ mount cdrom กันก่อนครับ โดยทำอย่างภาพครับก็คือ
เลือก Applications > System Tools > Terminal ครับ

เมื่อเป็นดังรูปแล้ว เราก็ mount cdrom โดยพิมพ์คำสั่ง mount /cdrom
คราวนี้รูปวงกลมสีขาวๆ ก็จะโพล่ขึ้นมาครับ คร่าวนี้ก็ไม่ยากแล้วครับ คลิกเข้าไปได้เลยครับ

มาแล้วครับ Fonts ที่ผม copy เอาไว้ในแผ่น cd

แล้วก็คลิกเข้าไปเลยครับ อ่าเห็น font เยอะเลย coppy มันทั้งหมดเลยครับ แล้วเอาไปใส่ใน Folder (TrueType) ที่เราสร้างขึ้นมาครับ

อ่า คราวนี้ก็เสร็จแล้วมี font อยู่ใน TrueType เรียบร้อย

แล้วก็ปิด Folder ต่าง ๆ ไปได้เลยครับ แล้วก็ลองเปิด web ดูสิครับ

อ่ายังอ่านไม่ออก อะครับ ทำไมถึงเป็นเช่นนี้ล่ะ ก็เพราะ FreeBSD งของเรายังไม่รู้จัก fornt งที่เราเพิ่มเข้าไปแหละครับ แล้วจะทำอย่างไรให้รู้จักกัน ก็นี้เลยครับ
ใช้ editor ตัวใดก็ใด้นะครับ ผมขอใช้ pico แล้วกันนะครับแล้วพิมพ์
# pico /usr/X11R6/lib/X11/fonts/fonts.cache-1

แล้วก็จะเห็นดั่งนี้ครับ ให้เราเพิ่ม "TrueType" 0 ".dir" เข้าไปครับ

"100dpi" 0 ".dir"
"75dpi" 0 ".dir"
"CID" 0 ".dir"
"PEX" 0 ".dir"
"Speedo" 0 ".dir"
"TTF" 0 ".dir"
"Type1" 0 ".dir"
"cyrillic" 0 ".dir"
"encodings" 0 ".dir"
"latin2" 0 ".dir"
"local" 0 ".dir"
"misc" 0 ".dir"
"util" 0 ".dir"
"bitstream-vera" 0 ".dir"
"TrueType" 0 ".dir" ------------------->เพิ่มบรรทัดนี้แหละครับ

อ่าคราวนี้เป็นยังไรกันบ้างครับ อ่านง่ายกันแล้วหรือยังครับ หากท่านใดยังไม่เป็นดังภาพก็ reboot เครื่องสักทีก็ได้นะครับ

ขอให้ทุกท่านโชคดีนะครับ

ส่วนการใช้ปุ่มสลับภาษานั้นก็ไม่ได้ยากอะไรครับ จากที่ผมเคยฟังจากคุณประเสริฐ ท่านเคยบอกว่าใน gnome ที่ให้มาพร้อมกับแผ่น FreeBSD 6.1 เนี่ยครับ เวอร์ชั่นนี้ไม่มี founction ในการสลับภาษานะครับ เลยต้อง พึ่ง xorg แทน และก็ xorg นี่แหละครับที่ผมมีปัญหาเนื่องจากใช้งานใน VMware นะครับ พอสั่ง xorgcfg แล้ว save เพื่อบันทึกไฟล์เมื่อไร เครื่องก็จะเงียบไปเลยครับ ลองใหม่ไปหลายครั้ง 2 เครื่องอีกต่างหาก ก็ยังเหมือนเดิมครับ แต่ถ้าเป็นเครื่อง pc ที่ลง FreeBSD ไว้จะไม่มีปัญหาเลยผ่านตลอดครับ
ก็เลยไม่มีภาพมาให้ดูกันแต่ก็จะขออธิบายไว้นะครับว่าเมื่อเราเข้าโหมด x-window ได้แล้วก ก็กด Ctrl + Alt + F2(ถึง F7 ตัวไหนก็ได้ครับตัวใดตัวหนึ่ง) พร้อมกัน แล้วก็จะเข้าสู่ หน้า Text mode ครับ (หากต้องการกลับสู่ graphic mode ก็กด Ctrl + Alt + F9 )
เมื่อเราอยู่ใน Text mode งเราก็พิมพ์ xorgcfg ได้เลยครับ
# xorgcfg
 ก็จะได้รูปแบบนี้นะครับ

กด Quit เพื่อออกมาได้เลยครับ แล้วระบบก็จะบอกว่าให้ save ไฟล์ /usr/X11R6/lib/X11/xorg.conf
เราก็ตกลงไปครับคร่าวนี้เราก็จะได้ไฟล์ xorg.conf มาแล้วล่ะครับ เพื่อเอามาใช้งานในการสลับภาษาครับ
คราวนี้ก็กลับมาใน graphic mode กันนะครับ ใช้ editor ตัวใดก็ได้นะครับแล้วพิมพ์ /usr/X11R6/lib/X11/xorg.conf ลงไป ส่วนผมนะใช้ pico ครับ

# pico /usr/X11R6/lib/X11/xorg.conf

คุณประเสริฐเคยแนะนำผมไว้นะครับคือ
แล้วแก้ไขบางส่วน ตามตัวอย่างครับ
======================
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbRules" "xorg"
Option "XkbLayout" "us,th"
Option "XkbOptions" "grp:rwin_toggle"
EndSection
=======================
ตรง Option "XkbOptions" "grp:rwin_toggle" นั้น เป็นการกำหนดปุ่มเปลี่ยนภาษาไทย-อังกฤษ ผมเลือกเอา ปุ่ม window ข้างขวามือ ปุ่มที่ถัดไปจากปุ่ม Alt ขวามือนะครับ

ส่วนปุ่มอื่น ๆ นั้นก็ดูตามนี้ได้เลยครับ
grp Group Shift/Lock behavior
grp:switch R-Alt switches group while pressed.
grp:lswitch Left Alt key switches group while pressed.
grp:lwin_switch Left Win-key switches group while pressed.
grp:rwin_switch Right Win-key switches group while pressed.
grp:win_switch Both Win-keys switch group while pressed.
grp:rctrl_switch Right Ctrl key switches group while pressed.
grp:toggle Right Alt key changes group.
grp:lalt_toggle Left Alt key changes group.
grp:caps_toggle CapsLock key changes group.
grp:shift_caps_toggle Shift+CapsLock changes group.
grp:shifts_toggle Both Shift keys together change group.
grp:alts_toggle Both Alt keys together change group.
grp:ctrls_toggle Both Ctrl keys together change group.
grp:ctrl_shift_toggle Control+Shift changes group.
grp:ctrl_alt_toggle Alt+Control changes group.
grp:alt_shift_toggle Alt+Shift changes group.
grp:menu_toggle Menu key changes group.
grp:lwin_toggle Left Win-key changes group.
grp:rwin_toggle Right Win-key changes group.
grp:lshift_toggle Left Shift key changes group.
grp:rshift_toggle Right Shift key changes group.
grp:lctrl_toggle Left Ctrl key changes group.
grp:rctrl_toggle Right Ctrl key changes group.
lv3 Third level choosers
lv3:switch Press Right Control to choose 3rd level.
lv3:menu_switch Press Menu key to choose 3rd level.
lv3:win_switch Press any of Win-keys to choose 3rd level.
lv3:lwin_switch Press Left Win-key to choose 3rd level.
lv3:rwin_switch Press Right Win-key to choose 3rd level.
lv3:alt_switch Press any of Alt keys to choose 3rd level.
lv3:lalt_switch Press Left Alt key to choose 3rd level. lv3:ralt_switch Press Right Alt key to choose 3rd level.
ctrl Control key position
ctrl:nocaps Make CapsLock an additional Control.
ctrl:swapcaps Swap Control and CapsLock.
ctrl:ctrl_ac Control key at left of 'A'
ctrl:ctrl_aa Control key at bottom left
ctrl:ctrl_ra Right Control key works as Right Alt.
grp_led Use keyboard LED to show alternative group.
grp_led:num NumLock LED shows alternative group.
grp_led:caps CapsLock LED shows alternative group.
grp_led:scroll ScrollLock LED shows alternative group.
caps CapsLock key behavior
caps:internal CapsLock uses internal capitalization. Shift cancels CapsLock.
caps:internal_nocancel CapsLock uses internal capitalization. Shift doesn't cancel CapsLock.
caps:shift CapsLock acts as Shift with locking. Shift cancels CapsLock.
caps:shift_nocancel CapsLock acts as Shift with locking. Shift doesn't cancel CapsLock.
caps:shift_lock CapsLock just locks the Shift modifier.
caps:capslock CapsLock toggles normal capitalization of alphabetic characters.
caps:shiftlock CapsLock toggles Shift so all keys are affected.
altwin Alt/Win key behavior
altwin:menu Add the standard behavior to Menu key.
altwin:meta_alt Alt and Meta are on the Alt keys (default).
altwin:meta_win Meta is mapped to the Win-keys.
altwin:left_meta_win Meta is mapped to the left Win-key.
altwin:super_win Super is mapped to the Win-keys (default).
altwin:hyper_win Hyper is mapped to the Win-keys.
altwin:alt_super_win Alt is mapped to the right Win-key and Super to Menu.
Compose key Compose key position
compose:ralt Right Alt is Compose.
compose:rwin Right Win-key is Compose.
compose:menu Menu is Compose.
compose:rctrl Right Ctrl is Compose.
compat Miscellaneous compatibility options
numpad:microsoft Shift with numpad keys works as in MS Windows.
srvrkeys:none Special keys (Ctrl+Alt+<key>) handled in a server.
eurosign Adding the EuroSign to certain keys
eurosign:e Add the EuroSign to the E key.
eurosign:5 Add the EuroSign to the 5 key.
eurosign:2 Add the EuroSign to the 2 key.

อ้างอิงจาก

http://www.thai-aec.org/misc/desktop_thai.html 
http://www.thaibsd.com/webboard/show.php?Category=thaibsd&No=8026

ลองดูนะครับได้ผมอย่างไรบอกด้วยนะครับ เผื่อข้อมูลผิดพลาดจะได้แก้ไขครับ
สวัสดีครับ

Hosted by www.Geocities.ws

1