簡介
Mac OS X系統登陸時,如果你沒有設定開機自動登陸到特定使用者,而是讓使用者自己輸入使用者名稱和密碼登陸,登陸畫面的背景圖在10.8裡面的就是所示,這個背景一成不變,時間長了不免失去了新鮮感。另外,在商業網路環境中,或者是企業的規則規定的,需要在電腦明顯位置,特別是登陸前,要有明顯大標題告訴使用者,做到提示/警示的作用。Windows上就有這個功能,在OS X的10.7版本之後,蘋果在系統中增加了個功能,叫做Poilcy Banner,不過他的使用卻不如Windows的好用,首先,不能按Return鍵確認,只能使用滑鼠點擊;其次,如果使用者操作較慢,使用者還沒有輸入完登陸資訊,或者是等待慢速伺服器串連認證使用者登入資訊時,系統就又自動跳轉到這個畫面,即便是點擊回去,不是登入資訊沒有了,就是超長時間等待,如此反覆幾次,使用者也就失去了耐心;有的時候當前焦點不在登陸視窗,滑鼠點擊或者鍵盤輸入都沒有反映,必須先按ESC鍵,才能把焦點返回登入視窗,凡此種種的問題,是我們可能需要放棄系統內建的Policy
Banner功能。
所以,變更登陸視窗的背景圖,配製成自定的圖案和文字,是一個好辦法。
下面是幾個登陸背景圖的例子,看上去還不錯吧:
最後一張就是帶有企業規章制度在右下角的一個圖例。
軟體指令碼
在開發中主要遇到的幾個關鍵問題:
- 不同版本的OS X,使用的背景圖存放位置不同:
在10.6.x到10.7.3之前的這些版本,都是使用一種單個圖形的方法。
在10.7.4-10.8.2這些版本中,使用的是另外一種圖形庫的方法,而10.7.4-10.7.5與10.8.x的圖形庫的組織圖也有稍微差異,圖的存放位置也不一樣。所以要區分對待。
- 每台機器的螢幕解析度不同,使用同一個圖在不同的系統版本中效果可能不同:
這個有多種途徑解決。主要兩種,線上產生適合解析度的圖片檔案,或者放大/剪下已有的圖形使之匹配當前系統的螢幕。
我們為了簡便,使用後面一種方式中的剪下法。
無論那種方式,都要首Crowdsourced Security Testing道當前系統的最高解析度,比如1680x1050,根據這個參數,剪下一張大圖。目前來說蘋果系統硬體所支援的最大解析度是2880x1800,所以我們可以製作一張這樣大小的圖片,作為原始參考圖。
剪下的方法要依照你的圖形來定,比如主圖在左下角,就要以左下角作為基點剪下。
- 注意圖形格式:
注意要使用RGB作為色彩空間,DPI必須是72pixels/inch,色彩深度(Color Depth)須是24 bits(顏色數是16777216),不能為了節省空間的使用8 bits(顏色數是256),否則顯示出現問題。
為了實現功能,這裡用到了3個免費軟體,它們的使用很好地解決了上面的關鍵問題。
- 由Alex Zielenski開發的SArtFileTools工具,這個工具用來操作10.7.4之後圖形庫的。它的主要操作思路是,把系統圖形庫全部解開到一個臨時目錄中,你把自己的圖替換到裡面之後,再重新構建一個圖形庫,你把這個圖形庫複製到系統中。注意,基於個人測試,它的這個工具最新版本不能處理10.7.4/10.7.5,而需要找到舊版本(v5)來處理。
- 由Pierre-E Gougelet開發的nConvert,它提供了相當多的對圖形檔案的操作功能。執行nconvert -help可以看到它的詳細功能。
- 由我本人開發的ScreenResolution,它也是很早再一些Mac論壇上公開源碼的一個小軟體,我用它來取得當前系統的解析度資訊。
經過計劃和測試,開發的指令碼放在了這裡
製作安裝包該指令碼不能單獨使用,最好是和其他軟體與你的圖形檔案放在一起,做成一個安裝包。原指令碼預設把那些工具和圖片放在/usr/local/_LBP.tmp目錄裡面,所有的臨時操作也在這裡。例如該指令碼在安裝包中作為一個postinstall指令碼被執行。Tony L.Sep 28, 2012