future gooey of mm3 and zawgyi keyboard programs

က်ေနာ္ gooey သိပ္မေကာင္းပါဘူး၊ ဒါေပမယ့္ command lines နဲ့ သိပ္ရင္းနွီးကြ်မ္းဝင္မွုမရွိေသးတဲ့ Linux အသံုးျပုသူအသစ္မ်ားအတြက္ GUI နဲ့ ကီးဘုတ္သြင္းလို့ရေအာင္ လက္ရွိ command line အသံုးျပု ပိုင္သြန္ပရိုဂရမ္ကို GUI နဲ့ထုတ္ပိုးျပီး ထပ္ထုတ္မယ္လို့ စိတ္ကူးျကည့္ပါတယ္။ လံုးလံုးေတာ့ command line မလြတ္ေပမယ့္ Mouse ေလးနဲ့ click ရေသးတယ္ဆိုေတာ့ ပိုျပီးလြယ္တာေပါ့ေနာ္။
ေအာက္မွာ screenshots ေလးေတြပါ။ :-)







အျကံညဏ္ေကာင္းေတြလဲ comments မွာေပးသြားနိုင္ပါတယ္။

Enjoy!! :-)

Ubuntu Linux မွာ ျမန္မာဖြန့္သြင္းနည္း

ျမန္မာဖြန့္အတြက္ ျကိုက္နွစ္သက္ရာဖြန့္ကို Ubuntu Linux မွာ Install လုပ္နိုင္ပါတယ္။ ဒီ guide မွာ ေဇာ္ဂ်ီဖြန့္ကို ဥပမာနမူနာထားျပီး သြင္းမွာျဖစ္ပါတယ္။

ေဇာ္ဂ်ီဖြန့္နဲ့ Install script အထုတ္အပိုးကိုရယူျခင္း
အရင္ဆံုး zawgyi-keyboard.googlecode.com မွာ သြားျပီး zawgyi-keyboard package ကို download လုပ္ပါ။



zawgyi-keyboard package ျဖစ္တဲ့ latest version : zawgyi_keyboard-0.3.3.tar.gz ကိုရယူလိုက္ပါ။ ျပီးရင္ အဲဒီ package ကို ကိုယ့္ရဲ့ Desktop ေပာ္မွာထားလိုက္ပါ။

Install Script နွင့္ ေဇာှဂ်ီဖြန့္ ေဇာှဂ်ီကီးဘုတ္ သြင္းျခင္း

Terminal ကိုဖြင့္ပါ။ Terminal က Applications > Accessories > Terminal မွာပါ။



Terminal က ေအာက္ကလိုပြင့္လာမယ္။



Terminal ကိုဖြင့္ရတဲ့အေျကာင္းရင္းက က်ေနာ္တို့ command line နဲ့ zawgyi keyboard ကို install လုပ္မလုိ့ပါ။ command line ဆိုလို့ ခက္ခက္ခဲခဲ command ေတြ မွတ္သားထားရမယ္လို့ သိရမယ္လို့ မထင္ လိုက္ပါနဲ့။ ခုသံုးမယ့္ commands ေတြက တကယ့္ child play ေတြပါ။ copy'n'paste လုပ္ျပီး သြားလဲရပါတယ္။
အခု က်ေနာ္တို့ Terminal ကေန zawgyi-keyboard package ထားရွိရာ Desktop ဆိုတဲ့ ေနရာကိုသြားရေအာင္ cd လို့ေခာ္တဲ့ (change directory) command ကိုသံုးပါမယ္။ Terminal ထဲမွာ ေအာက္က command line ကို copy'n'paste လုပ္ေပးလိုက္ပါ။ command ေရွ့က $ (dollar sign) ကို copy လုပ္စရာမလိုဘူးေနာ္။

$ cd ~/Desktop

ခုဆိုရင္ က်ေနာ္တို့ စိတ္ထဲက virtual နည္းနဲ့ Terminal ကေန Desktop ဆိုတဲ့ေနရာကိုေရာက္ပါျပီ။ က်ေနာ္တို့ ls ဆိုတဲ့ (list) command ကိုဆက္သံုးျပီး Desktop ေပာ္မွာေရာ ကိုယ္ထားတဲ့ zawgyi-keyboard package ရွိ မရွိကို ျပန္စမ္းစစ္ျကည့္တဲ့သေဘာပါ။

$ ls

ls ဆိုတာက list ဆိုတဲ့ သေဘာကိုေဆာင္တဲ့အတြက္ Desktop ေပာ္မွာရွိသမ်ွ files, pictures စတာေတြကို list လုပ္သလိုေဖာ္ျပေပးမွာပါ။ က်ေနာ္တို့ထားထားတဲ့ zawgyi_keyboard-0.3.3.tar.gz ရွိတယ္ဆိုပါေတာ့ ကဲ ဘာဆက္လုပ္ရမလဲ? အဲဒီ package က tar ဆိုတဲ့ program ငယ္နဲ့ ခ်ုံ့ထားတဲ့အတြက္ က်ေနာ္တို့ အဲဒါကို ျပန္ျဖည္ေပးဖို့လိုအပ္တယ္။ ဒါမွ အထဲမွာ ဘာရွိလဲဆိုတာ သိနိုင္မွာပါ။ အထဲကဟာေတြ ဘာေတြလဲ သိမွ ဆက္ျပီး အလုပ္လုပ္လို့ရမွာပါ။ ေအာက္က command ကို ကိုယ့္ရဲ့ Terminal ထဲမွာ copy'n'paste လုပ္ျပီး Enter ေခါက္ျပီး run လိုက္ပါ။

