วิธีปรับ Bash on Windows ให้น่าใช้ด้วย oh-my-zsh และ cmder ตอนที่ 2

Standard
บทความก่อนหน้านี้เราได้พูดถึงการติดตั้ง Cmder ให้สามารถใช้งาน bash on windows  ไปแล้ว  บทความนี้ก็จะมาพูดถึงการติดตั้ง oh-my-zsh กันต่อครับ  เพื่อให้รูปแบบดูสวยงาม   ที่สำคัญคือมี plugin แสดงสถานะ git ด้วย   อันนี้ชอบมาก  เพราะบางกรณีการใช้งาน git บน command line ก็เร็วกว่าบน GUI

วิธีติดตั้ง
1. ติดตั้ง ZSH
sudo apt-get install zsh
2. ติดตั้ง oh-my-zsh
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
3. ตั้งค่าให้ zsh เป็น default shell โดยไปแก้ไขไฟล์ .bashrc  (ลองวิธี chsh แล้วไม่ได้)
vim ~/.bashrc
จากนั้นเพิ่มคำสั่งนี้ใน .bashrc
# Launch Zsh
if [ -t 1 ]; then
    exec zsh
fi
4. เราสามารถเปลี่ยน theme ได้  โดยแก้ไขไฟล์  ~/.zshrc แล้วแก้ ZSH_THEME เป็นตัวที่เราต้องการ  สามารถเข้าไปดูรูปแบบของ theme ได้ที่  https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
vim ~/.zshrc

