[OSX] Mac 無法休眠怎麼辦?

失眠的Mac…

(註:這個 Bug 在 10.7.3 官方更新後應該已經修正了。)

平常只要在家裡,我的習慣是把電腦接上螢幕來使用,以前要睡覺時習慣就把 MacBook Pro 的螢幕闔上,讓它陪睡進入休眠狀態,多省些電費買王老吉來喝…。不過自從更新到 Lion 之後,這個闔上螢幕的動作就被改成了關閉 MBP 的螢幕,只由外接螢幕輸出影像,如果要讓電腦進入休眠狀態,必須要從選單點選或是使用鍵盤快捷鍵「Command + Option + Eject」才行。

其實這個改變也還好,沒有造成什麼困擾,糟糕的是兩三個月前突然發現,我的 MBP 它失眠了!不管有沒有外接螢幕,有沒有外接其他週邊設備,它就是沒辦法進入休眠狀態,指示燈不會呼吸,只會恆亮;風扇依然在轉;硬碟也依舊微微地振動著…除非我拔掉他的電源線它才會乖乖入睡。

沒錯,這個情形最簡單的解決方式就是拔掉電源線讓它睡眠之後,再插回去!但這只是一時的作法啊…我一直以為是系統錯亂才會讓電腦沒辦法休眠,但在官方討論區又有很多人有同樣的 issue,看來應該是 Lion 本身的問題才是。直到昨天看到了這個 Blog 我才豁然開朗…

A deep bite 的作者也是提到,暫時的作法是拔掉電源線讓電腦先進入休眠狀態後,再插回去,這是最快的。而如果要徹底搞清楚電腦到底為什麼不肯睡覺的話,就只能靠老朋友終端機了…。

打開 Terminal 之後輸入:

pmset -g assertions

按下 Enter 後會像下圖這樣列出一長串的系統狀態

Terminal

以這個例子來說,圖中最上面三段敘述就說明了電腦因為哪些程序的關係而沒辦法進入休眠狀態,分別是 Boom(一個音效軟體)和* Internet 分享*,只要關閉相關程式、設定,或是直接用 kill 指令把它給停掉,電腦就可以安心入睡了…

還好原來不是系統錯亂…嚇死我了嚇死我了!

[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] 升級 Lion 之後無法登入 FaceTime?

在 Apple 官方討論區上看起來,很多人都有遇到這個問題。原本 FaceTime 用得好好的,升級到 Lion 之後一登入就跑出一排紅字告訴你說「伺服器處理註冊時發生錯誤。請稍後再試」…屢試不爽!因為我還滿常用到 FaceTime 的,第一天就有發現這鳥事,但找不到解決方法就想說算了…反正我用 iPad 講就好,Mac 上的就等 Apple 自己出來面對 (;´∀`)。

今天再上官方討論區,發現有幾種解決方案出爐,有的人說有用、也有人說沒效。其中一種是把 DNS 設定成 8.8.8.8,也就是 Google 提供的 DNS 伺服器。我試過了沒有用,但討論區上滿多人說改過就可以正常登入了…所以大家可以姑且一試,搞不好有用。還有一種是去檢查 hosts 檔案,看看有沒有不該出現的設定出現。

這個檔案在哪裡呢?請打開 Finder 之後按下 Command + Shift + G,接著輸入 /etc/ 前往,就可以找到名為 hosts 的檔案,先把它拉到桌面複製一份,再用文字編輯軟體打開它檢查一下,正常的情況下應該是像下圖一樣,沒有其他的東西:

可能因為我有用 TinyUmbrella 儲存過 iDevice 的 SHSH,所以底下多了一行有關 gs.apple.com 的設定,把它刪掉之後儲存檔案,再把桌面上修改過的版本拉回去 /etc/ 覆蓋(這裡會要你的管理員密碼作認證),FaceTime 就可以正常登入啦!快去檢查一下吧!

如果還不行,再試試看清除 DNS 的 Cache,方法是打開 Terminal(/應用程式/工具程式/終端機.app)後輸入下面的指令:

dscacheutil -flushcache

再不行的話…我就不知道了┐(´∀`)┌

[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 支援