$ tar xzf zawgyi_keyboard-0.3.3.tar.gz

ဒီ command line မွာ tar ဆိုတာက zip program လိုမ်ိုး ဖိုင္ေတြကို achive, extract လုပ္ေပးတဲ့ Unix & Unix-Like system ေတြမွာ အသံုးမ်ားတဲ့ program ငယ္ပာ။ xzf ဆိုတာက options ေတြပာ။ options တစ္ခုခ်င္းစီရဲ့လုပ္ေဆာင္ခ်က္ကို သိခ်င္ရင္ ဒီ $ tar –h ဒာမွမဟုတ္ $ tar --help ကို Terminal ထဲရိုက္ျပီး ျကည့္လိုက္ပာ။ ေနာက္တမ်ိုးက man ဆိုတဲ့ program နဲ့လဲ သက္ဆိုင္ရာ program ေတြရဲ့ manual pages ေတြကို ျကည့္လို့ရပာေသးတယ္။ ဥပမာ $ man tar လို့ Terminal ထဲမွာရိုက္ျပီး tar program ရဲ့ manual ကို ျကည့္နိုင္ပာေသးတယ္။ ဒီေနရာမွာ ျကားျဖတ္ေျပာရမယ္ဆိုရင္ tar xzf zawgyi လို့ Terminal ထဲမွာရိုက္ျပီးခ်ိန္မွာ keyboard ေပာ္က Tab key ကိုေခါက္ျကည့္ပါ။ Bash Shell ရဲ့ autocomplete က ေနာက္ကဆက္လိုက္ပါလာတဲ့ _keyboard-0.3.3.tar.gz ကို သူ့ဟာသူျဖည့္သြားေပးမွာပါ။ ဒီလုိဆိုရင္ command line ကို type ရတာလဲ သက္သာျပီး အမွားလဲ နည္းနိုင္ပါတယ္။ ခဏကေျပာတဲ့ Bash Shell ဆိုတာက Bourne-again Shell ပာ။ Linux Distributions ေတြတိုင္းမွာလိုလို Default shell အေနနဲ့ပာလာတက္ပာတယ္။ Ubuntu Linux မွာက Definitely အဲဒီ shell ကိုအသံုးျပုပာတယ္။
ကဲ tar ball ျဖည္ျပီးရင္ ဘာဆက္လုပ္ရမလဲ? က်ေနာ္တို့ ls ကိုသံုးျပီး Desktop ေပာ္မွာ ဘာေတြျဖစ္ပ်က္သြားလဲ ျကည့္ရေအာင္ Terminal ထဲမွာ ls ကို ရိုက္ထည့္ျပီး Enter ေခါက္ျကည့္ရေအာင္..

$ ls

ဘာေတြ့မလဲဆိုေတာ့ zawgyi ဆိုတဲ့ folder တစ္ခုတိုးလာတဲ့အတြက္ zawgyi ဆိုတာကိုေတြ့လိမ့္မယ္။
ဟုတ္မဟုတ္ ကိုယ့္ Desktop ကို ျပန္ျကည့္နိုင္တယ္။ zawgyi folder ကိုေတြ့မွာပါ။ က်ေနာ္တို့ zawgyi folder ထဲကို Terminal ထဲကေန ေအာက္က command သံုးျပီး ဆက္ဝင္ရေအာင္ ..

$ cd zawgyi

Terminal ကေနဘာ error မွ မျပဘူးဆိုရင္ က်ေနာ္တို့ zawgyi folder ထဲေရာက္သြားပါျပီး။ zawgyi folder ထဲမွာ ဘာေတြပါလဲဆိုတာ ls နဲ့ က်ေနာ္တို့ ထပ္ျကည့္ပါအံုးမယ္။

$ ls

ေအာက္ကပံုကိုျကည့္ပါ။ ခင္ဗ်ားနဲ့ Terminal ထဲမွာလဲ ေအာက္ကပံုနဲ့ဆင္တူေတြ့မွာပါ။ Desktop ေပာ္မွာလဲ zawgyi folder ထြက္လာတာကိုလဲေတြ့မွာပါ။



ဒီအဆင့္ေရာက္ျပီးဆိုရင္ေတာ့ က်ေနာ္တို့ installation ကို စတင္လုပ္ေတာ့မွာပါ။ ဒီ package မွာ အားလံုးလြယ္ကူေစဖို့အတြက္ ေဇာ္ဂ်ီဖြန့္ေရာ လိုအပ္တဲ့ဖိုင္ေတြေရာ python script ေရာထည့္ထားေပးပါတယ္။ ခင္ဗ်ားက ထည့္ထားေပးတဲ့ zawgyi_keyboard.py ဆိုတဲ့ python script ကို run ျပီး install လုပ္တာတို့ remove လုပ္တာတို့ font upgrade လုပ္တာတို့ လုပ္နိုင္ပါတယ္။ အရင္ဆံုးအဲဒီ script ကို run ရေအာင္ ေအာက္က command line ကို run ေပးပါ။

$ sudo python zawgyi_keyboard.py

