[OSX] 關於 Resume 這個功能…

OSX Lion 上有個新功能叫做「Resume」,這個功能的作用是當你重新啟動一個程式,系統將會自動開啟你上次關閉程式時所開啟的所有視窗與檔案,自動回覆到上次結束工作前一刻的狀態;甚至在重新開機,系統也會自動開啟你上次關機時所有開啟的程式與檔案。

這個功能不能說它爛,有的時候還會覺得它滿不錯的…可以讓人很快的進入狀況馬上開始工作(或是讓你一開機就進入最佳狀況玩起 Angry Bird 或上 Google+ 抬槓…),但是有些程式你一打開就出現上次關閉前的所有視窗,實在是有點討厭!舉個例子像是預覽程式,天曉得今天我要跟女朋友一起欣賞一張早上騎腳踏車的甜蜜照,它會不會順便很自動的打開昨天晚上在夜店和那個辣妹的摟腰照…(以上純屬虛構)

其實的確有些方法可以完全關閉 Resume 這個功能(系統偏好設定 > 一般 > 結束並重新打開應用程式時回復視窗),但仔細想想這樣是不是又有些可惜呢?關掉之後我打開 Pages 系統就不會再告訴我上次我論文寫到哪了…我只能看著空白的畫面,死命的回想上次我去刷馬桶之前,到底是寫到哪裡…甚至連檔案塞到哪去都忘了啊!(以上也是虛構)

如果不想完全關掉 Resume,某些程式又不想使用 Resume 功能,只要在關閉程式時多按個 ”Option” 鍵就行了。

XD

這樣系統就會放棄紀錄所有的視窗,可以暫時安心了XD!如果你怕會忘記按 Option,還有一個小程式叫做 Resuminator,它可以讓我們進階地預先設定哪些程式需要 Resume 功能、哪些程式不需要,這樣就更令人放心了對吧:P

Reference:
Dear Aunt TUAW: Help me fine-tune session window restores

[OSX] Launchpad 裡的圖示怎麼刪掉?

Launchpad 這個在 Lion 裡新增加的功能,雖然看起來酷似超大型的 iPad、功能上又似乎和 Dock 有些強碰,但它在組織的能力上卻是較為優越的,配合觸控手勢操作起來也確實相當順手。

但是,在系統預設的情形下,Launchpad 會把電腦內「所有的」應用程式(*.app 檔)全部都塞進去,包括了一些像是 Adobe Help.app 或 Google 日文輸入法套件裡那些一輩子都不會去開啟的神秘 .app 檔…,使得整個畫面看起來非常混亂,就算下定決心想要好好整理一番,也會因為圖示的數量太多而讓這件事情變得一點效率也沒有。這對於我們這種連桌布都不能太花的人來說簡直是場災難…!

還有一點很糟糕的事,就是我雖然知道怎麼把圖示加入 Launchpad 裡,卻不知道如何把圖示從 Launchpad 中移除…。找了一些資料之後,得知記錄圖示數量與位置的地方是在一個 *.db 的資料庫檔案 SQL 描述中,所以與其一行一行去找出來刪掉特定應用程式圖示,不如把 Launchpad 中的圖示全部清空之後再把需要的給放回去比較快,也更方便建立 Launchpad 中的資料夾,幫眾多的應用程式加以組織分類以方便自己日後尋找。

注意

一樣必須先提醒,以下動作將會修改系統檔案內容,風險難免,請自行謹慎評估並做好萬全備份準備動作之後,再決定是否跟著執行。

清空 Launchpad 的方法

在清空 Launchpad 之前必需要先做的,是讓 ~/Library 這個資料夾在 Finder 上重見天日。或許是基於某些安全性上的理由,在 OSX Lion 中蘋果把使用者家目錄中的資源庫資料夾給隱藏起來了,以至於在 Finder 中沒有辦法顯示出來。對於喜歡改東改西的人來說,這造成了一些困擾…所以我會先把隱藏的設定給取消。取消的方法很簡單,打開 Terminal (/應用程式/工具程式/終端機.app)並輸入下面的指令後按下 Enter 即可:

sudo chflags nohidden ~/Library

接著我們要找到 /Users/使用者名稱/Library/Application Support/Dock/ 這個資料夾,可以在 Finder 視窗中按下熱鍵 command + Shift + G,並於跳出來的視窗中輸入 ~/Library/Application Support/Dock/ 後前往即可。

在裡面我們可以看到一個 *.db 類型的檔案,請先將它複製一份到別的地方備份保存。接著一樣打開 Terminal 並輸入下面的指令後按下 Enter 即可:

