Mac OSX 比起 Windows 來說,最讓人讚嘆的地方就是內建許多 "有用" 的小軟體 [1],比如說 "磁碟工具程式"、"預覽程式" ... 等等。但是除了這些具有圖形介面的程式之外,還有一個隱藏的寶庫尚待使用者去發掘,那就是承襲 BSD base 的 Shell command !! 雖然麥金塔系統的精華在於圖形使用者介面 (GUI),但是換成 BSD 核心後,附帶的眾多命令列程式 (Command line,CL) 不用也是可惜,有時候幾行指令就可以解決問題,提高不少工作效率 [2]。
不過,Apple Inc. 並不是將 BSD "平行" 地整合進 Mac OSX,他們對於系統內核進行了諸多修改,包括很多命令列工具亦是如此。這次要介紹的內建小工具即是 Mac OSX 特有的,而且更特別的是,使用者已經在不知情的情況下用了很多年,它就是 "螢幕擷圖" 的功能。
前些日子,我在某雜誌上看到一個蠻實用的小軟體 -- 7Capture :
這軟體功能不多,就只能擷取整個螢幕畫面跟單一視窗,但是已經非常實用。回頭看看我們的 Mac,這功能早就內建在系統中了,怎麼使用呢 ? 大致上有三個熱鍵比較常用 [3] :
- Command + Shift + 3 = 擷取整個主螢幕的圖
- Command + Shift + 4 = 此時滑鼠游標會變成十字型,圈選的地方就是擷圖的範圍
- Command + Shift + 4 (游標變成十字後) + Space = 擷取任一視窗、圖示、工具列 .. 等的擷圖 :
(系統內建的螢幕擷圖功能會將檔案存在桌面,更改預設儲存路徑可用指令:defaults write com.apple.screencapture location /指定路徑/)
看到這裡,應該很多人心裡想 "後 !! 這我早就用過了嘛 !!" 沒錯,這不是什麼新東西,但是如果可以找到這工具的本尊,利用終端機輸入指令來執行,就可以做到一些平常用熱鍵做不到的事。
在電腦的世界裡,使用者能做的所有動作都由程式構成,由於螢幕截圖的熱鍵是跨程式均有效 (就像 "複製" 的 Command + C,幾乎每個程式裡都內建這個熱鍵),故我們可以得知這個功能應該是內建於系統支援的程式 Framework 中,而其本尊是一個獨立的小程式 "screencapture",儲存的路徑是 /usr/sbin/screencapture,每次當使用者按下這個熱鍵的時候,系統隨即送出一個訊息給 screencapture,請它進行螢幕擷圖的工作。
而在終端機中要怎麼操作它呢 ? 以下有幾個比較實用的指令 :
- screencapture -m [存檔路徑] = 擷取整個主螢幕的圖,效果同等於 Command + Shift + 3
- screencapture -i [存檔路徑] = 游標變成十字型,可再加按 Space,效果同等於 Command + Shift + 4
- screencapture -w [存檔路徑] = 直接進入選擇視窗擷圖的模式
- screencapture -C [存檔路徑] = 擷圖時包含滑鼠游標 (未加 i、w 等參數時,擷取整個螢幕的圖)
- screencapture -c = 將擷圖存在剪貼簿中
- screencapture -x [存檔路徑] = 擷圖時不要發出音效
- screencapture -o [存檔路徑] = 擷取視窗擷圖時不包含視窗的陰影 (10.5 later)
- screencapture -T [秒數] [存檔路徑] = [秒數] 後擷圖,預設是 5 秒 (10.5 later)
附註
1. 之所以要標註 "有用" 是因為 Windows 也內建不少小軟體,可是大多很爛 (Windows 7 之後有好很多),沒什麼實用價值,最有名的應該就是 "接龍" 跟 "踩地雷" = = 而最有用的應該是 "小畫家" (但我不諱言,小畫家真的蠻強的 .... 只是要用得好必須要有超人的技術 ......)。
2. 話雖那麼說,其實我一點都不想跟命令列程式為伍,好不容易進入 GUI 的時代何必再走回頭路 ? 只是有時候不用不行。至於 Windows 也是有它自己的命令列程式啦 ...... 只是實用度天差地遠,也沒啥人在用,頂多是讓某些 geek 拿來寫 bat 而已。
3. 好像加入 Control 鍵可以將圖送至剪貼板 ...... 不過這功能我沒用過 XD
4. 其實 Mac OSX 中有另外內建一個螢幕擷圖的工具程式,叫作 "畫面擷取" (位於 /應用程式/工具程式/畫面擷取),功能跟使用熱鍵幾乎一樣,只是這程式內部指定的擷圖熱鍵跟系統的不同而已。我想沒幾個人使用過這個軟體吧 ?! 因為系統的擷圖熱鍵實在太好用了,這小程式唯一特別的地方就是可以定時十秒後擷圖,不用進入終端機輸入指令。
沒有留言:
張貼留言