ถ้านับจริงๆมันก็เกินล่ะครับ :P ขอใช้เลข 5 ให้ title มันสวยๆก็แล้วกัน
โพสนี้เป็นเหมือน checklist ที่ผมจะทำหากต้องติดตั้งหรือลง OSX ใหม่ (คือไม่ได้ upgrade แต่เนื่องจาก format harddisk เปลี่ยน harddisk ฯ)
ซอฟต์แวร์ส่วนใหญ่ในนี้จะเป็นของโปรแกรมเมอร์ซะส่วนใหญ่ แต่ถ้า คนอ่านที่หลงเข้ามาไม่ใช่สาย IT ผมก็คิดว่าซอฟต์แวร์บางตัวก็มีประโยชน์กับอาชีพอื่นๆ นอกจากโปรแกรมเมอร์เช่นกัน
ขั้นตอนการติดตั้งซอฟต์แร์ต่างๆ จำเป็นต้องใช้ internet ฉะนั้นก่อนจะพิมพ์คำสั่ง แล้วกด Enter ให้แน่ใจว่าเชื่อมต่อ internet อยู่นะครับ
1 ซอฟต์แวร์พื้นฐาน
Trim Enabler ผมใช้ SSD solid state drive จึงต้องลงตัวนี้ก่อน เพื่อ enable TRIM
เจ้า TRIM คืออะไรเอาง่ายๆคือ มันจะทำให้ประสิทธิที่ภาพการเขียนลง SSD disk ดีอยู่เสมอ อาจจะเห็นว่ามันแสดง 10USD โหลดมาเถอะครับ สิ่งที่เราต้องการไม่ต้องเสียเงิน เค้าคิด 10$ หากต้องการใช้ full feature
เขียนอ่าน NTFS partition/drive ได้
ตัวนี้ วิธีทำให้ OSX 10.10 Yosemite อ่าน/เขียน NTFS ได้ ของผมยังคงใช้งานได้อยู่
ohmyzsh
ตัวนี้ผมเรียกว่าเป็น shell utility ทำให้การใช้งาน command line สะดวกสบายขึ้นเยอะ
พิมพ์คำสั่งข้างล่างใน Terminal app เพื่อเริมการติดตั้ง
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
ติดตั้งแล้วก็ config มันหน่อย แก้ไข ~/.zshrc
ZSH_THEME="gnzh”
...
plugins=(git sublime osx)
ZSH theme จะเกี่ยวกับเรื่อง สีสันใน terminal และตัว prompt ของเราplugin 3 ตัวนี้
git เวลาอยู่ใน directory ที่เป็น Git repository มันจะแสดง prompt ให้เราเห็นชัดเจนเลย ว่าตอนนี้อยู่ใน Git repo แล้วอยู่ branch ไหนก็บอกได้ด้วย
sublime ตัวนี้ลงไว้เพื่อ พิมพ์
subl ชื่อไฟล์
แล้วมันจะเปิด Sublime Text พร้อมไฟล์ที่เราใส่เข้าไปให้เลย osx เวลาเรานึกหรือขี้เกียจพิมพ์ option ต่างๆ กด tab แล้วมันจะช่วยแสดงออกมาให้
และหากใช้ macbook ต่อกับ window keyboard แบบผม คุณจะใช้ numpad ใน terminal ไม่ได้ ถ้าไม่ได้ใส่ configuration แบบข้างล่างนี้เข้าไปใน
~/.zshrc
ด้วย # 20150102 zsh numpad binding
# Keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[On" "."
bindkey -s "^[OM" "^M"
# 1 2 3
bindkey -s "^[Oq" "1"
bindkey -s "^[Or" "2"
bindkey -s "^[Os" "3"
# 4 5 6
bindkey -s "^[Ot" "4"
bindkey -s "^[Ou" "5"
bindkey -s "^[Ov" "6"
# 7 8 9
bindkey -s "^[Ow" "7"
bindkey -s "^[Ox" "8"
bindkey -s "^[Oy" "9"
# + - * /
bindkey -s "^[Ok" "+"
bindkey -s "^[Om" "-"
bindkey -s "^[Oj" "*"
bindkey -s "^[Oo" "/"
เวบไซด์อย่างเป็นทางการ ohmyz.sh Command line tools
ตัวนี้จำเป็นสำหรับ ขั้นตอนต่อไป พิมพ์คำสั่งข้างล่างนี้ใน Terminal app
$ xcode-select --install
Homebrew
เค้าเรียกกันว่ามันคือ package manager ที่สาบสูญของ OS X
พิมพ์คำสั่งข้างล่างใน Terminal app เพื่อเริ่มการติดตั้ง
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew จะทำให้เราสามารถใช้คำสั่งเหมือนที่ใช้ใน linux อย่าง Ubuntu ได้ง่ายๆ คือเรียกเอามาติดตั้งได้ง่ายๆ ถ้าอยากจะลง package เช่น subversion, node, iojs พอลง brew เสร็จ มันก็จะลงเจ้าพวกที่ว่ามานี้ได้ง่ายมั่ก เวบไซด์อย่างเป็นทางการ brew.sh
2 ซอฟต์แวร์สำหรับโปรแกรมเมอร์
ณ เวลาที่เขียนนี้ เพิ่งมารู้ว่า Oracle ไม่เปิดให้ download JDK 7 สำหรับบุคคลทั่วไปแล้ว จะต้องเสียเงินถึงจะเข้าไป download ได้ (อยู่ใน section Java SE Support)ไปดาวโหลด JDK 8 ได้จาก ที่นี่ Java download ได้ dmg มาแล้วก้อ click ขวา open แล้วทำตามขั้นตอนไปตามที่เค้าแนะนำครับ
รวม FAQ https://www.java.com/en/download/faq/java_mac.xml หากอยากถอยไปใช้ Java 6 ก็มีลิ้งบอกวิธีอยู่
ถ้าพัฒนางานด้วย Java จะไม่ติดตั้ง 2 ตัวนี้คงไม่ได้
Java build tools: Ant, Maven
- Dowload Ant เลือกตัวที่เป็น .tar.gz archive
- Download Maven เลือกตัวที่เป็น Binary tar.gz archive
ผมชอบที่จะเอา software tools เหล่านี้เอาไว้ที่เดียวกัน ที่ apps folder /Users/dahoba/apps
เมื่อแตกไฟล์ distribution ของทั้ง 2 ตัวแล้วก็ต้องมาเซต PATH ให้มันด้วย ใน ~/.zshrc
...
export ANT_HOME=/Users/dahoba/apps/apache-ant-1.9.6
export M2_HOME=/Users/dahoba/apps/apache-maven-3.3.3
...
export PATH=$PATH:$ANT_HOME/bin:$M2_HOME/bin
...
อื่นๆ ที่ขาดไม่ได้
ถ้ายังไม่มีตัวติดตั้งก็กดที่ลิ้งเพื่อ download ได้เลย
- Sublime Text Text editor ที่ขาดไม่ได้ในทศวรรษนี้ download
- Eclipse for Java EE Developers
- Chrome browser
3 ซอฟต์แวร์เพื่อ Productivity
เป็น terminal app ที่ OS X ควรจะเป็น ผมชอบตรงที่มัน split ช่องได้ด้วย keyboard shortcut iTerm2 download
Slate
Utility ตัวนี้ก็ว่ากันว่าเป็น window manager ที่สาบสูญไปจาก OSX อีกเช่นกัน
พิมพ์คำสั่งข้างล่างใน Terminal app เพื่อเริ่มการติดตั้ง
$ cd /Applications && curl http://www.ninjamonkeysoftware.com/slate/versions/slate-latest.tar.gz | tar -xz
Slate นี่มันต้อง config เหนื่อยหน่อยนะครับ ของผมดูแนวทางจาก Tristan Hume blog นี้
ของผมเป็นแบบนี้
# This is the .slate file for sinb-56-001 and samsung 22" | |
config defaultToCurrentScreen true | |
config nudgePercentOf screenSize | |
config resizePercentOf screenSize | |
config windowHintsIgnoreHiddenWindows false | |
# Monitor Aliases | |
# Find your config from System >Preferences >Display >Resolution >Scaled | |
alias mon-laptop 1280x800 | |
alias mon-external 1680x1050 | |
alias showNormalHint hint AOEUIDHTNSYXFBPKGMCW | |
alias middle move screenOriginX+screenSizeX/8;screenOriginY+screenSizeY/8 3*screenSizeX/4;3*screenSizeY/4 | |
alias rightmost move screenOriginX+screenSizeX*0.4;screenOriginY screenSizeX*0.9;screenSizeY | |
# Position Aliases | |
alias 1-chat move screenSizeX-3*screenSizeX/9;screenOriginY screenSizeX/9;screenSizeY ${mon-laptop} | |
alias 0-chat move screenSizeX-3*screenSizeX/9;screenOriginY screenSizeX/9;screenSizeY ${mon-external} | |
alias 1-main move screenOriginX;screenOriginY 8*screenSizeX/9;screenSizeY ${mon-laptop} | |
alias 2-bot move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX;screenSizeY/2 ${mon-external} | |
alias 2-bot-l move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX/3;screenSizeY/2 ${mon-external} | |
alias 2-bot-m move screenOriginX+screenSizeX/3;screenOriginY+screenSizeY/2 screenSizeX/3;screenSizeY/2 ${mon-external} | |
alias 2-bot-r move screenOriginX+2*screenSizeX/3;screenOriginY+screenSizeY/2 screenSizeX/3;screenSizeY/2 ${mon-external} | |
alias 2-mid move screenOriginX+screenSizeX/8;screenOriginY+screenSizeY/8 3*screenSizeX/4;3*screenSizeY/4 ${mon-external} | |
alias 2-top move screenOriginX;screenOriginY screenSizeX;screenSizeY/2 ${mon-external} | |
alias 2-top-l move screenOriginX;screenOriginY screenSizeX/2;screenSizeY/2 ${mon-external} | |
alias 2-top-m move screenOriginX+screenSizeX/6;screenOriginY 2*screenSizeX/3;screenSizeY/2 ${mon-external} | |
alias 2-top-r move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2 ${mon-external} | |
alias 2-left move screenOriginX;screenOriginY screenSizeX/2;screenSizeY ${mon-external} | |
alias 2-right move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY ${mon-external} | |
# 2 Monitor layout | |
layout 2monitors 'iTerm':SORT_TITLE ${2-bot-l} | ${2-bot-m} | ${2-bot-r} | |
layout 2monitors 'Google Chrome':REPEAT ${1-main} | |
layout 2monitors 'MacVim' ${2-top-r} | ${2-top-l} | ${2-top-m} | |
layout 2monitors 'Firefox':REPEAT ${2-mid} | |
layout 2monitors 'Xcode':REPEAT ${2-top} | |
layout 2monitors 'Eclipse':REPEAT ${2-bot} | |
layout 2monitors 'Hangouts' ${0-chat} | |
# 1 Monitor layout | |
layout 1monitor 'iTerm':SORT_TITLE,REPEAT ${1-main} | |
layout 1monitor 'Google Chrome':REPEAT ${1-main} | |
layout 1monitor 'MacVim':REPEAT ${1-main} | |
layout 1monitor 'Firefox':REPEAT ${1-main} | |
layout 1monitor 'Xcode':REPEAT ${1-main} | |
layout 1monitor 'Eclipse':REPEAT ${1-main} | |
# Default Layouts | |
default 2monitors resolutions:${mon-external};${mon-laptop} | |
default 1monitor resolutions:${mon-laptop} | |
# Basic location Bindings | |
bind pad0:ctrl ${1-chat} | |
bind 0:ctrl ${0-chat} | |
bind [:ctrl ${1-chat} | |
bind pad.:ctrl ${1-main} | |
bind ]:ctrl ${1-main} | |
bind pad1:ctrl ${2-bot-l} | |
bind pad2:ctrl ${2-bot-m} | |
bind pad3:ctrl ${2-bot-r} | |
bind pad4:ctrl ${2-left} | |
bind pad5:ctrl ${middle} | |
bind pad6:ctrl ${rightmost} | |
bind pad7:ctrl ${2-top-l} | |
bind pad8:ctrl ${2-top-m} | |
bind pad9:ctrl ${2-top-r} | |
bind pad=:ctrl ${2-top} | |
bind pad/:ctrl ${2-bot} | |
# Window Hints | |
#bind e:cmd hint ${showNormalHint} | |
# Grid | |
bind g:cmd grid padding:5 0:6,4 1:6,3 |
ถ้าใครอยากได้ที่มันง่ายๆกว่านี้ ก็ลองหาดู Divvy, Moom, ตัวนี้ฟรี Spectacle
ไฟล์ส่วนตัวใน Cloud
4 เครื่องมือสื่อสารกับทีม
เครื่องมือสื่อสารกับทีม
- Skype,
- LINE
- Google Hangouts
5 Configuration
ปรับการใช้งาน touchpad
ใช้งาน 3 นิ้วพร้อมกันได้
ไม่ใช้ natural scroll
ปรับเวลาเป็นแบบ 24 ชั่วโมง
ทำ lock icon บน menu bar เวลาจะลุกจากที่นั่งผมชอบที่จะต้อง lock computer เอาไว้ ทำ icon ไว้ตรงนี้จะทำให้สะดวกขึ้นมาก
วิธี:
- เปิด app “Keychain Access” จะใช้ spotlight ค้นหาหรือจะใช้ Finder ก็จะอยู่ใน /Applications/Utilities.
- เลือก “Show Status in Menu Bar” จากเมนู View
- ทีนี้เราจะได้ lock icon ที่ menu bar แล้ว ใช้ Lock the screen เพื่อ lock screen เมื่อกลับมา ลาก mouse หรือกด key อะไรๆก็ได้ มันจะถาม password ก่อนจะอนุญาตให้กลับเข้ามาใช้งานได้