ဒီ command line မွာ sudo ဆိုတာ sudoer (super user) အသံုးျပုအေနနဲ့ run မယ္လို့ ေျပာတာပါ။ ေနာက္ကဆက္လိုက္လာတဲ့ python ဆိုတာ Python လို့ နာမည္ရတဲ့ Interpreter ပါ။ ဘာလို့ Python Interpreter ကို zawgyi_keyboard.py ရဲ့အေရွ့မွာခံျပီး run လဲဆိုေတာ့ .py extension ပါတဲ့ zawgyi_keyboard.py ဟာ Python Programming အသံုးျပုျပီးေရးသားထားတဲ့ ဖိုင္ျဖစ္သလို့ Python ဆိုတဲ့ command ကိုသံုးမွ Python Interpreter က zawgyi_keyboard.py script ကို ကြန္ျပူတာနားလည္ေအာင္ လုပ္ေဆာင္ေပးနိုင္ေအာင္လို့ပါ။ ကဲက်ေနာ္တို့ install လုပ္တဲ့ အလုပ္ဆက္လုပ္ရေအာင္။ ေအာက္ကပံုကို ျကည့္ပါ။ ပံုထဲကအတိုင္း zawgyi_keyboard.py script က စတင္ run ေနပါျပီး။ ကိုယ့္ Terminal ထဲမွာလဲ ျကည့္ပါ။ ဘာစာသားေတြေဖာ္ျပေနျပီး ဘာ information ေတြ ခင္ဗ်ားကို ေပးေနသလဲဆိုတာ ေလ့လာပါ။



အဲဒီထဲမွာ install, remove, help, exit .. စတာေတြကိုေတြ့ရမွာပါ။ က်ေနာ္တို့က install လုပ္ခ်င္တဲ့အတြက္ Install လုပ္ဖို့ရရာ small letter i ကို နွိပ္ေပးရမွာျဖစ္ပါတယ္။ s ကို နွိပ္ပါက show font ဆိုတဲ့ function ကို ေခာ္တဲ့အတြက္ လက္ရွိစက္ထဲကို install လုပ္လိုက္တဲ့ဖြန့္နဲ့ Web မွာေနာက္ဆံုးထြက္ရွိေနတဲ့ font ကိုယွဥ္ျပ ေပးမွာပါ။ ဒါေပမယ့္ ကိုယ့္စက္မွာ အင္တာနက္ခ်ိတ္ဆက္ထားမွ အဲဒီ function ကအလုပ္လုပ္မွာပါ။ က်ေနာှတို့ Install လုပ္ရေအာင္ i ကို keyboard ကေနရိုက္ျပီး Enter ေခာက္လိုက္ပာ။ အဲဒာဆိုရင္ Python script က ေဇာှဂ်ီဖြန့္နဲ့ ေဇာှဂ်ီကီးဘုတ္ကို သက္ဆိုင္ရာေနရာဆီကို copy လုပ္ေပးျခင္းအားျဖင့္ Install လုပ္ေပးမွာပာ။



ခုဆိုရင္ ခင္ဗ်ားစက္ထဲမွာ ေဇာ္ဂ်ီဖြန့္နဲ့ ေဇာ္ဂ်ီကီးဘုတ္ေရာက္ေနပါျပီး။ ေဇာ္ဂ်ီနဲ့ေရးထားတဲ့ အင္တာနက္စာမ်က္နွာတို့ ျကည့္နိုင္ပါျပီး။ က်န္တဲ့ options ေတြကိုလဲ လိုအပ္ရင္လိုအပ္သလို ခ်က္ခ်င္းကို run နိုင္ပာတယ္။ ဒာမွဟုတ္ ဒီ running script ကို exit လုပ္ျပီးမွ ျပန္ run လိုကလဲ ျပန္ run ျပီး install, remove, upgrade စတာေတြကို ဆက္လုပ္ေပးလို့ရပာတယ္။ ေအာက္ကပံုေလ့လာျခင္းအားျဖင့္လဲ သိနိုင္ပာတယ္။



က်ေနာှတို့ ဖြန့္နဲ့ကီးဘုတ္ကိုသြင္းေပးျပီးတဲ့ေနာက္မွာ စာရိုက္ဖို့အတြက္ US ကီးဘုတ္ကေန MMR ကီးဘုတ္ေျပာင္းဖို့အတြက္ Keyboard Indicator ကို အသံုးျပုဖို့လိုအပ္ပာမယ္။ အဲဒီ Keyboard Indicator ကို ျမင္သာေအာင္ Panel ေပာှမွာ အရင္တင္ရေအာင္ Panel ေပာှမွာ mouse pointer ေထာက္ျပီးေတာ့ Right Click နွိပ္လိုက္ပာ။





အေပာှကပံုမွာေပာှလာတဲ့ ဿPop-Up Menu ထဲက Add to Panel… ဆိုတာကို Left Click နွိပ္ေပးလိုက္ပာက ေအာက္က ပံုအတိုင္း ထပ္ေပာှလာမယ္။



အဲဒီအထဲက scroll bar ကိုဆြဲခ်ျပီး ေအာက္ကပံုမွာျမင္ရတဲ့ Keyboard Indicator ဆိုတဲ့ဟာကို ေတြ့ေအာင္ရပာမယ္။



ပံုထဲကလို Keyboard Indicator ကို select လုပ္ျပီးရင္ေတာ့ ေအာက္နားေလးမွာရွိေနတဲ့ Add ဆိုတဲ့ button ကိုနွိပ္ေပးလိုက္ပာ။ အဲဒီခာမွာ ကိုယ့္ရဲ့ Panel ထဲမွာ USA ဆိုျပီး လက္ရွိကီးဘုတ္တေကဿငတကိုေဖာှျပ ေပးေနပာျပီ။



