2010-09-23

Ubuntu從GDM登入後,進入桌面時間愈來愈長?

不知道你們有沒有發覺,一開始安裝好Ubuntu時從GDM輸入帳密後,進入桌面的時間是最快的,隨著你使用的Ubuntu的時間次數愈來愈多,期間套件愈裝愈多,搞的你進入桌面的時間一直拉長,你有沒有想過為什麼會這樣?

如果你把家目錄的一些資料夾刪除(.gonme , .config , .local , .gconf),讓他回覆成預設值,那麼啟動速度就會快了許多,但是刪除後Gnome回覆成預設值就表示…你很多都要重新設定,超級麻煩的每次都這樣搞會抓狂XD

你可以先測試一下「使用者及群組」新增一個帳號,重新啟動登入剛設的帳號,會不會載入桌面速度比原本的帳號快了許多。我想應該會,那麼問題出在那呢?可以開啟「始動應用程式」這裡面是登入後就會載入的程式,如果隨機啟動的程式當中有的開啟時會使CPU滿載100%,這樣就會拉常你進入載入桌面的速度。

你安裝的程式會出現在「始動應用程式」隨機啟動的原因為,你把程式本身設為autostart的狀態「始動應用程式」就會新增一筆隨機啟動的資料。要隨機啟動程式又不希望太影響載入桌面的時間,這時就需要我們手動管理隨機啟動程式的時間,經由我們適當的分配設定隨機啟動程式,我想登入後載入桌面時間能大為改善。

以Dropbox為範例來管理隨機啟動時間,可以看到程式本身的start是打勾的。



那麼「始動應用程式」就增加一筆Dropbox的資料,按編輯可以得知隨機啟動指令為「dropbox start -i」先把指令抄起來。


在家目錄的bin資料夾新建一個檔案,在把指令貼上去。

gedit ~/bin/autorun.sh
內容

#!/bin/bash
sleep 60 ; dropbox start -i &
可以這麼理解,登入後倒時計時60秒後開啟Dropbox,「&」這裡面不出效果,後面管理多個隨機啟動程式在解釋。

「;」可以這等同你按ENTER後執行程式的效果,你也可以寫成:

#!/bin/bash
sleep 60
dropbox start -i &

再來把Dropbox先關閉,執行autorun.sh看看60秒是否會啟動Drobpox。

~/bin/autorun.sh

沒問題就把Dropbox程式中的start勾勾取消(若取消「始動應用程式」中的Dropbox勾勾沒用,執行Dropbox會自動在「始動應用程式」添加一筆資料),重新登入後60秒才會啟動Dropbox,為什麼要這樣設定?因為Dropbox一開始執行時會讓CPU滿載減緩登入速度。如果多個程式隨機啟動登入時會更慢了。

所以我不隻手動控制這個程式,這裡在以avant-window-navigator,gnome-do,dropbox為範例,先把程式中的start功能打勾到「始動應用程式」取得他執行的指令,先把指令貼在剛剛的檔案後把start取消。接著安排倒數計時啟動程式時間:

#!/bin/bash
sleep 5 ; gnome-do &
sleep 10 ; avant-window-navigator &
sleep 60 ; dropbox start -i &
登入5秒執行gnome-do、10秒執行avant-window-navigator、60秒執行dropbox,主要把avant-window-navigator與dropbox會使CPU滿載的程式錯開執行時間,前者較常使用放在前面,後者同步功能讓他比較後面也沒關係。

注意:每行後面要有「&」,否則要等前一個程式關閉,才會到數計時後才執行下一個程式。你可先把程式關閉,試試加與不加「&」的差別。

最後在「始動應用程式」加一筆資料「名稱:」myautorun,「指令:」~/bin/autorun.sh,重開機或重新登入試看看,是不是按照那些程式,是不照你排程的時間來啟動。



對我來講這樣設定是對我有所幫助,讓會CPU滿載的程式錯開啟動時間,會減緩隨機啟動式帶來的副作用,也就是登入後出面圖示載入速度會更加快速,希望對你來講也有所幫助。

P.S 可連的我可以說這篇寫入兩次,第一次儲存時就關了瀏覽器,剛剛寫的就不見蛋XD