2010年10月7日 星期四

讓zsh也能像bash提醒你安裝套件就能用那個指令

zsh是另一種SHELL,不知何時我開始使用zsh,我想可能是剛接觸Ubuntu半年多,在論壇看到人家介紹,如果設定的當,他的指令補全功能很強大,讓我時常在終端機更方便使用指令。但有個問題一直困擾我,不像bash提醒你安裝套件就能用那個指令,單純只出現錯誤訊息command not found,害我想知道要安裝那個套件還要切回bash很麻煩。



今天尋找之下發現DAtum的zshrc設定檔,有段關於command not found

的設定值,加進去就能像bash那樣提示安裝套件了。



▼上面是zsh沒提醒安裝套件,下面是bash有提醒安裝套件▼







1、打開zshrc設定檔


gedit ~/.zshrc


2、在底下新增


function command_not_found_handle() {
/usr/bin/python /usr/lib/command-not-found -- $1
}


3、讓設定檔生效即刻就可使用


source ~/.zshrc


▼圖右下 我參考他的設定,又修改了一點讓zsh不會出現兩段錯誤訊息▼







參考資料:

英文介紹:.zshrc « DAtum有.zshrc範本

簡體中文介紹:終極Shell——Zsh — LinuxTOY

繁體中文介紹:Z Shell (zsh) 的特色與安裝有.zshrc範本

2010年9月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

2010年9月21日 星期二

不是很滿意的ubuntu 10.10 beta版體驗

我有試過兩種方法使用ubuntu 10.10,一、直接從10.04升級時,讀取grub開機選單時會有問題,二、使用mini iso安裝全新的ubuntu,使用時會有些問題。



使用10.04升級的問題是,升級後重開機會出現error: the symbol 'grub_xputs' not found你可以使用之前我所寫的修複Ubuntu Grub2開機選單,如果用10.10 desktop live cd修複還是出現同樣問題的話,改用10.04 desktop live cd應該就可以了,因為我用10.10 desktop live cd安裝grub到別顆硬碟後,也是遇到相同問題。







grub問題處理完重開機又遇到別人在Alpha3遇到的問題>無法進入桌面,怎麼搞也搞不定我就放棄了。



因為我在研究最小化安裝ubuntu就下載了mini iso安裝,安裝時我沒選ubuntu-desktop所以安裝完成後重開機把一些必要的套件裝上,再次重開機就能正常進入桌面了;你有選ubuntu-desktop我想只要重開機就能使用了。



mini iso 安裝流程



ubuntu 10.10 maverick mini iso



for i386



for amd64





正常使用一兩天,更新samba與kernel時不知何故,一直無法順利更新,更新samba時會卡住都沒反應,我先把他移除在更新kernel時會出現安裝錯誤,當我用10.10 desktop live cd直接更新kernel也出現相同問題。



p.s 我有勾非正式版更新與無支援的更新



▼desktop live cd更新kernel畫面▼









另外,我還遇到要mount iso時會出現iso9660的相關問題,這點也不知到如何解決,還有我是用amd64版套件庫沒看見sun-java6-plugin、flashplugin-nonfree無法安裝,我已經把partner打勾了。



最主要是升級套件出問題搞不定,我就又裝回了10.04了,在來就等正式版出一個月後在試了,通常那時ATI顯示卡官方驅動程式才能使用。



對了,我root分割區改用btrfs安裝軟體時,不管是使用指令或用軟體中心及新立得安裝套件,下載套件後解壓縮套件在設定時,感覺比ext4速度上來講慢了許多,又重裝使用ext4就正常了,不知是否只有我才會這樣子?

解決DRBL企鵝龍1.0.2-26測試版回覆grub失敗問題



之前宅師就有跟我提過DRBL企鵝龍他使用測試版有點問題,問題是grub沒有辦法恢復,當時我沒有注意有這個問題,因為我都只有安裝UBUNTU有沒有恢復GRUB對我來講沒差別,直到我要還原到另一顆硬碟時才發現,他在使用grub-install會有問題。







問題出在無法使用grub-install,通常在終端機直接鍵入指令即可。


sudo grub-install /dev/s??


我又查了一下必要的套件有裝,但無法直接使用以上指令,需要給他路徑才能正常使用。


sudo /usr/sbin/grub-install /dev/s??