ဒီအဆင့္ေရာက္ရင္ က်ေနာှတို့ Myanmar Keyboard option ကိုလဲ Keyboard Indicator Program မွာထည့္မွာမို့ Panel ေပာှမွာ ေပာှေနတဲ့ USA ဆိုတဲ့ စာလံုးေပာှမွာ Right Click နွိပ္ေပးလိုက္ပာ။ ေအာက္က ပံုအတိုင္းျမင္လာပာမယ္။



ပံုထဲမွာျမင္တဲ့ Pop-Up Menu ကေနပဲ Keyboard Preferences ကိုဆက္ျပီး Left Click နွိပ္ေပးလိုက္ပာက ေအာက္ပံုအတိုင္း Keyboard Preferences Windows ငယ္ေလးေပာှလာပာမယ္။



အေပာှမွာျမင္ရတဲ့ ပံုထဲက Layouts Tab ကို သြားလိုက္ရင္ ေအာက္ကပံုအတိုင္း Layouts Tab Window ဆီကိုေရာက္သြားမယ္။



ပံုထဲမွာ Keyboard Layout အသစ္ကိုထည့္ဖို့အတြက္ Add.. ဆိုတဲ့ button ကိုေတြ့လိမ့္မယ္။



Add.. button ကိုနွိပ္လိုက္ပာက ေအာက္ကပံုအတိုင္း Choose a Layout ဆိုတဲ့ Window အသစ္တခုထပ္ေပာှလာပာမယ္။



ပံုထဲမွာ Afghanistan ဆိုတဲ့ button မွာ down arrow ျမွားေလးပာ။ က်ေနာှတို့က Myanmar Keyboard Layout ကိုသံုးခ်င္တာဆိုေတာ့ Myanmar ဆိုတာကို down arrow ကိုနွိပ္ျပီး scroll down လုပ္ရင္း ရွာပာမယ္။ Myanmar ကိုေတြ့ရင္ Left Click နွိပ္ျပီး ေရြးခ်ယ္ေပးလိုက္ပာ။ ေအာက္ကပံုအတိုင္းျမင္ရပာမယ္။



အေပာှကပံုမွာျမင္ရတဲ့အတိုင္း Add button ေလးကိုနွိပ္ေပးလိုက္တဲ့အခာ Keyboard Preferences Layouts Tab မွာ USA ျပီးေတာ့ Myanmar ဆိုတာေပာှလာမွာပာ။



ဒာဆိုရင္ က်ေနာှတို့စက္မွာ USA ေရာ Myanmar ကီးဘုတ္ေရာ အသံုးျပုလို့ရေနပာျပီ။ ေနာက္တစ္ခုထပ္လုပ္ေပးဖို့လိုေသးတာက အဲဒီ ကီးဘုတ္နွစ္ခုအတြက္ ဘာ keys အသံုးျပုျပီး ကီးဘုတ္ေျပာင္းမလဲ ဒာမွမဟုတ္ keyboard layout ကို နွစ္ခုအျကား switch လုပ္ဖို့ ဘာ shortcut keys အသံုးျပုမလဲဆိုတဲ့ Layout Options setting ေလးထားေပးဖိုပာ။ အဲလိုထားေပးလိုက္ျခင္းအားျဖင့္ shortcut keys ေလးကိုနွိပ္ေပးရံုနဲ့ ဘီးဘုတ္ေျပာင္းလဲသြားေစပာတယ္။ ဒာေျကာင့္ အေပာှကပံုမွာျမင္ရတဲ့ Layout Options button ေလးကိုဆက္နွိပ္ေပးျပီး Keyboard Layout Options ဆီကိုသြားရေအာင္။ ေအာက္ကအတိုင္း Keyboard Layout Options Window ငယ္ထပ္ေပာှလာပာမယ္။ အဲဒီအထဲမွာ ကိုယ္နွစ္သက္ရာ option ကိုေရြးခ်ယ္နိုင္ပာတယ္။



Key(s) to change layout ထဲမွာ ကိုယ္ျကိုက္တဲ့ keys အတြဲကိုေရြးခ်ယ္ေပးျပီးရင္ေတာ့ ဖြင့္ထားတဲ့ Keyboard Layout Windows ေတြကို ပိတ္နိုင္ပာျပီ။ အရင္က ေဇာှဂ်ီဖြန့္နဲ့ေရးထားတဲ့ အင္တာနက္စာမ်က္နွာေတြ ဖိုင္ေတြကို ေဇာှဂ်ီဖြန့္နဲ့ အမွန္အတိုင္းျမင္ရတဲ့အဆင့္ကေန ခု ေဇာ္ဂ်ီကီးဘုတ္နဲ့လဲ စာရိုက္နိုင္ပါျပီး။ ေအာက္က ပံုကိုျကည့္ပါ။ ေဇာ္ဂ်ီကီးဘုတ္က မွန္မွန္ကန္ကန္ေပါ္ျခင္းရွိ မရွိ gedit ဆိုတဲ့ Text editor နဲ့ စမ္းရိုက္ျကည့္တာပါ။



ဒာဆိုရင္ က်ေနာှတို့ရဲ့ Ubuntu Linux မွာ ေဇာှဂ်ီဖြန့္ကိုျမင္ရျပီး ေဇာှဂ်ီကီးဘုတ္နဲ့ရိုက္နိုင္ပာျပီ။