5. ในที่นี้ผมเลือกใช้ Theme agnoster  จะต้องลง font  power line เพิ่ม ( https://gist.github.com/agnoster/3712874)  แล้วเข้าไปใน settings ของ cmder เพื่อตั้งค่าให้ใช้ font Inconsolata for Powerline



เพียงเท่านี้เราก็จะได้ shell สวย ๆ ไว้ใช้งานแล้วครับ



Tips : เวลาใช้งานแนะนำให้เปิด full screen และใช้ปุ่ม win + alt + space  ในการ toggle cmder ครับ


ทดสอบเข้าไปใน Folder ที่มี git อยู่ก็จะแสดง branch ที่เราอยู่ด้วยครับ



เป็นอันจบครับ ^^

วิธีปรับ Bash on Windows ให้น่าใช้ด้วย oh-my-zsh และ cmder ตอนที่ 1

Standard


หลังจากที่มีโอกาศได้ลองใช้ Bash on Windows ตั้งแต่เวอร์ชั่น Insider Preview  ก็เริ่มติดใจ  เพราะปกติทำงานบน Mac ก็ใช้ Command Line บ่อยอยู่แล้ว     พอ Microsoft ออก Update windows 10 Aniversary ก็เลยได้กลับมาใช้ Bash on Windows (ก่อนหน้านี้ใช้ Cygwin)

ปกติถ้าทำงานบน Mac ก็จะใช้ iTerm2 กับ oh-my-zsh แล้วปรับ theme กับ hotkeys ตามที่เราถนัด   พอย้ายมาเป็น windows ก็พยายามจะหา tool พวกนั้นให้ทำงานคล้าย ๆ กัน  จะได้ทำงานได้สะดวก

สำหรับวิธีการเปิดใช้งาน Bash ขอ emmbed จากของเก่ามานะครับ  เนื่องจากวิธีการเปิดใช้งานแทบจะไม่ต่างจากเดิมเลย




Tools ที่นำมาใช้ก็คือ
- Cmder (พัฒนามาจาก Conemu) ใช้สำหรับการ full screen และ hide โดยใช้  hotkeys
- oh-my-zsh ใช้สำหรับปรับ theme ของ shell ให้สวยงาม



วิธีติดตั้ง Cmder

1. เข้าไป download โปรแกรมได้ที่ http://cmder.net/
2. Extrack file zip ที่ download มาไปใส่ใน c:\cmder (จริง ๆ  เอาไว้ตรงไหนก็ได้ แต่ต้องชี้ path ให้ถูก)
Configuration
3. เข้าไปตั้งค่า Path
3.1 กด windows + x แล้วเลือก System

3.2 เลือก Advance System Settings


3.3 เลือก Environmetn Variables


3.4 ใน System Variables ให้เลือก Path แล้วกด Edit จากนั้น



5. กด New แล้วใส่ path ที่เราติดตั้งโปรแกรม (ในที่นี้ติดตั้งไว้ที่ c:\cmder) แล้วกด OK


วิธีตั้งค่าการใช้งาน Cmder

1. เปิด Cmder ขึ้นมาแล้วกด Windows + alt + p จากนั้นจะมีหน้า Settings ขึ้นมา


2.  ใน Main > Apprearance ให้ตั้งค่าดังนี้ เพื่อ shell ของเราอยู่เหนือโปรแกรมอื่น (Always on top)

3. ตั้งค่า Transparent เพื่อกำหนดความโปร่งใสของ Shell ตามต้องการ

4. ตั้งค่าการ Minimize / Resotre ด้วยการกดปุ่ม Win + alt + space  วิธีนี้ติดมาจาก Iterm

5. สร้าง Task ใหม่ใน Startup > Task  แล้วตั้งค่าให้ bash on windows เป็นตัว default  ของ cmder



เพียงเท่านี้เราก็จะสามารถใช้งาน bash on window โดยใช้ cmder ได้แล้วครับ  แต่ยังไม่มีสีที่สวยงาม  ต่อไปเราจะไปติดตั้ง oh-my-zsh กันครับ  ตามไปดูได้ที่ วิธีปรับ Bash on Windows ให้น่าใช้ด้วย oh-my-zsh และ cmder  ตอนที่ 2

[CentOS] - แก้ปัญหา Login ด้วย Public Key ไม่ได้

Standard
ปกติเวลาจะใช้งาน Server ตัวไหนด้วยการ SSH ก็จะต้อง Login ด้วย Key ตลอด  เพราะไม่ต้องคอยพิมพ์รหัสผ่าน  และปลอดภัยกว่าการใช้รหัสผ่าน

วันนี้ดันเจอปัญหา Login โดยใช้ Key เข้า CentOS7 ไม่ได้ ทั้ง ๆ ที่ Add Key เข้าไปแล้ว  ลอง Search วิธีแก้ก็ไม่ยาก  chmod ~/.ssh/authorized_keys เป็น 700  ก็เข้าใช้งานได้เลยฮ่า ๆ ใครเจอปัญหาเหมือนกันลองแก้ดูนะครับ
chmod 700 ~/.ssh/authorized_keys

Linkit Smart 7688 : วิธีเปิดใช้งาน STA+AP พร้อมกัน

Standard

เนื่องจากบางครั้งเราต้องพัฒนาโปรแกรมบน Linkit Smart 7688 โดยใช้คอมพิวเตอร์ของเราไปต่อกับ WIFI ของ Linkit Smart 7688 ซึ่งกำลังใช้งานอยู่ใน AP Mode และในขณะเดียวกันเราต้องการให้คอมพิวเตอร์ของเราสามารถออก Internet ได้ด้วย จึงจำเป็นต้องเปิด STA Mode พร้อมกับ AP Mode เพื่อให้ Linkit Smart 7688 เป็นตัวแชร์ Internet ให้คอมพิวเตอร์ของเรา

แนวทางการตั้งค่าคือใช้ UCI Command ไปสั่ง Enable STA Mode แล้ว restart network service    หลังจาก restart service แล้วเครื่องเราจะสามารถใช้งาน Internet ได้  แต่ต้องสั่ง disable sta mode อีกครั้ง  เพื่อไม่ให้เกิดปัญหาตอน startup

1. uci set wireless.sta.disabled='0'
2. uci commit
3. /etc/init.d/network restart
4. uci set wireless.sta.disabled='1
5. uci commit

เมื่อเข้าใจวิธีการตั้งค่าแล้ว  เราสามารถสร้างเป็น bash script เพื่อให้สั่งใช้งานได้ง่ายขึ้น

Credit : Nat Weerawan  http://www.slideshare.net/inatialz/link-it-smart-7688-meetup-bangkok

Solaris : How to capture packet with snoop and filter data

Standard

credit picture from udemy

Capture all packet

snoop -v -o <filename.pcap> host <IP>

Replace filename and ip address


Capture with condition
snoop -v -o <filename.pcap> host <IP> and port 162 or port 161
In example, I capture snmp packet by specific port.

วิธีทำ Node JS ใน Linkit Smart 7688 ให้ทำงานแบบ Service

Standard

หลังจากที่ Linkit Smart 7688 ได้ออกมาให้เล่น  พบว่าภาษาที่ง่ายต่อการพัฒนาคือ Python และ Node JS   หลังจากที่เราพัฒนา App เสร็จแล้วก็ต้องหาวิธีทำให้มันรันง่าย ๆ หรือทำงานเลยตอน boot ขึ้นมา  บทความนี้เลยจะมาทำให้ Node JS ทำงานแบบ Service ครับ   โดยเราไป create file ไว้ที่  /etc/init.d/servicename โดยมี code ตามล่าง สามารถปรับเปลี่ยน start , stop script เองได้


ส่วนวิธีการเรียกใช้งานสามารถดูเพิ่มเติมได้ที่ Init Script

Wordpress : ใช้ SSL ของ Cloud flare แต่รูปดันโหลดไม่ขึ้น

Standard


หลังจากที่ต้องการให้เว็บ AppStack (https://www.appstack.cc) มี SSL กับเค้าบ้าง  ก็ลองไปดูข้อมูล  จะมีตัวเลือกอยู่สองตัวคือ  Letsencrypt กับ Cloudflare ซึ่งก่อนหน้านี้ก็ใช้ Cloundflare จัดการเรื่อง cache และ  DNS อยู่แล้ว  ก็เลยตัดสินใจใช้ Cloudflare เพราะตั้งค่าง่ายมาก

หลังจากตั้งค่า Page rule และ SSL ใน Cloudflare ไปแล้ว  ปรากฏว่าเวลาเปิดใน chrome แล้วรูปโหลดไม่ขึ้น ตอนเทสไม่เจอปัญหาเพราะ safari โหลดได้ปกติ  (เอ่ะหรือว่ามัน cache) ก็ไม่ได้ใส่ใจ  พึ่งมาเห็นทีหลังว่า chrome มีปัญหา  ก็เลยไปหาวิธีแก้ดูครับ  ตอนแรกก็มั่ว ๆ ไป update database โดยให้ content ชี้ URL รูปไปที่ https://......   ก็ยังไม่ได้   ก็เลยลอง search ดูเค้าบอกให้ลองไปตั้งค่าใน  General Setting

สรุปว่าตั้งค่าเสร็จก็ใช้งานได้ปกติเลยครับ