2010年6月6日 星期日

ACFS教學:讓學生桌面每次開機自動還原成預設狀態



在前一篇中介紹過如何使用圖形介面設定ACFS為固定IP,如果,我們想要把ACFS裝在電腦教室中給學生使用,依照我的經驗,通常一二周後,就會有學生反應桌面變的怪怪的,什麼圖示不見了或是工具列整個不見了,因此,如果我們可以讓桌面及工具列在每次開機時都會自動還原,就可以解決這個問題,在ACFS中,雖然我們可以使用教師桌面來還原學生桌面,但是老師要一台一台來操作,還是會有點麻煩,所以今天來介紹一下,如何讓ACFS的學生桌面在每次開機時都會自動還原成預設狀態,省去老師一台一台處理的時間。

使用概念:

  1. 先將目前的桌面及工具列環境設定檔備份下來
  2. 寫一個執行檔.sh,讓系統把目前桌面及工具列的設定檔刪掉,並將之前備份的設定檔還原回去(這個動作完成後要重開機才會有作用)
  3. 將剛剛的執行檔.sh寫進系統中,讓系統在每次關機,或重開機執行,這樣,當學生每次亂改完桌面或工具列時,只要一按關機就會還原設定,下次另一班的同學再開機時就會自動還原成老師備份時的那個環境,就不用擔心小朋友亂玩桌面了!

操作流程:
  1. 先按我上一篇的固定IP說明設定好每一台的IP(因為之後的動作會連IP的設定一起還原,所以要先做設定IP的動作)
  2. 先進入stu桌面,開啟終端機輸入以下指令
    (將桌面及工具列環境的設定檔備份到system_bak中)

    mkdir system_bak
    cp -Rp .gconf system_bak/
    cp -Rp .gconfd system_bak/
    cp -Rp .gnome2 system_bak/
    cp -Rp 桌面 system_bak/

  3. stu桌面下,開啟文字編輯器,輸入以下指令,並另存為restore.sh,並放在stu使用者根目錄下(/home/stu/),進到存放restore.sh的資料夾中,在檔案上按滑鼠右鍵選〔屬性〕-〔權限〕,將〔允許做為程式執行〕的勾勾起來。
    (以下指令是先把環境設定檔砍掉,再將備份的環境設定檔還原)

    rm -rf /home/stu/.gconf
    rm -rf /home/stu/.gconfd
    rm -rf /home/stu/.gnome2
    rm -rf /home/stu/桌面
    cp -Rp /home/stu/system_bak/.gconf /home/stu/
    cp -Rp /home/stu/system_bak/.gconfd /home/stu/
    cp -Rp /home/stu/system_bak/.gnome2 /home/stu/
    cp -Rp /home/stu/system_bak/桌面 /home/stu/


  4. 切換至edu桌面,開啟終端機,分別輸入以下二個指令,可以讓系統在按下關機前或按下重開機前自動執行restore.sh這個執行檔。

    sudo ln -s /home/stu/restore.sh /etc/rc0.d/S11restore
    (說明:rc0.d是用來控制按下關機鈕後,在系統關機前要執行的動作)

    sudo ln -s /home/stu/restore.sh /etc/rc6.d/S11restore
    (說明:rc6.d是用來控制按下重開機鈕後,在系統關機前要執行的動作)

  5. 這樣就完成了!只要系統一關機,再重開時就會自動還原桌面及工作列啦!