အေပာှက နမူနာနည္းနာအတိုင္း myanmar3 unicode ဖြန့္ကိုလဲ သြင္းနိုင္ပာတယ္။ myanmar3 unicode font နဲ့ package ကိုေတာ့ mm3-keyboard package လို့ေခာှျပီး ခု lastest version က mm3-keyboard-0.1.1.tar.gz ပာ။ အဲဒီ package ကို zawgyi-keyboard.googlecode.com မွာ ရယူ download နိုင္ပာတယ္။ အဲဒီ zawgyi-keyboard project မွာရွိတဲ့ keyboard packages ေတြကေတာ့ free of charge ပာပဲ။ အလကားေပးပာတယ္။ ကိုေစတန္နဲ့က်ေနာှတို့က ကိုယ့္အတြက္ကိုယ္လုပ္ရင္း သူမ်ားကိုလဲ ေဝငွေပးတဲ့သေဘာပာပဲ။ အားလံုးလြတ္လြတ္လပ္လပ္ယူသံုးနိုင္ပာတယ္။

download PDF

Enjoy!

ssh to FreeBSD within local network

က်ေနာ့္ FreeBSD စက္ထဲကို local network အတြင္းမွာရွိတဲ့ အျခားစက္ကေန ဥပမာ ubuntu ကေန ssh နဲ့ login ဝင္တာေလးပါ။ certificate authentication နည္းနဲ့ ဝင္တာပါ။ ဒီေနရာမွာ FreeBSD က Server သေဘာမ်ုိးသက္ေရာက္ျပီး Client Ubuntu စက္ကေန ဝင္မွာပါ။ FreeBSD က Server သေဘာမ်ုိးဆိုတာ့ ssh daemon run ေနဖို့လိုအပ္ပါတယ္။ အဲဒီအတြက္ က်ေနာ္တို့ /etc/rc.conf ဖိုင္မွာ enable လုပ္ေပးျပီး daemon ကို run ရေအာင္ ..

Enable sshd
# echo 'sshd_enable="YES"' >> /etc/rc.conf
# /etc/rc.d/sshd start

ျပီးရင္ rsa keys မထုတ္ရေသးရင္ generate လုပ္ေပးရေအာင္ ေအာက္က command ကို run ပါမယ္။ က်ေနာ္တို့ normal user အေနနဲ့ ထုတ္မွာျဖစ္လို့ root user ကေန exit လုပ္ေပးပါ။

$ ssh-keygen -t rsa

အဲဒါဆိုရင္ က်ေနာ္တို့ .ssh/id_rsa နဲ့ .ssh/id_rsa.pub ဖိုင္ေတြကို ကိုယ့္ရဲ့ home directory ထဲမွာေတြ့မွာပါ။ ျပီးရင္ က်ေနာ္တို့ certificate authentication နည္းသံုးမွာျဖစ္တဲ့အတြက္ id_rsa.pub ဖိုင္ကို authentication keys အေနနဲ့ ေျပာင္းရေအာင္ ေအာက္က command ကို run ေပးပါမယ္။

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ျပီးရင္ က်န္တဲ့ ~/.ssh/id_rsa ဆိုတဲ့ private key ကို ကိုယ့္ usb disk ထဲပဲျဖစ္ျဖစ္ internet ေပာ္ လံုျခံုတဲ့ ကိုယ္ပဲ access လုို့ရနိုင္မယ့္ေနရာထဲ ကူးထည့္ ဒါမွမဟုတ္ upload လုပ္ျပီး အျခား Client အေနနဲ့သံုးမယ့္ စက္ထဲကို copy ကူးထည့္ေပးပါ။ ဥပမာ က်ေနာ္က အဲဒီ private key ကို က်ေနာ့္ ubuntu စက္ထဲကို ကူးထည့္ေပးလိုက္မယ္။ ဘယ္ေနရာမွာကူးထည့္ေပးရမလဲဆိုေတာ့ ~/.ssh directory ေအာက္ကိုပါ။ အဲလိုကူးထည့္ျပီးဆိုရင္ေတာ့ ~/.ssh/id_rsa အေနနဲ့ေတြ့မွာပါ။ အဲဒါေတြလုပ္ေပးျပီးရင္ေတာ့ က်ေေနာ္တို့ FreeBSD Server ထဲကို Client Ubuntu ကေန ဝင္နိုင္ပါျပီး။ ေအာက္ကနမူနာ command ေလးနဲ့ ဝင္လို့ရပါတယ္။

$ ssh user@freebsd

ေအာက္ကနမူနာ Screenshots ေလးေတြကို ျကည့္ပါ။

copy key to client and use ssh

accept keys and being asked for private key password

after giving password, passed through to FreeBSD

now I can go anywhere

freebsd-update fetch

ဘယ္ေလာက္လြယ္ကူသလဲ!

References:
OpenSSH

Enjoy!

Mount external usb hdd with rw on FreeBSD