sqlite3 ~/Library/Application\ Support/Dock/*.db 'DELETE FROM apps;' && killall Dock

如此一來應該可以發現我們 Launchpad 中的圖示全部都被清空洗白白了。之後要如何利用 Launchpad 整理分類電腦中的應用程式,就看大家的使用邏輯囉!另外,要把圖示加入 Launchpad 的方法很簡單,只要把應用程式資料夾內的圖示,利用 Drag & Drop 拖拉放的方式,拉到 Dock 上 Launchpad 的圖示上放開就可以了。(如果之前已經賭氣把 Dock 上的 Launchpad 刪掉的人,就先把它放回去一下吧XD)

我整理的方式和我使用 iPad、iPod 的邏輯一樣,把最最常用的應用程式放在第一頁,其他的分類放在其他頁面這樣,供大家參考囉!

[OSX] 在 Lion 中開啟 Trim 支援

從 OSX 10.6.7 的更新出現之後,蘋果的作業系統開始支援 SSD 的 Trim 指令,對於固態硬碟來說,這是一件很重要的事情,畢竟攸關硬碟效能壽命的維持啊!但是蘋果卻只針對由自家升級出廠的 SSD 開啟 Trim 指令,而不是所有所有支援 Trim 指令的 SSD 都享受得到…(好繞口!)

後來有人發現關鍵是在一個 kernel extension 檔案上。在這個檔案中, Trim 指令的支援與否是以硬碟的硬體型號描述來判斷,只會在硬體型號描述中符合「APPLE SSD」字串的情形下才會開啟。因此很自然的又有人用修改該 kernel extensions 檔案的方式,讓所有第三方 SSD 都能符合條件,更有人寫成了方便的小程式 Trim Enabler,讓大家都可以輕鬆的開啟 Trim 指令。

但是在系統昇級到 Lion 之後呢?由於 Trim Enabler 會把這個 kernel extensions 置換成 Snow Leopard 上的舊版本,這樣的動作會不會有什麼不良影響或是造成系統不穩定沒人可以保證,所以還是手動一步一步慢慢來比較保險,況且整個程序其實也不會太複雜。 繼續閱讀 [OSX] 在 Lion 中開啟 Trim 支援

光碟機改裝第二個硬碟,然後呢?

hdd

今天意外發現,在把光碟機改裝成第二個硬碟之後,似乎我們都忽略了一件重要的事情…,那就是 apm 造成 load cycle count 數值大增的這個老問題。這除了會讓硬碟有異音以外,理論上對於硬碟壽命也會有影響,所以還是對系統稍微作一些調整比較好。雖然以前針對裝在正規硬碟槽位置的硬碟有作過調整了,改裝到光碟機位置時卻忘記了這件重要的事情。

我個人是使用 WD 的硬碟,WD 或其他硬碟,在 Mac 上會有彩球、仔細聽硬碟覺得一定間隔時間會有滴答聲響,這應該和硬碟的能源節約功能有關。大部分的硬碟是針對 Microsoft 作業系統的環境進行能源節約最佳化,而這些硬碟使用在 Linux 或是像 Mac 這樣以 Unix 為基礎的作業系統環境上,就會出現一些問題…。

Apple 隨機出貨的硬碟,應該都做過了某些調整而避開了這樣的現象,所以在自行更換過內接硬碟之後,往往容易發生硬碟有異音、或是一定間隔時間出現彩球等等的狀況。這樣的問題或許只是有微小的異音而不影響電腦的使用,但也有可能會造成彩球出現,甚至影響電池使用時間。這些在 Apple 官方討論區有滿多人提出來討論過,當中也有出現了一些解決方法。

要確認目前的硬碟是否有遇到這樣的問題而不自知,可以使用一些工具去觀察一下硬碟 S.M.A.R.T. 的資訊中 “Load Cycle Count" 的計數(例如 SMART Utility )。我想應該很多人都知道,這個數值有一定的極限,像 WD 似乎是保證 500000 次的 Load Cycle 。由於前面敘述的問題,會造成硬碟讀取臂頻繁的 Parking ,因而 Load Cycle 的增加會異常的快速…印象中一小時就會增加 100 左右。

所以呢!不管你是自行換過硬碟還是把光碟機改裝成了硬碟,在這邊都建議作一下 APM(advanced power management)的調整。詳細作法下述:

  1. 先到這裡下載 hdapm 這個小程式備用。這是作者 mckinlay 提供的一個工具讓我們可以調整 APM 的等級以解決上面提過的種種問題。
  2. 接著到這裡下載 Lingon 方便我們用比較圖形化的方式建立 LaunchDaemons 的設定檔。
  3. 把 hdapm 搬到路徑 /應用程式/工具程式/ 資料夾中,點兩下開啟讓系統認證。
  4. 打開 Lingon,點選左上角的+號建立新的設定檔,在彈出的視窗中選擇 User Daemons 後按下 Create。
  5. 右邊會出現很多設定選項,先在第一欄 Name 的位置填入 com.你的使用者名稱.launchd.hdapmd1
  6. 在第二欄 What 的部份填入 /Applications/Utilities/hdapm disk1 max
  7. 最後在第三欄的位置勾選 Run it when it is loaded by the system (at startup or login) 選項就好,其他都不用更動。

都做好之後按下左上角的 Save 並輸入密碼認證之後就可以重新開機了。

BUT事情似乎並沒有這麼簡單…。一般來說安裝系統的硬碟(也就是那顆貴的要命的 SSD)的 BSD name 會是 disk0、而裝在光碟機位置的硬碟應該會是 disk1 才對,但似乎有時後會顛倒過來,我不確定這是不是個案…。所以在完成上面步驟重新開機之後,記得到系統監視程式(console)觀察一下,有沒有 「com.你的使用者名稱.launchd.hdapmd1 Setting APM level to 0xfe: Success」這樣的訊息,並多重複幾次試試看,反正重開一次不用40秒…。如果遇到 BSD name 顛倒過來的情形,則會有像下面這樣的訊息 「Setting APM level to 0xfe: FAILED: APM not supported.」(SSD不支援也不需要APM)。

所以該怎麼辦呢?我不知道 hdapm 能不能用 UUIDs 去指定正確的硬碟,甚至也找不到要去哪裡查詢硬碟的UUID。然而,反正 SSD 也不支援 APM,就算設定了也只是 FAILED 不影響系統運作,索性就多建立了一個LaunchDaemons設定檔com.你的使用者名稱.launchd.hdapmd0)並指定 hdapm 的設定目標為 disk0 以防萬一。

如果有人知道怎麼解的也記得告訴我啊~