Mac OS X: 系統部署後程式安裝的使用者提示

來源:互聯網
上載者:User
Mac OS X: 系統部署後程式安裝的使用者提示

 

      在企業環境中,當系統通過各種方式重新安裝後-一般是reimaging-管理員必然要做一些系統的配置和軟體安裝,這不僅是安裝系統的需要,同時也是企業快速部署的需要。

 

      一般的情況是,新的或系統損壞的電腦,需要重新安裝作業系統,系統部署人員做好部署初期工作(啟動,選擇部署流程,輸入必要電腦資訊如ComputerName)後,就可以不再理會它了,部署系統把鏡像寫到目標Mac機器後,重新啟動它,電腦顯示正常的畫面,同時在後台讓電腦執行後續的安裝配置工作,這些都完成後,使用者就可以正常使用了。這裡多說一點小體會,在Windows環境中,多數程式安裝可以沒有使用者環境,但是不是所有的都是,這個帶來的問題是,程式安裝過程需要登陸到一個管理使用者中,完成程式的安裝配置;而Mac系統至今沒有這樣的程式,或者說可以通過重新打包,很容易實現無使用者環境的安裝。對於重新打包,目前似乎只有Adobe CS軟體最麻煩。

      然而問題是,如果使用者不知道後續工作是否完成就使用該機器,有可能造成後續配置失敗,所以,要有措施禁止或者提醒使用者等待系統配置的順利完成。這個問題就是這裡要考慮的。

 

一:

      一種方法是禁止普通使用者登陸,一般地可以通過禁止Login Window的啟動來達到目的。

      首先,通過下面命令來開啟系統的verbos模式:

sudo /usr/sbin/nvram boot-args="-v"

      然後,再禁止Login Window啟動:

 

      找到/etc/ttys檔案中的下面兩行:

#console        "/usr/libexec/getty std.9600"   vt100   on secureconsole "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow"


      把第一行的#去掉,把它下面一行最頭部添加一個#。這樣系統就不會調用Login Window了.

二:

 

      
這樣的做法有個"風險",就是在不是特別需要謹慎的環境中,如果你的後續配置工作出現問題,半途中止,而系統無法變更回正常狀態,那麼你的系統部署就徹底失敗了,還是需要人工再做troubleshooting. 所以在一個寬鬆的環境中,尤其是教育行業,完全可以實施"提醒使用者"的方式。

      這裡提及三個簡單的方法,各有利弊。

  • 變更系統案頭背景的方法. 這個方法簡單,只要事先製作一個系統背景圖,就可以,把需要告訴使用者系統安裝沒有完成的資訊顯示,讓使用者耐心等待片刻。
    這個背景影像檔儲存在:/System/Library/CoreServices/DefaultDesktop.jpg. 或者是通過下面命令變更:

defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture /System/Library/CoreServices/DefaultDesktop.jpg

  • 通過在Login Window裡面顯示資訊的方式。這個更簡單,通過命令隨時添加和變更顯示內容

defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText ”it's reconfiguring your system, please wait until it restarts.” 

  • 使用Login Window的plugins。這需要有一定的編程能力,Login Window的Plugins都儲存在/System/Library/CoreServices/SecurityAgentPlugins目錄裡面。具體的可以參見開發套件中的執行個體:
    /Developer/examples/security/bannersample

三:


 

      實現上述步驟的自動完成,方式也好多,這裡只使用目前Apple正在完善
、推薦和正在成為標準的方式。


      例如下面的plist檔案:


<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>Disabled</key><false/><key>Label</key><string>Deployment Post-Restoration script</string><key>OnDemand</key><false/><key>Program</key><string>/usr/local/bin/finalizing.sh</string><key>RunAtLoad</key><true/><key>LaunchOnlyOnce</key><true/></dict></plist>



      儲存到/Library/Launchdaemons目錄中,這樣系統就會自動執行指定目錄/usr/local/bin/中的指令碼finalizing.sh了.



Tony Liu, in Calgary, May 29, 2010



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.