FreeBSD-8 ေပာ္မွာ ကိုယ့္ရဲ့ external usb hdd ကို read/write access ရေအာင္ mount တာေလးပါ။ Linux မွာ usb hdd ကို plug လုပ္လိုက္တာနဲ့ auto mount ေပးေပမယ့္ FreeBSD မွာ ပံုမွန္အားျဖင့္ default အေနနဲ့ manually mount ေပးရပါတယ္။ ဆိုင္ကေန external usb hdd ကိုဝယ္လာရင္ ကိုယ့္ရဲ့ Windows Machine မွာဆိုရင္ properties နဲ့ စစ္ျကည့္ပါ fat32 filesystem ျဖင့္မ်ားေသာအားျဖင့္လာတက္ပါတယ္။ Linux မွာဆိုရင္ fdisk -l နဲ့ စစ္ျကည့္ပါ။ တခ်ုိ့ external usb hdd က်ျပန္ေတာ့ ntfs file system နဲ့လာတက္ပါတယ္။ ကိုယ့္အေန့နဲ့ ျကိုက္နွစ္သက္ရာ file system ကိုျပန္ေျပာင္းနိုင္ပါတယ္။ ခုက်ေနာ္ mount မွာက fat32 နဲ့ ntfs file system နွစ္မ်ုိးကိုပါ။ က်န္တဲ့ဖိုင္စနစ္ကိုလဲ ဒီက နမူနာယူျပီးလိုအပ္တဲ့ options ေပးျပီး mount နိုင္ပါတယ္။
က်ေနာ္တို့ fat32 ကို အရင္ mount ျကည့္ရေအာင္ ..

For 1, 2, 4, 8, 16 GB usb flash disks

# mount -a -t msdosfs /dev/da0s1 /mnt

/dev/da0s1 ဆိုတာက ကိုယ့္ရဲ့ usb stick device ပါ။
/mnt ဆိုတာက mount point ပါ။ mount point ကို ျကုိက္တဲ့ folder ထားနိုင္ပါတယ္။ ဥပမာ က်ေနာ့္မွာ Gnome ကိုသံုးတယ္ဆိုေတာ့ mount point ကို /media/ ေအာက္မွာလုပ္ထားတယ္။ ဥပမာ

# mkdir -p /media/usb
# chmod 777 /media/usb
# mount -a -t msdosfs /devda0s1 /media/usb

အဲဒါဆို Gnome Desktop ေပာ္မွာ nautilus file manager က အဲဒီ usb ကို auto ဖြင့္ေပးမွာပါ။ ကိုယ့္ mount point က /media/ ေအာက္မွာ မရွိဘူးဆိုရင္ တျခားေနရာမွာရွိမယ္ဆိုရင္ ဥပမာ /mnt/usb လိုေအာက္မွာရွိမယ္ဆိုရင္ အဲဒီ folder ကို manually ဖြင့္ျပီးေတာ့ access လုပ္နိုင္ပါတယ္။ အကယ္လို့ ကိုယ့္ usb hdd က GB ပမာဏ ျကီးေနမယ္ဆိုရင္ mount options ေလးထည့္ေပးပါ။ ဥပမာ 80 GB နဲ့ အထက္ ( 120, 160, 320, 500, etc .. ) usb hdd ေတြအတြက္ ...

# mount -o large -t msdosfs /dev/da0s1 /media/usb

အကယ္၍ ကိုယ့္ external usb hdd က ntfs file system ျဖစ္ခဲ့မယ္ဆိုရင္ ntfs-3g နဲ့ mount ေပးရပါမယ္။ ntfs-3g သံုးနိုင္ေအာင္ လိုအပ္တဲ့ဟာေလးေတြ လုပ္ေပးရေအာင္ ေအာက္ကလို conf ဖိုင္ေတြထဲမွာ configuration ေတြလုပ္ေပးပါ။

Add fuse_load="YES" to /boot/loader.conf

# echo 'fuse_load="YES"' >> /boot/loader.conf

Add fusefs_enable="YES" to /etc/rc.conf
# echo 'fusefs_enable="YES"' >> /etc/rc.conf

Install sysutils/fusefs-ntfs port
# cd /usr/ports/sysutils/fusefs-ntfs
# make install clean
ဒါဆိုရင္ installation နဲ့ configuration ျပီးေလာက္ျပီး၊ စက္ကို reboot လုပ္ရေအာင္ ...

# shutdown -r now

ဒါမွမဟုတ္

# reboot

စက္ျပန္တက္လာျပီးရင္ က်ေနာ္တို့ ntfs file system ကို mount ျကည့္လို့ရပါျပီ။

# ntfs-3g /dev/da0s1 /media/usb

ဒါဆိုရင္ က်ေနာ္တို့ရဲ့ usb hdd ေတြကို ပံုမွန္ user တစ္ေယာက္အေနနဲ့ read/write အသံုးျပုလို့ရပါျပီ။

အကယ္၍ unmount လုပ္ခ်င္တဲ့အခါ ..

# umount /media/usb

References:
Disk Organization
Mounting and Unmounting File Systems

Enjoy!

Install flashplugin for Firefox on FreeBSD

FreeBSD-8 မွာ Firefox-3.5 အတြက္ flashplugin-10 ကို linux_base-f10 emulator ခံျပီး install လုပ္တာပါ။ FreeBSD 8 ကို install လုပ္ျပီးခ်ိန္မွာ Linux layer က default အေနနဲ့ enable မျဖစ္ေနပါဘူး။ အဲဒါေျကာင့္မို့ linux emulator ကို install လုပ္ျပီး enable အရင္လုပ္ေပးရမယ္။ ဘာလို့ linux emulator layer လိုအပ္လဲဆိုေတာ့ ခုက်ေနာ္ install လုပ္ခ်င္တဲ့ flash plugin က linux flashplugin ျဖစ္လို့ပါ။ linux_base-f10 ကို install မလုပ္ခင္ လိုအပ္တာေလးေတြ အရင္လုပ္ေပးရမယ္။ ေအာက္က command lines ေတြနဲ့ conf ဖိုင္ အသီးသီးမွာ လိုအပ္တဲ့ configuration ေတြကို ထည့္ေပးပါ။