這點我不知道為何會這樣,但要解決也不會很困難,只要在回覆grub前先建立軟連結到/usr/bin即可。


sudo ln -s /usr/sbin/grub-install /usr/bin/


你可以試著使用help沒問題的話會出現解說使用方法


grub-install -h


如果還是擔心會有其它問題就先不要用這個測試版比較安心囉。

取出windows的exe檔的icon

要取出windowns的exe檔內含的icon並不會很困難,不必使用wine安裝程式,這類的程式有的需要付費,不然就是免費版,但有一些限制,你可安裝使用gnome-exe-thumbnailer套件庫有,但我自己有修改一些程式碼,因為常常我忘了鍵入圖示的新名稱,使用時就會出現錯誤,修改完成後只要給他要取出icon的檔名即可。









1、安裝gnome-exe-thumbnailer


sudo aptitude install gnome-exe-thumbnailer


2、修改gnome-exe-thumbnailer


sudo gedit /usr/bin/gnome-exe-thumbnailer.sh


3、

搜尋
INPUTFILE="$1"
在底下插入
iconNAME=${INPUTFILE%.*}.png


4、

搜尋 可以搜尋到兩處,全部替換
$TEMPTHUMB $2
替換
$TEMPTHUMB $iconNAME




5、使用方式


gnome-exe-thumbnailer.sh /path/to/file


▼取出的icon▼





2010年8月8日 星期日

修改Grub2開機選單的啟動順序[9.1,10.04 Or Newer]

原來Grub2開機選單要修改啟動順序,沒有我想像中那麼複雜,網路上看到的跟我所想的,通常都是修改/etc/grub.d/藉由修改一開始的檔案名稱編號,數字愈小出現在開機選單的順序就愈上面。



今天看到社群網友poloshiao回覆grub選單調整只要修改/etc/default檔案,修改預設值在更新開機選單就好了。









1、先打開/boot/grub/grub.cfg

gedit /boot/grub/
像我要把live cd調為預設開機選項,就把menuentry中的"Ubuntu Live Desktop 10.04 32bit zh_TW"抄起來。



menuentry "Ubuntu Live Desktop 10.04 32bit zh_TW" {



2、打開/etc/default/grub

gksudo /etc/default/grub
搜尋

GRUB_DEFAULT=0



整段以此替換



GRUB_DEFAULT="Ubuntu Live Desktop 10.04 32bit zh_TW"



※注意名稱前後要用"號包著哦。


3、最後更新grub重開機就好囉

gksudo update-grub


如要還原成預設的,使用GRUB_DEFAULT=0,在更新選單即可。

2010年8月5日 星期四

老牌的安裝Internet Explorer工具IEs4linux敗部復活 [9.04,9.10,10.04]

隨著軟體不斷的演進,有些軟體因時間久了,沒有人去維護他,有時舊有的軟體己經無法在安裝或使用了,其中IEs4linux就是其中一例,目前己經用不到他了,趁最近在研究Winetricks這後起之秀的機會,把原始碼稍為讀了一下(有看沒有懂很多XD),但找到方法讓舊愛復活安裝。



其實不會太難搞定,只因為舊愛需要用到wineprefixcreate,而新版的Wine1.2沒有這個程式,導致安裝失敗罷了,新版的是用winepath取代,只要把安裝的原始碼修正一下,舊愛就能正常安裝了,我把該修正的修一修,打包放上來有需要的,請下載安裝囉。









其中FreeGrab、SmartGet我沒放進去,有需要在照著舊文章:「手把手」安裝、設定與使用IEs4Linux、FreeGrab、SmartGet-Wine三部曲做就好了。





1、下載IEs4linux所需安裝檔


wget -c http://dl.dropbox.com/u/1776325/ubuntu/ies4linux/ie6.tar.bz2 http://dl.dropbox.com/u/1776325/ubuntu/ies4linux/ies4linux-2.99.0.1.tar.bz2 -P $HOME


2、解壓縮到家目錄


tar xjvf $HOME/ie6.tar.bz2 -C $HOME
tar xjvf $HOME/ies4linux-2.99.0.1.tar.bz2 -C $HOME


3、切換到安裝目錄後開始安裝


cd $HOME/ies4linux-2.99.0.1
./ies4linux --no-gui --no-flash


我試了兩三次都沒問題,有問題在反應囉,對了,flash就真的無法安裝,正常來講用不到,我也就懶的修理了…XD