Add linux_enable="YES" to /etc/rc.conf
# echo 'linux_enable="YES"' >> /etc/rc.conf

Add compat.linux.osrelease=2.6.16 to /etc/sysctl.conf
# echo 'compat.linux.osrelease=2.6.16' >> /etc/sysctl.conf

Add OVERRIDE_LINUX_BASE_PORT=f10 to /etc/make.conf
# echo 'OVERRIDE_LINUX_BASE_PORT=f10' >> /etc/make.conf

ျပီးရင္ linux process file system ကို fstab ဖိုင္ ေအာက္ကအတိုင္း ထည့္ေပးရေအာင္ ..

Make a directory for linux proc
# mkdir -p /usr/compat/linux/proc

Add this line to /etc/fstab:
linproc /usr/compat/linux/proc linprocfs rw 0 0

ျပီးရင္ က်ေနာ္တို့ linux kernel module ရွိလား မရွိလား ျကည့္ရေအာင္ ..

Check Linux kernel modules
# cd /boot/kernel
# ls lin*

linker.hints linsysfs.ko linux.ko.symbols
linprocfs.ko linsysfs.ko.symbols
linprocfs.ko.symbols linux.ko

အဲဒီမွာ linux*.ko ကို မေတြရင္ ေအာက္ကအတိုင္း linux module ကိုေအာက္ကအတိုင္း install လုပ္ေပးရမယ္။

Install linux module
# cd /usr/src/sys/modules/linux
# make install clean

တကယ္ေတာ့ FreeBSD-8 မွာ linux module က ပါလာျပီးသားပါ။ ဒီအေပါ္က linux module build တဲ့အဆင့္ကို က်ေနာ္မလုပ္ေပးခဲ့ရဘူး။
အဲဒါေတြ လုပ္ေဆာင္ျပီးရင္ေတာ့ စက္ကို reboot လုပ္ေပးဖို့လိုအပ္ပါတယ္။ reboot ျပန္တက္လာတဲ့အခါ linux module လဲ load လုပ္ျပီးသားျဖစ္ေနပါျပီး linprocfs လဲ run ေနပါျပီး။ အဲလိုဆိုရင္ က်ေနာ္တို့လိုအပ္တဲ့ linux_base-f10 emulator နဲ့ flashplugin ကို install လုပ္နိုင္ပါျပီ။ ျကားျဖတ္ေျပာရမယ္ဆိုရင္ linux_base emulator install လုပ္ျပီးရင္ linux မွာ run လို့ရတဲ့ applications ေတြ packages ေတြကို install လုပ္ျပီး run လို့ရပါတယ္။ linux applications ေတြဟာ တခ်ုိ့ဆိုရင္ FreeBSD ေပါ္မွာ run ရတာ Linux မွာထက္ ပိုျပီးေတာင္ ျမန္ေနပါတယ္။ တခ်ုိ့ဟာေတြကေတာ့ Linux မွာလို ျမန္ပါတယ္။ ဒီ emulator သံုးလို့ Performance နဲ့ Speed က်သြားတယ္ဆိုတာမ်ုိး လံုးဝ မရွိပါဘူး။ တကယ့္ native အတိုင္း run ပါတယ္။ ကဲ က်ေနာ္တို့ လိုအပ္တာေတြ ရွိေသးေတာ့ ဆက္ျပီး install လုပ္ရေအာင္ ..

Install linux_base-f10 emulator
# cd /usr/ports/emulators/linux_base-f10
# make install clean

ျပီးရင္ အကယ္၍ firefox ကို install မလုပ္ရေသးဘူးဆိုရင္ လုပ္ရေအာင္ .. က်ေနာ္ကေတာ့ firefox35 port ကေန install လုပ္ပါတယ္။ firefox-devel port က firefox3.6rc2 က development အဆင့္မွာရွိေနတာမို့ recommended မလုပ္ခ်င္ပါဘူး။

Install firefox35 port
# cd /usr/ports/www/firefox35
# make install clean

firefox port ကို install လုပ္ရတာ စက္ရဲ့ speed ေပာ္မူတည္ျပီး နည္းနည္းျကာတက္ပါတယ္။ ျပီးရင္ linux-f10-flashplugin10 နဲ့ nspluginwrapper ကို install လုပ္ပါမယ္။

Install linux-f10-flashplugin10 port
# cd /usr/ports/www/linux-f10-flashplugin10 && make install clean

Install nspluginwrapper port

# cd /usr/ports/www/nspluginwrapper && make install clean

ျပီးရင္ libflashplayer.so ကို ရွာျကည့္မယ္။

# find / -name libflashplayer.so

/usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so
output လုပ္ေပးတဲ့အထဲက lines ေတြထဲမွာ အေပာ္ကလို line ကိုေတြ့လိမ့္မယ္။ အဲဒီအခါက်ရင္ super user (root) ကေန exit လုပ္ေပးျပီး ေအာက္က comand line ကို run ေပးလိုက္ရင္ error ေတြမျပေတာ့တဲ့အခါ Youtube video ကို ျကည့္နိုင္ပါျပီ။ အကယ္လို့ ဒီေအာက္က command line ကို run ေနစဥ္မွာ firefox ဖြင့္ထားမယ္ဆိုရင္ ျပန္ restart လုပ္ေပးျပီး youtube site ကို ျပန္သြားပါ။

$ nspluginwrapper -v -i /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so

References:
Linux Binary Compatibility
Mozilla Firefox and the Adobe Flash Player

Enjoy!

Install java on FreeBSD

FreeBSD-8 မွာ Java ကို install လုပ္တာေလးပါ။ က်ေနာ္က java/openjdk6 port ကေန install လုပ္ပါတယ္။ ports ေတြကေန install မလုပ္ခင္အရင္ဆံုး port tree ကို update လုပ္ေပးဖို့လုိအပ္လိမ့္မယ္။ က်ေနာ္ကေတာ့ ports tree update လုပ္တဲ့အခါမွာ portsnap ကိုသံုးတယ္။ ports tree update လုပ္ေပးျပီးျပီဆိုရင္ ဆက္ရေအာင္ ...

# cd /usr/ports/java/openjdk6
# make install clean

အဲလို စျပီး install လုပ္တာနဲ့ port install error ေတြျပပါမယ္။ Terminal ကျပတဲ့ error messages ေတြကို ဂရုတစိုက္ဖတ္ျပီး လုိအပ္တာေတြကို download ခ်သင့္ကခ်ရပါမယ္။ က်ေနာ္ install လုပ္စဥ္တုန္းက ေအာက္ကဟာေတြကို internet မွာရွာျပီး download လုပ္တယ္၊ ျပီးရင္ /usr/ports/distfiles ေအာက္မွာ ထားေပး လိုက္တယ္။

diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2
tzupdater-1_3_21-2009p.zip
jce_policy-6.zip
dejavu-fonts-ttf-2.30.tar.bz2

က်ေနာ့္တုန္းက အေပာ္ကဟာေတြလိုေပမယ့္ ကိုယ့္ရဲ့ port version အလိုက္ေျပာင္း ခ်င္ေျပာင္းနိုင္တာမို့ error messages တို့ suggestion messages တို့က ျကည့္ျပီး လုပ္ေပးပါ။ ဒီ java/openjdk6 port ကို install လုပ္ျပီးသြားျပီးဆိုရင္ေတာ့ က်ေနာ္တဲ့ eclipse တို့ virtualbox တို့ စတဲ့ java နဲ့ သက္ဆိုင္တာေတြ ဆက္သြင္းလို့ရပါျပီး။

Firefox java plugin အတြက္ကေတာ့ ေအာက္က command line ေလးကို run လုိက္ရင္ အဆင္ေျပတယ္။

% ln -s /usr/local/diablo-jdk1.6.0/jre/plugin/i386/ns7/libjavaplugin_oji.so \
$HOME/.mozilla/plugins/

အဲဒါဆိုရင္ Firefox java plugin ရပါျပီး။ အဲဒါဆိုရင္ Firefox java plugin ရပါျပီး။ က်ေနာ့္ firefox35 port version က firefox-3.5.7,1.

References:
FreeBSD Handbook
http://www.freebsd.org/doc/en/books/handbook/desktop-browsers.html

Enjoy!

Fun boys

ခုတေလာ forums ေတြမွာေရာ blogs ေတြမွာေရာ ေနရာတိုင္းမွာ ဘယ္ OS ကေကာင္းတယ္ ငါ့ OS က မင္း OS ထက္ပိုေကာင္းတယ္ ဆိုျပီး အျငင္းအခံုေတြမ်ားပိုမ်ားလာတယ္။ M$ လို corp ေတြကိုမုန္းလို့ anti-corporation anti-Microsoft ideology နဲ့ Linux camps မွာလဲ Linux fun boys ေတြက က်ယ္ေလာင္က်ယ္ .. Mac camps က Mac fun boys ေတြကလဲ က်ယ္ေလာင္က်ယ္ေလာင္။ က်ယ္ေလာင္က်ယ္ေလာင္ လုပ္တဲ့ေနရာမွာ Linux camps က Mac camps က fun boys ေတြထက္ ပိုဆိုးမယ္ ထင္တယ္။ BSD-ish ေတြကလဲ GPL-ish ေတြကို မျကိုက္ျကဘူး။ Linux နဲ့ FreeBSD fun boys ျကားမွာလဲ အဲဒီ war ကတစ္မ်ိုး။ အဆိုးဆံုးက [OSS]-religion အစြန္းေရာက္ေတြပဲ။ ငါ့ဘုရားမွ အေကာင္းဆံုး အသာဆံုးဆိုတာမ်ိုးက ေရာဂါပိုျကီးတယ္။
က်ေနာှ့အေနနဲ့ကေတာ့ Linux ေရာ FreeBSD ေရာသံုးပါတယ္။ ေလ့လာပါတယ္။ ဒါေပမယ့္ Linux fun boy တစ္ေယာက္အေနနဲ့ က်ယ္ေလာင္က်ယ္ေလာင္မလုပ္ခ်င္ဘူး။ အရင္ကတည္းက religion ကိုမျကိုက္ခဲ့တာ။ အဲေတာ့ က်ေနာှ့အတြက္ အသင့္ေတာှဆံုးျဖစ္မယ့္ FreeBSD camp မွာ FreeBSD fun boy အေနနဲ့ တိတ္တိတ္ဆိတ္ဆိတ္ပဲ သံုးခ်င္ေတာ့တယ္။