很久沒po政治文了~
民進黨阿~請用力反省吧~~
立委選舉一出來,民進黨大敗,雖然是馬後炮,可是大家想想,選前國民黨的有爭什麼嗎?只有在黨內初選時爭副總統提名時有出現吧~
但是看看民進黨,一直一直都被報導謝、陳意見相左,不然又是謝助選不利,這些負面消息直接上新聞,又是不斷不斷不斷的出現,我想沒有人會喜歡看到這些吧~
現在又來個斷交新聞,看看他上台後,斷了幾個,新聞也上了,9個耶~
我們的外交處境不好又不是一天兩天,對面的打壓也不是一次兩次,斷交怪對面的,可是看看,每年都出訪,沒事就出訪,每次出訪都沒什麼計畫,每次出訪都是國內有反對聲浪,每次出訪都在國外放話,回來後,就爆出國際新聞,說當地政府、總統貪污了多少錢,吃了多少金援。
以前的政府,出訪很重要,幾乎是事情談妥了,才大大方方出訪,不然就是想盡辦法爭取曝光、爭取支持,現在不是,現在出訪是去渡假、去避難,看看之前邦交國的總統拼酒博感情,看~那是什麼阿,那哪是拼外交,那根本就像是業務員和大老闆談生意的樣子,還唱雙人枕頭勒,這是拼外交嗎?這怎麼看都像是被人奉承~
那他勒?他幹了什麼?就很像是渡假阿~到處晃晃,沒事就發表下意見,抒發下機歪的感情,這樣的事情,國內看不下去,記者看不下去,邦交國會喜歡嗎?
回到前面說的,外交處境艱難不是一天兩天,每次斷交就說對面的打壓,這種事情又不是一天兩天的事,但是之前又沒事,甚至還慢慢一點一點增加,國歌中一句「守成不易,莫圖勿進功」(字可能有打錯,就見諒吧。),感覺十分貼切~
想想幾年前,外交部長嘲笑新是LP,一般人感覺不大,只覺得這樣說很不好,但是大家知道嗎~新加坡在亞洲,可是少數幾個有錢的國家之一,正常人會跑去對著王永X、對著郭XX、對著比爾兄指著鼻子罵他是LP嗎?
罵LP時很囂張,斷交就說是打壓~
今天新聞也提到,馬拉威會跟對面的建交,除了錢之外,就是礦產,馬拉威有豐富的鈾礦,這就好笑了,它之前是我們的邦交國,他有鈾礦我們不知道嗎?對面的能協助開採,我們不行嗎?金錢援助又不是萬能的,以前台灣在非洲能打下邦交國,金錢援助不是唯一的方法,最主要的方式是農耕團、建設...等,一點一滴,從基礎慢慢的打最後打下來的,靠金錢就想要吃定對方,這方法一開始就有很大的問題,我不能說金錢效用不好,我也知道錢很重要,但人人都知道,直接把錢往桌上放,然後要跟對方交往是很俗氣而且丟臉的,同樣的錢拿去高級餐廳請吃飯,拿去遊樂園、觀光...等,或是每天持續的送花、接送~這些都是常見的方式,都需要錢,但是不是純粹把錢拿來砸、拿來丟的~
今天搞成這樣,還得要怪對面、怪制度,還是想想自己做了什麼吧~
說到制度,昨天上ptt看才有人說,現在民進黨怪制度對國民黨有利,但是這制度一開始,是民進黨提出來的,而且提出是因為2004年總統選完之後,立法院民進黨是多數席又有總統,想用這樣的政策,一口氣把國民黨趕出國會,一黨獨大想出來的,這制度一開始就說了,贏者全拿,現在反過來制度,根本沒有反省的感覺,只看到一個小屁孩輸了就不爽抱怨的嘴臉。
看看綠營這兩天發言,鄭運鵬說了,不分區的立委,都是藏污納垢,別人打天下他們乘涼,結果被點名的說什麼?謝謝指教、兩者沒關係...這叫反省嗎?已經這麼慘這麼爛了,不為整個黨想想,只關心到自己不要棄權,根本就還是不想放棄權力,被權力沖昏頭了~
2008年1月15日
2008年1月11日
Open Source 與 賺錢
我一向是一個支持Open Source的人,不過對於GNU GPL我卻不甚喜歡,
我個人的認知是,開放原始碼,在原始的授權條件下,應該要有一定合理的緩衝條件,
例如常見的作法是,我們利用Open Source來開發,
但我們將最新的程式碼限定在3個月或半年後開放,
這顯然和GNU GPL的條件不合,可是這應該是合理的作法,
否則Open Source沒有公司願意使用~
事實上,GNU GPL第二版有漏洞,目前全世界已經有許多公司利用漏洞進行開發並以此獲利,
自由軟體基金會也積極的在制定GNU GPL第三版,
GNU GPL第三版規定,只要使用到GNU GPL第三版的程式、演算法,都必須散佈,
但現在的狀況是,GNU GPL的最主要使用系統~Linux,它的作者Linus並不願意使用,
他持的論點也相當不錯,他認為強迫要求硬體廠商在提供了Linux Driver時,
一定要提供Source Code,並不是很合理的作法,因為硬體廠商的硬體設備,
有許多是有專利或機密的,Driver可能會需要碰觸到它的部份或全部,
因此並不適合用在GNU GPL第三版,也因為如此,
自由軟體基金會的人和Linus有很大的論戰,因此到目前為止,
GNU GPL第三版都還只是草稿階段~
身為一個正常的人,為了吃飯、過更好的生活,要求一定報酬的程式設計是合理的,
我一直認為自由軟體基金會的人都是神父,所以我之前就說過了,
我認為中樂透、中大獎,與其捐錢給什麼人道團體、宗教團體,
不如捐給自由軟體基金會、FreeBSD、Linux...等社群,
以自由軟體基金會來說,它們要求所有程式都無私的散佈、提供程式碼,
他們唯一的要求是,希望你改了程式之後,能夠散佈給更多的人使用,
讓程式越來越好用,越來越好~
會說出這樣話、這樣行動的人,除了是神父、和尚之外,
我實在想不出有什麼人有這樣的行為~~
那現在國外的公司,到底怎麼靠自由軟體來賺錢呢?
目前我看到的作法有4種:
1.它不靠軟體賺錢,靠服務賺錢,軟體只是它提供服務的媒介
這方法是自由軟體基金會等人建議的作法,但RedHat他們證實了,
這種方式提供服務,公司會倒的..... = =||
所以目前RedHat有商業版,提供給企業,一般版本改成Fedora,成立一獨立社群來開發、管理。
2.靠專利保護
我剛剛重新讀過GNU GPL第二版條款(我看中譯版的),它的確有針對這部份說明過,它提到如果你的程式以GNU GPL第二版發佈,但是在某些地區和專利相衝突時,可以選擇性的發佈在沒有衝突的地方,而要同時不侵犯專利又遵守GNU GPL第二版,方法就是不發佈程式和程式碼。
這是GNU GPL第二版清楚寫明的,因此有公司利用這一點,它們把技術申請專利,然後用Open Source來開發,在不違背的情況之下,他們以此來販賣,甚至他們一樣提供你Source Code,但是你不能修改、散佈,因為你修改、散佈之後,就侵犯專利了。
3.靠硬體保護
這也是最近常見的作法,而且剛剛想了下,ASUS的eee pc,應該會靠這方式來開發。
GNU GPL規定程式和程式碼都需要發佈,因此像FON、TIVO,它們的作法是,它賣的是整台機器,不論機器是Wireless AP或是機上盒,然後它限制不准拆卸、破解機器,否則不給予保固,但是同時,它又在網站中公開說它使用的是Linux,並提供Linux Source Code下載,擺明就是遵守GNU GPL第二版規範,但是你就是不能動它。
4.進行自由軟體的代工
自由軟體要開發,但不是所有人都會,尤其是公司,要研發商品,可是沒有能力開發自由軟體或者沒有能力開發kernel,因此聽說國外也有小型公司,專門進行kernel porting的工作,他們的唯一工作就是修改自由軟體,但因為他們受雇廠商,本身並不會發佈自由軟體的程式、程式碼,因此嚴格來說只算是自用,並不會侵犯GNU GPL第二版的授權,因為GNU GPL第二版中寫明了例外條件,就是只自己使用時,軟體、程式碼可以不散佈。
這4種方式,是目前常看到的自由軟體賺錢術,儘管大部分大型企業使用GNU GPL的自由軟體,但通常不會跟你說它用的就是GNU GPL的自由軟體,因此多少還是存在風險,最可惡的就是所謂的禿鷹集團,可以參考連結。
這類集團在大陸也很多,之前就聽聞有這類集團專門找上新產品的開發公司,只要發現產品是Linux base的,就要求你Open Source,當公司發佈Source Code之後,隔不到一個月,相同產品大量出現,接著就是紅海策略,大家比價格,誰低誰贏,第一個死的絕對不會是其他相同產品,而是開發公司,我一直不知道這類集團的稱呼,原來一般叫做禿鷹集團阿~
這些人很惡劣,不事生產只破壞,破解它沒能力,就跟乞丐、無賴一樣伸手要,非常機歪~
最後附帶一點,自由軟體的授權種類很多,其中有上述發佈要求的,僅僅只有GNU GPL。
FreeBSD所使用的BSD授權,是完全沒有任何限制的,它允許販賣,而且並不要求提供Source Code,它唯一的要求是,在原Source Code上附加修改者和說明,可是因為不強制要求發佈Source Code,再公司裡面這麼做,基本上沒啥意義,所以BSD被號稱是最自由的自由軟體。
另外像Mozilla的MPL,它們的授權是可以要求部份發佈,部份保留,也就是說一整個軟體中,可以把自由軟體的部份進行發佈,其餘部份不發佈。
而GNU的授權中,除了前面提到的自用之外,還有2種例外狀況:
1.除了GNU GPL之外,有另一種格式的授權,叫做GNU Library GPL,這種授權適用在library的發佈,它的許可條件是,當你使用GNU Library GPL的library時,有2種狀況:
a.當你使用static link時,你的程式、程式碼授權同GNU GPL。
b.但當你使用dynamic link時,附上GNU Library GPL的library和Source Code即可,軟體本身可以不用發佈。
寫程式的時候注意看,許多library的發佈方式,是使用GNU Library GPL的,但也有些library的發佈方式是GNU GPL的,兩者有區別。
2.當使用GNU GPL的軟體(software)進行使用時,使用GNU GPL軟體(Software)產生的其他作品,授權可以自訂,不受GNU GPL的規範。
這意思是說,當你使用Gimp(一套OpenSource的繪圖程式)畫出一張圖片,這張圖片的授權一樣受到著作權保護,你一樣可以自己訂定這張圖片的授權限制。
同樣的道理,當你使用GNU C/C++ Compiler時,只要Library無關GNU GPL,它所產生的程式、程式碼,授權一樣是由你自己決定的,因此,我們可以使用GNU C/C++ Compiler搭配跟公司買來的Library進行開發,之後使用自己的授權來販賣,這也是符合GNU GPL授權的。
我個人的認知是,開放原始碼,在原始的授權條件下,應該要有一定合理的緩衝條件,
例如常見的作法是,我們利用Open Source來開發,
但我們將最新的程式碼限定在3個月或半年後開放,
這顯然和GNU GPL的條件不合,可是這應該是合理的作法,
否則Open Source沒有公司願意使用~
事實上,GNU GPL第二版有漏洞,目前全世界已經有許多公司利用漏洞進行開發並以此獲利,
自由軟體基金會也積極的在制定GNU GPL第三版,
GNU GPL第三版規定,只要使用到GNU GPL第三版的程式、演算法,都必須散佈,
但現在的狀況是,GNU GPL的最主要使用系統~Linux,它的作者Linus並不願意使用,
他持的論點也相當不錯,他認為強迫要求硬體廠商在提供了Linux Driver時,
一定要提供Source Code,並不是很合理的作法,因為硬體廠商的硬體設備,
有許多是有專利或機密的,Driver可能會需要碰觸到它的部份或全部,
因此並不適合用在GNU GPL第三版,也因為如此,
自由軟體基金會的人和Linus有很大的論戰,因此到目前為止,
GNU GPL第三版都還只是草稿階段~
身為一個正常的人,為了吃飯、過更好的生活,要求一定報酬的程式設計是合理的,
我一直認為自由軟體基金會的人都是神父,所以我之前就說過了,
我認為中樂透、中大獎,與其捐錢給什麼人道團體、宗教團體,
不如捐給自由軟體基金會、FreeBSD、Linux...等社群,
以自由軟體基金會來說,它們要求所有程式都無私的散佈、提供程式碼,
他們唯一的要求是,希望你改了程式之後,能夠散佈給更多的人使用,
讓程式越來越好用,越來越好~
會說出這樣話、這樣行動的人,除了是神父、和尚之外,
我實在想不出有什麼人有這樣的行為~~
那現在國外的公司,到底怎麼靠自由軟體來賺錢呢?
目前我看到的作法有4種:
1.它不靠軟體賺錢,靠服務賺錢,軟體只是它提供服務的媒介
這方法是自由軟體基金會等人建議的作法,但RedHat他們證實了,
這種方式提供服務,公司會倒的..... = =||
所以目前RedHat有商業版,提供給企業,一般版本改成Fedora,成立一獨立社群來開發、管理。
2.靠專利保護
我剛剛重新讀過GNU GPL第二版條款(我看中譯版的),它的確有針對這部份說明過,它提到如果你的程式以GNU GPL第二版發佈,但是在某些地區和專利相衝突時,可以選擇性的發佈在沒有衝突的地方,而要同時不侵犯專利又遵守GNU GPL第二版,方法就是不發佈程式和程式碼。
這是GNU GPL第二版清楚寫明的,因此有公司利用這一點,它們把技術申請專利,然後用Open Source來開發,在不違背的情況之下,他們以此來販賣,甚至他們一樣提供你Source Code,但是你不能修改、散佈,因為你修改、散佈之後,就侵犯專利了。
3.靠硬體保護
這也是最近常見的作法,而且剛剛想了下,ASUS的eee pc,應該會靠這方式來開發。
GNU GPL規定程式和程式碼都需要發佈,因此像FON、TIVO,它們的作法是,它賣的是整台機器,不論機器是Wireless AP或是機上盒,然後它限制不准拆卸、破解機器,否則不給予保固,但是同時,它又在網站中公開說它使用的是Linux,並提供Linux Source Code下載,擺明就是遵守GNU GPL第二版規範,但是你就是不能動它。
4.進行自由軟體的代工
自由軟體要開發,但不是所有人都會,尤其是公司,要研發商品,可是沒有能力開發自由軟體或者沒有能力開發kernel,因此聽說國外也有小型公司,專門進行kernel porting的工作,他們的唯一工作就是修改自由軟體,但因為他們受雇廠商,本身並不會發佈自由軟體的程式、程式碼,因此嚴格來說只算是自用,並不會侵犯GNU GPL第二版的授權,因為GNU GPL第二版中寫明了例外條件,就是只自己使用時,軟體、程式碼可以不散佈。
這4種方式,是目前常看到的自由軟體賺錢術,儘管大部分大型企業使用GNU GPL的自由軟體,但通常不會跟你說它用的就是GNU GPL的自由軟體,因此多少還是存在風險,最可惡的就是所謂的禿鷹集團,可以參考連結。
這類集團在大陸也很多,之前就聽聞有這類集團專門找上新產品的開發公司,只要發現產品是Linux base的,就要求你Open Source,當公司發佈Source Code之後,隔不到一個月,相同產品大量出現,接著就是紅海策略,大家比價格,誰低誰贏,第一個死的絕對不會是其他相同產品,而是開發公司,我一直不知道這類集團的稱呼,原來一般叫做禿鷹集團阿~
這些人很惡劣,不事生產只破壞,破解它沒能力,就跟乞丐、無賴一樣伸手要,非常機歪~
最後附帶一點,自由軟體的授權種類很多,其中有上述發佈要求的,僅僅只有GNU GPL。
FreeBSD所使用的BSD授權,是完全沒有任何限制的,它允許販賣,而且並不要求提供Source Code,它唯一的要求是,在原Source Code上附加修改者和說明,可是因為不強制要求發佈Source Code,再公司裡面這麼做,基本上沒啥意義,所以BSD被號稱是最自由的自由軟體。
另外像Mozilla的MPL,它們的授權是可以要求部份發佈,部份保留,也就是說一整個軟體中,可以把自由軟體的部份進行發佈,其餘部份不發佈。
而GNU的授權中,除了前面提到的自用之外,還有2種例外狀況:
1.除了GNU GPL之外,有另一種格式的授權,叫做GNU Library GPL,這種授權適用在library的發佈,它的許可條件是,當你使用GNU Library GPL的library時,有2種狀況:
a.當你使用static link時,你的程式、程式碼授權同GNU GPL。
b.但當你使用dynamic link時,附上GNU Library GPL的library和Source Code即可,軟體本身可以不用發佈。
寫程式的時候注意看,許多library的發佈方式,是使用GNU Library GPL的,但也有些library的發佈方式是GNU GPL的,兩者有區別。
2.當使用GNU GPL的軟體(software)進行使用時,使用GNU GPL軟體(Software)產生的其他作品,授權可以自訂,不受GNU GPL的規範。
這意思是說,當你使用Gimp(一套OpenSource的繪圖程式)畫出一張圖片,這張圖片的授權一樣受到著作權保護,你一樣可以自己訂定這張圖片的授權限制。
同樣的道理,當你使用GNU C/C++ Compiler時,只要Library無關GNU GPL,它所產生的程式、程式碼,授權一樣是由你自己決定的,因此,我們可以使用GNU C/C++ Compiler搭配跟公司買來的Library進行開發,之後使用自己的授權來販賣,這也是符合GNU GPL授權的。
2008年1月5日
Java主程式結構(main)的個人理解
學習程式語言最重要的起點,就是知道它的main長甚麼樣子~
尤其是C、Java這類的語言,相信第一堂課在介紹完他的特色和歷史之後,就應該是跟你說他的main長甚麼樣子~
之所以會有這篇,是在昨天晚上,有個學弟跟我說,他對Java的main有疑問,我就想,你真是問對人了,Java的main我也是想了很久,後來想出了這樣的理解~
我通常Java的main都會寫成下面這樣子,也認為這應該是要背起來的......
上面這段code對於會Java的人一定不陌生,畢竟經常看,但是為何是這樣寫呢?
我的理解是:
Java是一個物件導向的語言,而且他強調的是『Java是完全物件導向』的程式語言,和當時『號稱』物件導向的程式語言不同(這其實指的是VB)~
因此Java裡面從一開始就會是物件,而物件(Object)有兩種型態,分別是:
『實體化前』稱為Class(類別)
『實體化後』稱為Object(物件)
而『實體化』,指的就是經過new之後的Class(類別)~
如果從電腦程式的角度來說,new就是電腦真正的去執行它,更專業的說法是,把它載入到記憶體中執行~
以上面這段code中的
TEST是Class
test = new TEST() 因此test是Object
物件導向的概念是,所有東西都是物件,以車子來說,門是物件、引擎是物件、方向盤也是物件。
而Class(類別)可以想作是『藍圖、設計圖』,他還沒有做出來,只是一個設計,而經過了new之後的Object(物件),就是真正的實體,以上面來說,就是真實的車子~
以上這段內容,所有Java書的物件導向解說都有.... = =||
因此,Java程式的主體,就是一個『大物件』,裡面再包含了許多小物件,以上面程式來說,Java的程式主體,就是定義出了TEST這個類別(Class)(因為沒有實體化,所以稱它為Class),在程式執行時,Java執行器(好白痴的說法,就是runtime,更直覺的說法是,java.exe執行時),Java會去找main的區塊,然後跳進去操作~
在TEST的程式中,他操作了甚麼?
他把自己實體化了~~~~~ @@
就是這樣~
也就是說,以物件導向來看Java的主程式,
這是定義了一個TEST的Class
當程式執行之後,java.exe找到main區段並跳進去之後,他執行了
他將自己進行了實體化,真正的開始了執行TEST的動作,
那TEST的動作在那裡呢?我們要寫的程式段寫在哪裡?
回到物件導向和Java的說明,在Java中有所謂的『建構子』,
這鬼名詞按字面想,想到翻掉我也不知道是甚麼,但是如果我解釋他的作用,就知道它是甚麼了~
前面我們說到了車子的物件,當我們車子『實體化』之後,也就是製造出來之後,我們通常需要做些處理,例如:根據車行上漆、發動引擎測試、加油、加水、踩煞車(!?).....等,這些東西我們可以給他的很容易理解的說法,就叫作『初始化』~
當我們將Class(類別)實體化成Object後,經常需要『初始化』一些東西,
這些東西其實就是我們要電腦執行的程式~
而建構子在Java的語法就是:
這裡TEST就是物件的名稱,我在初學時最常遇到的問題是,建構子和方法(method)不會分,兩者如下:
建構子:
方法(method):
看到差異了嗎?
主要差別在於回傳值,方法(method)需要設定回傳值,如果沒有,要設定『void』,而建構子則沒有回傳值這種東西~
前面我們說到java.exe在執行並找到main區塊之後,會把自己(TEST)實體化,
因此我們所有的程式段,通通都寫在自己(TEST)的『建構子』,
這樣一來,程式一樣是物件導向的,但是我們又可以像寫C一樣的寫它~
也許會有人說,也經常看到另一種寫法,又或者說我不是用這樣的寫法一樣可以阿~
另一個常見的寫法如下:
這種寫法也很多人用,很多書這樣寫,它的解釋方式更單純,
java.exe跳進main區段後,就開始操作區段內的物件~
但是這種寫法經常遇到的問題是,因為他需要寫的是物件的操作,
而『建構子』寫的則是物件的方法(method),
以下面這段code來說,
在我常用的程式段中,因為程式是寫在建構子裡面,因此當TEST繼承了JFrame之後,我可以在建構子中直接使用JFrame的方法(method),而且不再需要new之類的動作,因為他已經是在執行了,而不是在物件描述,而且使用這種方式,我可以很明確的就知道我現在操作的就是自己(TEST)這個JFrame,而不會在extends繼承了,卻不知道要怎麼在main當中指定的問題(這裡應該用的是this)~
大致是這樣,從初學到現在,雖然Java還是很嫩,但是多少有些體悟,Java main的理解,算是我的重要體悟之一。
尤其是C、Java這類的語言,相信第一堂課在介紹完他的特色和歷史之後,就應該是跟你說他的main長甚麼樣子~
之所以會有這篇,是在昨天晚上,有個學弟跟我說,他對Java的main有疑問,我就想,你真是問對人了,Java的main我也是想了很久,後來想出了這樣的理解~
我通常Java的main都會寫成下面這樣子,也認為這應該是要背起來的......
public class TEST {
public static void main(String args[]) {
TEST test = new TEST();
}
public TEST() {
xxxxxxx
}
}上面這段code對於會Java的人一定不陌生,畢竟經常看,但是為何是這樣寫呢?
我的理解是:
Java是一個物件導向的語言,而且他強調的是『Java是完全物件導向』的程式語言,和當時『號稱』物件導向的程式語言不同(這其實指的是VB)~
因此Java裡面從一開始就會是物件,而物件(Object)有兩種型態,分別是:
『實體化前』稱為Class(類別)
『實體化後』稱為Object(物件)
而『實體化』,指的就是經過new之後的Class(類別)~
如果從電腦程式的角度來說,new就是電腦真正的去執行它,更專業的說法是,把它載入到記憶體中執行~
以上面這段code中的
TEST test = new TEST();TEST是Class
test = new TEST() 因此test是Object
物件導向的概念是,所有東西都是物件,以車子來說,門是物件、引擎是物件、方向盤也是物件。
而Class(類別)可以想作是『藍圖、設計圖』,他還沒有做出來,只是一個設計,而經過了new之後的Object(物件),就是真正的實體,以上面來說,就是真實的車子~
以上這段內容,所有Java書的物件導向解說都有.... = =||
因此,Java程式的主體,就是一個『大物件』,裡面再包含了許多小物件,以上面程式來說,Java的程式主體,就是定義出了TEST這個類別(Class)(因為沒有實體化,所以稱它為Class),在程式執行時,Java執行器(好白痴的說法,就是runtime,更直覺的說法是,java.exe執行時),Java會去找main的區塊,然後跳進去操作~
在TEST的程式中,他操作了甚麼?
他把自己實體化了~~~~~ @@
就是這樣~
也就是說,以物件導向來看Java的主程式,
public class TEST { xxxxxxxx }這是定義了一個TEST的Class
當程式執行之後,java.exe找到main區段並跳進去之後,他執行了
TEST test = new TEST();他將自己進行了實體化,真正的開始了執行TEST的動作,
那TEST的動作在那裡呢?我們要寫的程式段寫在哪裡?
回到物件導向和Java的說明,在Java中有所謂的『建構子』,
這鬼名詞按字面想,想到翻掉我也不知道是甚麼,但是如果我解釋他的作用,就知道它是甚麼了~
前面我們說到了車子的物件,當我們車子『實體化』之後,也就是製造出來之後,我們通常需要做些處理,例如:根據車行上漆、發動引擎測試、加油、加水、踩煞車(!?).....等,這些東西我們可以給他的很容易理解的說法,就叫作『初始化』~
當我們將Class(類別)實體化成Object後,經常需要『初始化』一些東西,
這些東西其實就是我們要電腦執行的程式~
而建構子在Java的語法就是:
public TEST() {
xxxxxxxxxxxxxxxx
}這裡TEST就是物件的名稱,我在初學時最常遇到的問題是,建構子和方法(method)不會分,兩者如下:
建構子:
public TEST() {
xxxxxx
}方法(method):
public void TEST() {
xxxxx
}看到差異了嗎?
主要差別在於回傳值,方法(method)需要設定回傳值,如果沒有,要設定『void』,而建構子則沒有回傳值這種東西~
前面我們說到java.exe在執行並找到main區塊之後,會把自己(TEST)實體化,
因此我們所有的程式段,通通都寫在自己(TEST)的『建構子』,
這樣一來,程式一樣是物件導向的,但是我們又可以像寫C一樣的寫它~
也許會有人說,也經常看到另一種寫法,又或者說我不是用這樣的寫法一樣可以阿~
另一個常見的寫法如下:
public class TEST {
public static void main(String args[]) {
JFrame jf = new JFrame();
jf.setTitle("標題");
}
}這種寫法也很多人用,很多書這樣寫,它的解釋方式更單純,
java.exe跳進main區段後,就開始操作區段內的物件~
但是這種寫法經常遇到的問題是,因為他需要寫的是物件的操作,
而『建構子』寫的則是物件的方法(method),
以下面這段code來說,
public class TEST extends JFrame {
public static void main(String args[]) {
TEST test = new TEST();
}
public TEST() {
setTitle("標題");
}
}在我常用的程式段中,因為程式是寫在建構子裡面,因此當TEST繼承了JFrame之後,我可以在建構子中直接使用JFrame的方法(method),而且不再需要new之類的動作,因為他已經是在執行了,而不是在物件描述,而且使用這種方式,我可以很明確的就知道我現在操作的就是自己(TEST)這個JFrame,而不會在extends繼承了,卻不知道要怎麼在main當中指定的問題(這裡應該用的是this)~
大致是這樣,從初學到現在,雖然Java還是很嫩,但是多少有些體悟,Java main的理解,算是我的重要體悟之一。
2008年1月4日
一杯咖啡的傷害&接水俄羅斯(Wetrix)
話說....很久沒喝左岸咖啡了,之前覺得那很好喝~
昨天心血來潮,想說買杯「奶茶」來喝,結果拿成咖啡~
喝下肚的結果..........就是現在6:33分.......還沒辦法睡...... = =||
剛剛躺床上躺了好久....精神好到爆炸...... = =||
起床後就繼續努力玩接水俄羅斯(Wetrix)了..... = =||
話說之前在ptt上看到有人在問這個遊戲,然後我也跟著去下載了,也跟著玩了~
剛開始一直玩不高分,我同學一玩玩到400萬分,我怎樣都無法突破.......
因此好勝心出現,就一直玩它~大概也玩了有一個月了......
結果勒~結果就是我一直挑戰我的極限~
目前的成果是,我已經能夠在左上和右上方各養4隻鴨子,總共7隻鴨子,然後再在下方再加一隻鴨子,共8隻~
然後玩到Level 10,分數51,944,171......看到這分數,我覺得我瘋了~~ = =||
下面這張就是截圖

之所以這麼確切的知道分數,那是因為抓圖程式抓完圖片之後,遊戲就暫停,然後我當時要放火在中間,就這麼滑鼠一點,「Quit Game」就按下去了~
所以這分數就是結束遊戲前的分數,一分都不差~~ = =||
好了,今天下午還要去看眼科,多少要休息一下...... :(
昨天心血來潮,想說買杯「奶茶」來喝,結果拿成咖啡~
喝下肚的結果..........就是現在6:33分.......還沒辦法睡...... = =||
剛剛躺床上躺了好久....精神好到爆炸...... = =||
起床後就繼續努力玩接水俄羅斯(Wetrix)了..... = =||
話說之前在ptt上看到有人在問這個遊戲,然後我也跟著去下載了,也跟著玩了~
剛開始一直玩不高分,我同學一玩玩到400萬分,我怎樣都無法突破.......
因此好勝心出現,就一直玩它~大概也玩了有一個月了......
結果勒~結果就是我一直挑戰我的極限~
目前的成果是,我已經能夠在左上和右上方各養4隻鴨子,總共7隻鴨子,然後再在下方再加一隻鴨子,共8隻~
然後玩到Level 10,分數51,944,171......看到這分數,我覺得我瘋了~~ = =||
下面這張就是截圖
之所以這麼確切的知道分數,那是因為抓圖程式抓完圖片之後,遊戲就暫停,然後我當時要放火在中間,就這麼滑鼠一點,「Quit Game」就按下去了~
所以這分數就是結束遊戲前的分數,一分都不差~~ = =||
好了,今天下午還要去看眼科,多少要休息一下...... :(
2008年1月1日
GNOME Nautilus 與 WINE
剛過新年沒多久,我就上來po文拉~
這篇將會同步po在Ubuntu論壇(和、或摩托學園)~~
前幾篇po過,最近嘗試用Ubuntu來生活,雖然還沒辦法完全離開Windows,工作時(看Paper...等)都還是要重開機回去,但已經很能適應了。
這次要說的,是Nautilus和WINE~
WINE透過google和其他blog高人的心得設定之後,中文已經支援的不錯了,軟體的支援幾乎不用改設定就可以支援了(一小部分軟體),算是不錯~
可惜的是,在Windows當中,一些軟體經常可以和檔案總管的右鍵結合,一般稱之為『shell extension』或『shellext』,在GNOME當中,類似的功能就要看Nautilus了。
GNOME當中,Nautilus身分就類似檔案總管,也的確有提供一些shell extension,但是和Windows相比,還是很弱阿~(我想要右鍵直接預覽圖片的功能,有嗎... :~~~ )
儘管如此,有個不錯的程式不錯,在套件庫就有了,套件名稱叫作『Nautilus-Actions』,它可以讓我們自訂右鍵的功能選單,能夠自訂要執行的程式指令和參數,還能自行指定圖示,相當的方便。
Nautilus-Actions介紹完了,讓我們說說WINE吧~
WINE是Linux上的Windows模擬器,可以執行一些些程式,像是ConvertZ、PDF-X Change PDF Viewer...等等。
以ConvertZ來說,我在Windows上的用法,多半是指個檔案,然後右鍵選ConvertZ,然後就能很方便的轉換到繁體(正體),儘管Linux能夠用WINE執行,但感覺少了甚麼.....就是右鍵執行的能力。
至於PDF-X Change PDF Viewer,這是套很不錯的PDF Viewer,它是免費的,而且可以直接下註解,在Windows上,我已經完全取代Adobe Reader了,雖然它能用WINE執行,但開啟檔案的視窗目前會當掉(我猜八九不離十是那個PDF預覽惹的禍),因此如果我們直接下指令,它是可以正常執行的,可是每次都下指令,還要查看轉換、檔案路徑(/home/xxx = z:\home\xxx),這不是很麻煩嗎。
有沒有辦法跟Nautilus-Actions進行結合呢?
我的解決方法是,寫個shell script幫我把檔案、目錄的路徑轉成z:\xxx\xxxx的格式,在送給WINE執行,因此就用我差勁的shell script能力寫了下面這樣的程式:
/usr/local/bin/wine_bridge
過程很簡單,把 wine ConvertZ.exe "/home/xxx/ooo.pdf" 轉成 wine ConvertZ.exe "z:\home\xxx\ooo.pdf" 並寫入到 /tmp/runcmd,之後就執行它~
使用方法是,加入新的Nautilus動作
系統->偏好設定->動作組態
新增->標籤自訂、圖示自訂、工具提示自訂
->動作 路徑->/usr/local/bin/wine_bridge(檔名路徑同前)
->動作 參數->"/home/xxx/.wine/drive_c/Program Files/ConvertZ/ConvertZ.exe" %M(前面填上WINE要執行程式的完整路徑檔名,後面的%M則就是目前指到的檔案(目錄)的完整路徑)
相信看到的人,可以幫我改良它,畢竟只花了點時間,而且我bash不熟,功能有到我就滿足了~
加入之後,我的ConvertZ、PDF-X Change PDF Viewer現在都能夠直接用Nautilus右鍵來呼叫執行了,非常方便~
最後,這程式看起來就很破,而且能改進的地方也很多,像是多個檔案的能力拉.....等等,歡迎修改它然後跟我說,讓我也能用..... :p
這篇將會同步po在Ubuntu論壇(和、或摩托學園)~~
前幾篇po過,最近嘗試用Ubuntu來生活,雖然還沒辦法完全離開Windows,工作時(看Paper...等)都還是要重開機回去,但已經很能適應了。
這次要說的,是Nautilus和WINE~
WINE透過google和其他blog高人的心得設定之後,中文已經支援的不錯了,軟體的支援幾乎不用改設定就可以支援了(一小部分軟體),算是不錯~
可惜的是,在Windows當中,一些軟體經常可以和檔案總管的右鍵結合,一般稱之為『shell extension』或『shellext』,在GNOME當中,類似的功能就要看Nautilus了。
GNOME當中,Nautilus身分就類似檔案總管,也的確有提供一些shell extension,但是和Windows相比,還是很弱阿~(我想要右鍵直接預覽圖片的功能,有嗎... :~~~ )
儘管如此,有個不錯的程式不錯,在套件庫就有了,套件名稱叫作『Nautilus-Actions』,它可以讓我們自訂右鍵的功能選單,能夠自訂要執行的程式指令和參數,還能自行指定圖示,相當的方便。
Nautilus-Actions介紹完了,讓我們說說WINE吧~
WINE是Linux上的Windows模擬器,可以執行一些些程式,像是ConvertZ、PDF-X Change PDF Viewer...等等。
以ConvertZ來說,我在Windows上的用法,多半是指個檔案,然後右鍵選ConvertZ,然後就能很方便的轉換到繁體(正體),儘管Linux能夠用WINE執行,但感覺少了甚麼.....就是右鍵執行的能力。
至於PDF-X Change PDF Viewer,這是套很不錯的PDF Viewer,它是免費的,而且可以直接下註解,在Windows上,我已經完全取代Adobe Reader了,雖然它能用WINE執行,但開啟檔案的視窗目前會當掉(我猜八九不離十是那個PDF預覽惹的禍),因此如果我們直接下指令,它是可以正常執行的,可是每次都下指令,還要查看轉換、檔案路徑(/home/xxx = z:\home\xxx),這不是很麻煩嗎。
有沒有辦法跟Nautilus-Actions進行結合呢?
我的解決方法是,寫個shell script幫我把檔案、目錄的路徑轉成z:\xxx\xxxx的格式,在送給WINE執行,因此就用我差勁的shell script能力寫了下面這樣的程式:
/usr/local/bin/wine_bridge
#!/bin/bash
rm /tmp/runcmd
echo -n "/usr/bin/wine '$1' '" > /tmp/runcmd
echo -n $2 | sed -e 's/\//\\/g' | sed -e 's/^/z:/g' >> /tmp/runcmd
echo -n "'" >> /tmp/runcmd
chmod 700 /tmp/runcmd
/tmp/runcmd過程很簡單,把 wine ConvertZ.exe "/home/xxx/ooo.pdf" 轉成 wine ConvertZ.exe "z:\home\xxx\ooo.pdf" 並寫入到 /tmp/runcmd,之後就執行它~
使用方法是,加入新的Nautilus動作
系統->偏好設定->動作組態
新增->標籤自訂、圖示自訂、工具提示自訂
->動作 路徑->/usr/local/bin/wine_bridge(檔名路徑同前)
->動作 參數->"/home/xxx/.wine/drive_c/Program Files/ConvertZ/ConvertZ.exe" %M(前面填上WINE要執行程式的完整路徑檔名,後面的%M則就是目前指到的檔案(目錄)的完整路徑)
相信看到的人,可以幫我改良它,畢竟只花了點時間,而且我bash不熟,功能有到我就滿足了~
加入之後,我的ConvertZ、PDF-X Change PDF Viewer現在都能夠直接用Nautilus右鍵來呼叫執行了,非常方便~
最後,這程式看起來就很破,而且能改進的地方也很多,像是多個檔案的能力拉.....等等,歡迎修改它然後跟我說,讓我也能用..... :p
2007年12月27日
DAC、OP、擴音機、擴大機...等無底洞.......
今天中午,朋友問我DAC、OP熟不熟,我就說.....8051的DAC知道一點,音響的不大熟......
之後上網找,找到下面這篇:
http://chat.ericoffice.idv.tw/modules/news/article.php?storyid=83
作者雖然一直說他本行不是電子,不敢評論什麼,但是.....大哥您多慮了,您寫的很不錯..... :p
我雖然研究所前都是電子科系,可是電子學一向都是60飛過的,電路也很爛,
跟我一樣的人,多的勒~ :p
這篇文章標題叫「DAC--->(1) 結構簡介」,內容一開始就說得很明白,
DAC就3個部份:
1.數位輸入
2.解碼
3.類比輸出
還記得之前打過另一篇,說到我對DAC、耳擴不屑一顧,而且覺得浪費,
還不如花大錢買更好的音效卡之類的,這篇說了很多,也有異取同工之效,
他就說到,解碼部份大都是IC,IC根本不能動,
數位輸出通常都是IC的電路,幾乎都是公版,能動的也很有限,
頂多就是換換元件,而這.....能帶來多大的效用?能因此改變音質?這是否定的~
而且作者也說了,一個搞不好,電路就不會動了,我附加.....IC甚至可能燒掉~~
既然1,2都不能改,能改的也就3(類比輸出)了,
而類比輸出,能動的也就改改電容增加濾波效果,真正影響的不在這裡,
因為解碼晶片不好,解出來的類比資料不好,後面更不用說了~
所以DIY真正的效果,僅僅就是加強原本的硬體,多做濾波、多做緩衝,
但效用有多大?你能做,製產品的設備廠商為何不做?
因此說到底,與其DIY改半天,不如花大錢買好的設備還比較值得,
那至於這個大錢有多大?就看個人對大錢的定義了..... :p
最後補充一點,那篇的作者最後有提到,與其搞半天DAC,不如換好點的喇叭,
這點我非常認同,雖然喇叭很貴,但是他造成的差異性應該是最大的,
至於喇叭的選擇,我個人仍舊停留在5年前的認知~「越重越好」~
這和Power選擇差不多,畢竟都是繞線圈繞出來的,理論上越重表示越好,
想想看,做電磁鐵磁性要大,是線圈多繞點,還是少繞點?
Power現在的選擇有些不同,無法完全用重量判斷,原因有2:
1.現在Power幾乎都是Switch Power,Switch Power主要是靠RC震盪出來的,
因此線圈大概只剩下電感... = =||
因此不容易用線圈數量來判斷好壞,要真的去測測看它的效率、功率,
測法,當然得拆開用「專業儀器」量,通常辦不到,因此現在的判斷方式,
就是看Power上面的徽章了,徽章越多,價格越高,通常也越好~
2.Power會重,現在都是重在散熱片,散熱片越大會越好嗎?
我寧可是12cm的風扇或雙風扇,效果應該都比很大、很重的散熱片好.... = =||
所以現在Power已經不好用重量來判斷了,不過喇叭,就電磁鐵+磁鐵,
我還是很相信重量說法低~ :D
之後上網找,找到下面這篇:
http://chat.ericoffice.idv.tw/modules/news/article.php?storyid=83
作者雖然一直說他本行不是電子,不敢評論什麼,但是.....大哥您多慮了,您寫的很不錯..... :p
我雖然研究所前都是電子科系,可是電子學一向都是60飛過的,電路也很爛,
跟我一樣的人,多的勒~ :p
這篇文章標題叫「DAC--->(1) 結構簡介」,內容一開始就說得很明白,
DAC就3個部份:
1.數位輸入
2.解碼
3.類比輸出
還記得之前打過另一篇,說到我對DAC、耳擴不屑一顧,而且覺得浪費,
還不如花大錢買更好的音效卡之類的,這篇說了很多,也有異取同工之效,
他就說到,解碼部份大都是IC,IC根本不能動,
數位輸出通常都是IC的電路,幾乎都是公版,能動的也很有限,
頂多就是換換元件,而這.....能帶來多大的效用?能因此改變音質?這是否定的~
而且作者也說了,一個搞不好,電路就不會動了,我附加.....IC甚至可能燒掉~~
既然1,2都不能改,能改的也就3(類比輸出)了,
而類比輸出,能動的也就改改電容增加濾波效果,真正影響的不在這裡,
因為解碼晶片不好,解出來的類比資料不好,後面更不用說了~
所以DIY真正的效果,僅僅就是加強原本的硬體,多做濾波、多做緩衝,
但效用有多大?你能做,製產品的設備廠商為何不做?
因此說到底,與其DIY改半天,不如花大錢買好的設備還比較值得,
那至於這個大錢有多大?就看個人對大錢的定義了..... :p
最後補充一點,那篇的作者最後有提到,與其搞半天DAC,不如換好點的喇叭,
這點我非常認同,雖然喇叭很貴,但是他造成的差異性應該是最大的,
至於喇叭的選擇,我個人仍舊停留在5年前的認知~「越重越好」~
這和Power選擇差不多,畢竟都是繞線圈繞出來的,理論上越重表示越好,
想想看,做電磁鐵磁性要大,是線圈多繞點,還是少繞點?
Power現在的選擇有些不同,無法完全用重量判斷,原因有2:
1.現在Power幾乎都是Switch Power,Switch Power主要是靠RC震盪出來的,
因此線圈大概只剩下電感... = =||
因此不容易用線圈數量來判斷好壞,要真的去測測看它的效率、功率,
測法,當然得拆開用「專業儀器」量,通常辦不到,因此現在的判斷方式,
就是看Power上面的徽章了,徽章越多,價格越高,通常也越好~
2.Power會重,現在都是重在散熱片,散熱片越大會越好嗎?
我寧可是12cm的風扇或雙風扇,效果應該都比很大、很重的散熱片好.... = =||
所以現在Power已經不好用重量來判斷了,不過喇叭,就電磁鐵+磁鐵,
我還是很相信重量說法低~ :D
Linux Filesystem的選擇
早期Linux多半使用ext2來做filesystem,在數年前,大家就已經捨棄ext2了,
話說我一開始是用FreeBSD,一直以來都用UFS,開始用Linux時,就已經有ext3了,
因此我幾乎(很少)使用ext2.....
不過,通常查資料會發現,大部分人並不推薦ext3,推薦的唯一理由是,
ext3的相容性最好,而近幾年,大家比較推薦的,則是ReiserFS,
我個人目前也是用ReiserFS為主(根本所有Linux都是吧... = =||),
不過對filesystem的選擇,可以看看這篇
http://forum.ubuntu.org.cn/weblog_entry.php?e=5137&sid=980c1ca859619e20e716cb518085263e
他確實的比較了4種filesystem,並且做了測試,同時對照別人的測試,
和我一樣懶散的人,可以直接跳到最後看結果~~
========================================================
綜合結論
這些結果重現了Piszcz(2006)關於Ext3是最少的可用分區容量的系統,ReiserFS是最長掛載時間的系統,Ext3創建時間最長的系統。此外,和這份報告中的內容一樣,都發現JFS是CPU佔用最少的系統。最後,這份報告是第一個顯示ReiserFS在通常的文件操作中有較高的page faults。
認識到各個文件系統的優缺點之後,每個 分區/磁盤 只可以安裝一個文件系統。基於上面的測試,XFS似乎是最適合於家用文件服務器或者小型商務服務器使用:
* 他可以最大限度的使用你的硬盤。
* 他是創建、掛載、卸載速度最快的文件系統。
* 他是操作大文件(>500M)速度最快的文件系統。
* 他對於大量的中小文件和目錄的操作是第二快的。
* 在大的目錄樹列表和查找操作中,他在操作時間和CPU佔用間找到了很好的平衡。
* 他不是佔用資源最少的文件系統,但是他在比較老的硬件上面的資源佔用還可以接受。
Piszcz(2006)沒有明確的推薦XFS,他總結說「個人認為,我會因為性能和可靠性而選擇XFS」。我支持他的結論。
========================================================
還在使用ext3的人,醒醒吧~除了相容性之外,它幾乎沒什麼優勢,
還在用ReiserFS的夥伴們,我們是否該考慮跳槽其他filesystem了呢?
還在用ext2的朋友們,除了「最大相容性」、「老舊Server的維護性」、「不敢動資料的Server」之外,強烈建議不要再在新系統上用它了吧~
現在Debian、Fedora、RedHat、Ubuntu...等數套主流的Linux,預設都不用ext2了,
該跟上時代了~~
話說我一開始是用FreeBSD,一直以來都用UFS,開始用Linux時,就已經有ext3了,
因此我幾乎(很少)使用ext2.....
不過,通常查資料會發現,大部分人並不推薦ext3,推薦的唯一理由是,
ext3的相容性最好,而近幾年,大家比較推薦的,則是ReiserFS,
我個人目前也是用ReiserFS為主(根本所有Linux都是吧... = =||),
不過對filesystem的選擇,可以看看這篇
http://forum.ubuntu.org.cn/weblog_entry.php?e=5137&sid=980c1ca859619e20e716cb518085263e
他確實的比較了4種filesystem,並且做了測試,同時對照別人的測試,
和我一樣懶散的人,可以直接跳到最後看結果~~
========================================================
綜合結論
這些結果重現了Piszcz(2006)關於Ext3是最少的可用分區容量的系統,ReiserFS是最長掛載時間的系統,Ext3創建時間最長的系統。此外,和這份報告中的內容一樣,都發現JFS是CPU佔用最少的系統。最後,這份報告是第一個顯示ReiserFS在通常的文件操作中有較高的page faults。
認識到各個文件系統的優缺點之後,每個 分區/磁盤 只可以安裝一個文件系統。基於上面的測試,XFS似乎是最適合於家用文件服務器或者小型商務服務器使用:
* 他可以最大限度的使用你的硬盤。
* 他是創建、掛載、卸載速度最快的文件系統。
* 他是操作大文件(>500M)速度最快的文件系統。
* 他對於大量的中小文件和目錄的操作是第二快的。
* 在大的目錄樹列表和查找操作中,他在操作時間和CPU佔用間找到了很好的平衡。
* 他不是佔用資源最少的文件系統,但是他在比較老的硬件上面的資源佔用還可以接受。
Piszcz(2006)沒有明確的推薦XFS,他總結說「個人認為,我會因為性能和可靠性而選擇XFS」。我支持他的結論。
========================================================
還在使用ext3的人,醒醒吧~除了相容性之外,它幾乎沒什麼優勢,
還在用ReiserFS的夥伴們,我們是否該考慮跳槽其他filesystem了呢?
還在用ext2的朋友們,除了「最大相容性」、「老舊Server的維護性」、「不敢動資料的Server」之外,強烈建議不要再在新系統上用它了吧~
現在Debian、Fedora、RedHat、Ubuntu...等數套主流的Linux,預設都不用ext2了,
該跟上時代了~~
Ubuntu使用手記(2008-04-29更新)
快~新年剩沒幾天了~po出年前最後一篇~
這次要貼的,是最近這幾周使用Linux的心得,也許會說:「別鬧了,你Linux都用幾年了,裝嫩x~」
恩~這次不同以往,最近嘗試將Ubuntu當桌機來使用,而不是當Server使用,目前還在調校、適應階段,不過還差一些。
先把試用時的過程心得po出來,未來如果有更新,再修改~
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Ubuntu使用手記(for 7.04):
目前正在進行Linux實用化的測試。
首先按照標準流程安裝Ubuntu,接著:
1. 聲音、影像
關於聲音是好處理的,只需要點2下音效,將Audigy Analog/Digital Output Jack關掉即可。
這選項就是一般Windows上的「數位輸出」......
會發現沒有重低音,目前知道是加入LFT,然後可以控制,但是LFT似乎會把重低音分配到幾隻喇叭上,不會只有重低音喇叭,這點目前不會解。
影像部份就是安裝顯示卡驅動程式,直接安裝基本的驅動程式即可。
點選->系統->管理->受限驅動程式管理員
然後點2下安裝套件、重新開機即可。
2. 網路芳鄰
搞半天原來Linux上現在網路芳鄰鬧雙胞胎,GNOME推smb協定(也就是smb開頭的URL),但並非很多人支援它。
因此在播放程式要播放網路芳鄰音樂時,有些軟體可以用GNOME的檔案總管直接建立後,直接播放,有些卻不行。
因此這邊另外要使用傳統的mount來連線網路芳鄰,方法如下:
sudo mount -t cifs //192.168.1.6/data1 /mnt -o username=ycfu,iocharset=utf8,codepage=cp950
之後可以搭配autofs對特定分享作自動連線
=============================================================+
2007-12-24
在Gnome上要自動掛載(如同軟碟、光碟、隨身碟...等)很簡單,
最下面的gnome-mount設定僅僅只針對要改mount時的參數時使用,
要自動掛載nfs、smb之類的,只需要簡單的設定/etc/fstab即可。
192.168.1.6:/home/data1/音樂分享區 /media/音樂分享區 nfs noauto,rw,intr,rsize=32768,wsize=32768,users 0 0
//192.168.1.6/ycfu /media/ycfu cifs noauto,users,username=ycfu,iocharset=utf8,codepage=cp950,password=xxxxxx 0 0
這邊要注意的部份是,在options的部份中,都有noauto和users
noauto是表示不要自動掛載
users是表示所有人都可以掛載
只要這樣設定好,在Gnome就可以看到它的蹤影,點兩下就可以掛載~~
=============================================================+
3. Firefox的Java/Flash
Ubuntu上的Java目前不是問題,直接安裝Java套件即可,但是Flash卻麻煩一點點。
到Flash網站下載Linux Flash Player,解壓縮後執行執行檔即可。
其實不會太難裝~~
4. 播放影片
這目前還沒有完善的解決方案。
首先知道Linux上現在播放軟體比我想的多。
Linux上現在播放軟體有4個核心:
mplayer、xine、vlc、gstreamer
預設安裝的「影音播放器」,本名叫做totem,預設是使用gstreamer,它也可以搭xine,但是搭配後目前不能用。
然後用xine的幾套目前都不能很順利的使用。
vlc剛裝,倒是頂期待他的表現。
表現最好的是SMPlayer,它是mplayer核心,效果、樣式都很好,支援也不錯(mplayer的關係)。
要播放mpg,avi...等,到mplayer網站下載codec,解壓縮到/usr/lib/win32即可(目前SMPlayer這樣就可以了)。
對於DVD播放,尤其是DVD image播放,SMPlayer可以做到,但是沒有DVD選單,mplayer的因素。
其他套目前還無解~~~
如果要使用第二張音效卡輸出,以MPlayer來說,要使用如下參數:
-ao alsa:device=hw=2.0
其他播放器,也是類似,選擇hw=2.0即可,hw就是用來選擇音效卡硬體的,1.x 表示第一張、2.x 表示第二張。
使用VLC可以很方便的選擇。
而在SMPlayer使用時會發現,不能調整音量,用喇叭沒差,但是用耳機就有問題,方法很簡單:
選項->設定->一般->使用軟體音量控制
5. 虛擬光碟
AcetoneISO2號稱可以做到,它可以把image檔mount之後變成目錄,無法變成真正的光碟機。
但是支援的image檔已經多一點點了,可惜不支援mds/mdf....這太常用了。
6. BBS/圖片瀏覽
這兩個放一起是因為,PCMan都有寫不錯的程式。
PCMan的幾套程式都裝,都不錯用,包括:
pcmanx-gtk2, pcmanfm, mozilla-plugin-pcmanx, gpicview(這要到網站下載安裝)
7. 音樂播放
音樂播放部分,目前使用Audacious這套,它預設不支援ape,但是可以簡單的安裝好。
做法基本上算是參考:
http://sunghlin.blogspot.com/2007/11/ubuntu-710-part-3-cue-tta-ape.html
以我瞭解的解說:
ape部分目前因為沒有授權Linux的版本,因此大家不敢放,所以預設都沒支援。
現階段來說,要在Audacious上支援ape需要2個步驟(也可以說是2個套件):
1.
mac-3.99-u4-b5
這是甚麼?這其實就是ape的codec,讓Linux能夠解碼ape,它實際是某位神人把win32的ape porting到Linux上來的。
2.
audacious-mac
這又是甚麼?單單有ape的codec不大夠,因為Linux能夠解碼ape不代表Audacious能夠解碼ape,因此需要有個Audacious的外掛,就是這個程式。
這個程式的功能很簡單,它實際是呼叫前面的mac,本身其實就是個Audacious呼叫mac的介面。
上述2個程式要安裝,沒辦法用套件,必須自己編譯出檔案,而在編譯檔案前,大家都知道要先確定有編譯的環境,環境建置如下:
apt-get install audacious-dev g++
因為這兩個鬼東西都是用C++寫的,都需要g++才能編譯,因此需要g++,Audacious-dev則不用說了,它是Audacious開發用的套件,
編譯它的外掛應該是會需要,裝上它的另一個好處是,它能幫我們把需要的套件補齊。
接下來很簡單,下載好上述的2個檔案,連結分別是:
http://ptao.victim.free.fr/DL/mac-3.99-u4-b5.tar.gz
http://www.netswarm.net/misc/audacious-mac-0.2.0.tar.gz
其中audacious-mac的總站是:
http://www.netswarm.net/
兩個都解壓縮到 /tmp 下,然後先編譯mac-3.99再編譯audacious-mac,編譯方法都是:
./configure && make && make install
直接下即可,它會放到它該放的地方。
安裝好之後,重新啟動Audacious應該就ok了,有一點要注意的,要讓中文正常,有2個設定:
1.Audacious偏好設定->外觀->字型
這不用解釋了,選個英文字型後要它出現中文,是強人所難~
2.Audacious偏好設定->外觀->使用點陣字(如果可用) 要「去掉」
這個不好解釋,原則上同非常早期的Winamp 2.x版,要把使用點陣字去掉,讓它使用一般字型來顯示。
8.Ubuntu懶人包
網址在:
http://lazybuntu.openfoundry.org/
我覺得裝它一部份東西不錯,像中文字型和codec、播放器,其他就.....,像Adobe Reader 8.11,讓我等到睡著,片子看完都還沒抓完~ = =||
9.顯示卡驅動程式
顯示卡驅動程式基本上參考:
http://www.ubuntufreunde.de/forum/p11783/ubuntu_gutsy_nvidia_treiber_96_43_01_installieren.html#post11783
雖然都是看不懂的「德文」,但照著做就ok了~
補充一點,Ubuntu的特效需要設定「受限的驅動程式」,它似乎看不懂NVIDIA官方的驅動程式,
建議的改善方法是,先安裝它,然後再按照上面的方法安裝官方的驅動程式。
10.預設音效卡問題
Ubuntu很笨,預設音效卡似乎會一直跑,解決方法如下網址:
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?post_id=23765
內文如下:
先在終端機下
sudo asoundconf list
像我有一個音效卡,是NB(NVidia)的,和一個USB(C-Media)的音效卡
輸入以上指令就會出現
NVidia
default
這時如果我要將筆電的音效設成預設,只要下
sudo asoundconf set-default-card NVidia
如果要將USB音效卡設成預設,只要下
sudo asoundconf set-default-card default
以此類推,如果asoundconf也抓不出的話,這方法就不適用了
10.VirtualBox設定
到網站下載之後,安裝完要如下設定:
a.新增到群組,如下指令:
sudo usermod -G vboxusers -a xxxxx
b.加入下列這行到/etc/fstab
none /proc/bus/usb usbfs devmode=666 0 0
這是將USB權限設定給全部人使用,要安全性好點,如下網頁設置:
http://forum.ubuntu.org.cn/viewtopic.php?t=78342
c1.使用NAT模式
參考如下網址設置:
http://www.linuxsir.org/bbs/showthread.php?t=293771
#chmod 0666 /dev/net/tun #設置訪問權限
#tunctl -t tap0 -u leemars #建立一個tap設備, 名字為tap0, 所有者為leemars
#ifconfig eth0 0.0.0.0 promisc #使eth0進入promiscuous模式
#ifconfig tap0 0.0.0.0 promisc #使tap0進入promiscuous模式
#brctl addbr br0 #增加一個網橋
#brctl addif br0 eth0 #將eth0加入網橋
#ifconfig eth0 up #激活eth0
#dhclient br0 #為br0設置IP地址
#brctl addif br0 tap0 #將tap0加入網橋
#ifconfig tap0 up #激活tap0
c.建立bridge模式
如下網頁設置:
http://blog.ssh.tw/?p=735
注意:
ifconfig eth0 0.0.0.0 promisc
brctl addif br0 eth0
dhclient br0
這幾行會導致網卡斷線,之後重新透過DHCP取得IP,
因此要注意,有設定到這幾行,要在本機設定,不然就是寫成script,給它背景執行。
PS:網頁作者參照如下網頁:
http://blog.chinaunix.net/u1/35100/showart_288321.html
11.aMSN安裝問題:
aMSN的鬼問題,參照:
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?post_id=30950
它提到有個檔案:
http://nmgmt.cs.nchu.edu.tw/nm/fixamsn.sh
執行它之後就會自動編譯、安裝出中文ok的aMSN~~
如果要還原修正後的檔案,同個檔案執行:
bash fixamsn.sh clean
即可~~
12.改用GPicView作為預設圖片顯示程式
如下網頁:
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?post_id=33957
輸入如下指令即可:
xdg-mime default gpicview.desktop `grep 'MimeType=' /usr/share/applications/gpicview.desktop | sed -e 's/.*=//' -e 's/;/ /g'`
13.OpenOffice支援MySQL
如網頁:http://blog.edu.cn/user2/27310/archives/2006/1204137.shtml
14.傳真掃描
掃描問題比較小,安裝xsane即可(預設好像就有裝了),然後需要設定的,是修改:
/etc/sane.d/net.conf
加入
192.168.1.6
即可
傳真部份,安裝gfax
裡面按設定設hylafax和帳號密碼
這邊需要注意的是,它掃描的檔案只吃.ps檔,目前知道用xsane掃描時,可以直接掃成.ps檔,其他目前還不清楚。
15.開機畫面顯示問題
開機一直沒畫面,終於把問題解決了,方法很簡單,參考網址如下:
http://webnews.giga.net.tw/thread//tw.bbs.comp.linux/57803
原文:
================================================================
解法,例如我的 Monitor 是 1280x1024,但是 usplash 可能只能用 1024x768 跑,
到 /etc/usplash.conf 中將
xres=1280
yres=1024
改成
xres=1024
yres=768
然後在打
sudo update-initramfs -u -k `uname -r`
更新一下就應該可以看到了
================================================================
Ubuntu上的開機畫面使用的是usplash(Ubuntu Splash),也就是類似之前Debian上玩的Bootsplash,
在Ubuntu上其實已經設定好了,且設定的很好,不能用的原因是它把解析度設錯了,
我不能理解為何Ubuntu要把我的解析度設到1280x1024..........這是人看的嗎.......... = =||
因此很簡單,修改
/etc/usplash.conf
依需要改變解析度,哪個是寬、哪個是高應該不用說了吧...... :p
我之前改完後重開機沒反應,感覺好像少了什麼步驟~
就是
sudo update-initramfs -u -k `uname -r`
套Debian當時的資訊,因為圖片其實是存放在initramfs中的,所以需要重建initramfs才會動作。
對了對了~因為開機時候都會出現FAT32的檔名錯誤,記得要修改/etc/fstab,把幾個FAT32後面的0 1改成0 0,讓它不要開機檢查。
16.RealPlayer沒聲音(我這邊是聲音輸出在AC97上)的解決方法
RealPlayer之所以沒聲音,是因為它並不支援ALSA,不過現在大部分都是介紹使用ALSA作為主要的聲音介面,
解決方法如網頁稍微修正:
http://www.linuxfans.org/bbs/thread-181653-1-1.html
1.安裝alsa-oss套件
sudo apt-get install alsa-oss
2.修改RealPlayer的呼叫指令,在前面加上aoss
這邊一般都是教使用sed把realplayer的script找出來改,可是我好像沒找到這個script檔案,
因此我稍微變通一下,修改GNOME選單的command~~
系統->偏好設定->Main Menu->影音->RealPlayer 10->滑鼠右鍵->屬性->Command改為『aoss realplay %U』
17.Swiftfox安裝(暫時)
Swiftfox不錯,可是它現在竟然強迫更新到3.x了.....
要安裝目前的正式版可以看:
http://www.ubuntu.org.tw/modules/planet/view.article.php?685
18.WINE中文設定(暫時)
WINE的中文問題分2部份,分別是顯示和輸入。
顯示的部份問題其實在WINE中字型的設定上,它用的字型全部都不是中文字型,中文字自然出不來~
設定可以用2種方式,一種是直接改~/.wine/system.reg和~/.wine/user.reg
但是其實這2個檔案,就是直接對應到regedit中的,所以也可以直接改regedit。
已設定來說,我用到最ok的(0.9.51)是
http://semson.blogspot.com/2007/11/wine-crossover-office-picasa-linux.html
這個人提供的regedit檔案,直接套用即可。
PSPad中文輸入與顯示:
PSPad在套用上面的中文設定之後,顯示應該就沒問題了,設定上要多設定個地方,
打開『設定->本程式各項設定->直接編輯->Font->Courier New』通通改成『AR PL New Sung』。
在使用cxoffice版本時,一樣要設定中文,也要設定音效,
中文設定時,呼叫regedit的方法是
執行cxrun,設定好bottle,然後執行的command輸入regedit,接著匯入前面說的網站的reg檔案。
兒音效的設定,則參考:
http://www.linuxjournal.com/article/8886
要使用
./wine --wl-app winecfg
不同的bottle則要用:
./wine --bottle win2000 --wl-app winecfg
19.Firefox中文字型設定
中文字型可以參考:
http://blog.xuite.net/ericsk0313/ubuntu/5239097
他是用細明體,只要安裝mscorexxx字型之後,Arial和Time字型都有了,細明體改成新宋即可。
20.GNOME mount
GNOME會自動mount裝置,像是USB、光碟機...等,可是autofs預設是沒有安裝的,
那GNOME那來這麼神奇的功能?
答案是,GNOME有GNOME mount這個程式,它用來做這樣的工作,
參考:
http://lusweblog.blogspot.com/2007/09/mounting-options-in-gconv.html
GNOME mount的執行程式是gnome-mount,他的設定儲存在GNOME裡類似registry的設定裡。
網頁原文是:
===========================================================
GNOME 會自動 mount usb device。
在 mount usb 硬碟時,我們常常會需要一些額外的 option, 例如utf8。
GNOME 預設沒有這些option, 所以在ntfs 或 vfat 的usb 碟碟裡的中文檔名全部都變亂碼了。
所幸gnome-mount 的 argument 是可以在 gconf 裡設定的。
開啟 configuration editor (gconf-editor),在 system/storage/default_options 裡可以設定各種 file system 在mount 時所要的參數。
gconf裡看起來好像還有很多東西可以玩,有空再來慢慢研究...
對了, GNOME 的 g 是不發音的... 我常忘了這件事...
===========================================================
21.Linux下ID3 tag問題
在Windows上mp3標籤已經很難搞了,到Linux上會發現,事情變得更複雜了。
關於Linux上標籤問題,參考:
http://www.oceanboo.cn/read.php?114
簡單說,就是下面這個表的問題:
ID3v1:只支持ISO--8859-1
ID3v2 2.3:ISO--8859-1、UTF-16
ID3v2 2.4:ISO--8859-1、UTF-16、UTF-8
APEv2:UTF-8
基本上,在Windows上就全吃,其中問題最大的在ID3v1,不支援中文,
因此Windows上直接用ISO-8859-1儲存中文,到Linux上就自爆了..... = =||
文章建議的方式是,直接改用ID3v2,ID3v1就別用了~~
不過不論如何,一次大規模的變更ID3似乎是不可避免了..... :(
======================================================
2008-01-01
22.Windows Key
Windows Key基本上算是部份解決了,儘管不漂亮,但的確是解決了問題,
其實在GNOME當中,對Windows Key的支援就已經有做了,在網路上說的remap設定其實不大需要~~
系統->偏好設定->鍵盤->配置選項
這裡我們可以看到有個『Alt-Win 鍵功能』,點開後可以看到一些選項,其中多半都是針對Win Key的設置,
以我來說,我選擇『Hyper 配置到兩個 Win-key』
選取之後,在
系統->偏好設定->鍵盤捷徑鍵
就可以直接用 Win-key 搭配其他鍵做設定了,例如我的
Desktop->顯示面板的『執行程式』對話視窗
就改成了
Win-key + r
它會顯示
Mod4 + r
此外,我們回到
系統->偏好設定->鍵盤
還有個『休息提示』,可以設定使用多久後提示休息~
23.Picasa2的中文設定
前面(以往)的Picasa2會按照WINE的設定方式進行設定,發現效果並不好,會掉字~
現在try try之後,發現不用這麼麻煩,而且效果超好~
安裝Picasa2 2.7.0 for Linux套件之後,直接點選選單中的Picasa進行安裝~
安裝完之後,關閉程式並點選『Picasa Font Settings』
Font Linking先加入要使用的中文字型,然後把其他字型全部拿掉,以目前來說(我改用Mac的LiHei Pro了),就只剩下LiHei Pro~
接著到Menu Font,選擇要使用的中文字型,以目前來說(我改用Mac的LiHei Pro了),就是LiHei Pro,然後設定下字體大小,我目前是用11~
按下OK後離開,重新開啟Picasa,進入程式後,應該會看到全部都變成LiHei Pro字型了,然後完全不會掉字~
24.VMWare設定
這是個詭異的問題,以往只有一張音效卡時都沒遇過問題,現在卻遇上了~
話說VirtualBox竟然不能安裝Alcohol 52%,這可是自Daemon Tools跳過來之後,目前我最常用的虛擬光碟軟體哩~
我個人認為,原因可能是模擬光碟機的部分和VM有衝突導致被禁止執行吧~
因此我又跳回VMWare了~沒想到VMWare竟然出現沒有聲音的問題..... :(
VMWare基本上使用OSS作為音效系統,但是正如前面說過的,現在的音效系統,要就是用alsa,不然就是esd(ESounD)或arts......
針對這部分,之前好像寫過blog~~
而VMWare要支援要怎麼辦呢?
看到下面這篇:
http://communities.vmware.com/message/706904;jsessionid=1AD50E88DE71AB6D968A4369EB181708
其中提到了這個連結:
https://www.sokrates.homelinux.net/~thomas/Private/Soft/vmwaredsp/vmwaredsp-1.4.tar.bz2
這是讓VMWare能夠支援esd、arts、alsa的模組,只需要編譯、安裝之後即可使用~
過程中他會需要一些library,像是libesd-dev...等,原則上,他提到甚麼not found就找甚麼即可~
安裝完之後,只要按照他說明:
ALSA執行
vmwarealsa
ESD執行
vmwareesd
arts我沒用,Makefile關於arts的部分我都註解掉了....
2008-01-07
25.關於Linux下5.1聲道的使用,並不如原先想像的容易,下面是教學,基本上可能需要了解alsa的設定,
目前暫時先只做紀錄~
http://www.cse.ohio-state.edu/~bondhugu/alsamch.shtml
26.Linux下的傳真
原本認為Hylafax是Linux的程式,Windows下沒有Hylafax Client,因此Windows的傳真可能比較難搞,
沒想到在Linux上,同樣很麻煩~
由於Linux上的傳真機,幾乎都是用PostScript(.ps)的格式來傳真的(不管hylafax、efax...等),
在Windows上要傳真,需要2個步驟:
1.把要傳真的檔案轉成PostScript(.ps)的格式
2.透過hylafax client送出傳真工具
不過好在許多印表機也都是吃PostScript(.ps)的格式,因此最常見的作法,就是把傳真機模擬成印表機,
透過列印把檔案轉成PostScript(.ps)並送出傳真工作~
這流程看起來很順利,但有個問題,電話號碼怎麼輸入?印表機通常不會問電話號碼的~
在之前,這是麻煩事,不過winprint這個程式出來之後,一切就簡單多了~
在Linux上問題重現,更慘的是連winprint這樣的印表機程式都沒有,因此,就寫了這個~
因為Linux上沒有像winprint這麼方便、統一的程式,可以簡單的設定個印表機達到傳真(可能我沒找到),
好在Linux上大部分的列印都是靠PostScript,因此找到了著力點~
在Linux上要傳真,就是靠傳真軟體,以我個人來說,我還滿推荐gfax的,在沒有找到其他更好用的傳真軟體之前,
這是我認為比較好用的軟體,KDE可能會有,可是KDE把傳真跟列印綁在一起由kprint來管理,
結果好像造成KDE的傳真軟體在GNOME下不大能用,似乎要先把KDE的列印系統設好才能動~
gfax它支援hylafax、efax,因此透過它可以知道hylafax server目前情況(已寄出、已收到...等),
它的傳真和其他程式一樣,只接受PostScript(.ps)格式的檔案~
因此結論1:
我們只要是PostScript(.ps)格式的檔案,都可以透過gfax傳真出去~
在Linux上,因為列印大都先轉成PostScript,因此我們可以比較容易的把文件轉成PostScript,作法很簡單~
在Windows上我們列印時經常會看到『列印到檔案』這樣的選項,
通常我們不會去用它,也不會去理會它~
而在Linux上,要傳真則要靠它,因為他能幫我們把列印的文件轉成PostScript(.ps)的檔案。
因此這部分,在Linux上就要看軟體對列印的設計了:
OpenOffice來說:
全系列OpenOffice只要能夠列印,任何印表機都提供『列印到檔案』的項目,勾選之後列印,
它就會出現『儲存』的視窗,右下角直接標記是儲存為『PostScript』
GNOME的文字編輯器(gedit):
它的列印和一般的不同,直接提供列印成PostScript、PDF的格式,同時也提供列印到gfax的功能,
從這邊的資訊往下查可以發現,gfax有提供一個程式叫作『gfaxlpr』,透過這個指令可以輕易的列印到gfax當中,
但是目前我不知道怎麼設定它成為印表機~
Firefox:
和OpenOffice一樣,列印時選擇『列印到檔案』,雖然它在儲存視窗不會顯示檔案的格式,但它就是PostScript格式沒錯,
可以用檔案總管(Nautilus)按右鍵按屬性來知道~
掃描器程式(XSANE、Kooka):
XSANE是老牌的掃描器程式,它是SANE主要的前端,它可以直接將圖檔掃瞄成PostScript(.ps)格式
Kooka是KDE預設的掃描器程式,我個人覺得它介面比XSANE好看,但沒有XSANE直覺~
Kooka掃瞄後需要先存檔,存檔後列印,列印時可以直接選擇『列印成檔案(PostScript)』~
Evolution:
Evolution是Linux上GNOME主要的郵件程式,相當於M$的Outlook,有行事曆...等功能,
它一樣直接列印,列印時可以選擇『列印到檔案』,接著可以選擇輸出格式是PDF或是PostScript。
gThumb:
gThumb是GNOME上主要的看圖程式,他的用法和Evolution幾乎一樣,
列印時除了第一個畫面讓你調整圖片的位置、大小之外,第二個畫面和Evolution用的相同。
Adobe Reader:
提供『列印到檔案』的選項,一樣是『PostScript格式』,不過它的印表機提供『自訂』,
我們可以直接輸入『gfaxlpr』讓它直接透過gfax傳真~
27.安裝Adobe Reader 7.0.9
Adobe Reader 8.0 Linux版繼承了Windows的所有優點,包括速度非常慢的特色,
因此我改安裝Adobe Reader 7.0.9~
Adobe Reader 7.0.9並沒有提供.deb的套件,只有.rpm和.tar.gz,
在Ubuntu上,我們只要安裝alien這個套件,
他可以幫我們把.rpm的套件轉成.deb,
下載.rpm的版本,執行alien xxxxx.rpm
產生adobearoread_7.0.9.deb
執行
sudo dpkg -i adobearoread_7.0.9.deb
將它安裝到系統中~
它會被安裝在
/usr/local/Adobe/Acrobat7.0
執行
/usr/local/Adobe/Acrobat7.0/bin/acroread
會發現無法起動,一直跳出expr error~
用google查詢之後,發現問題在起動程式(Script)有個判斷libgtk-x11-2.0的式子有問題,
首先查看看系統中的libgtk-x11到底是甚麼版本的,如下:
locate libgtk-x11
顯示:
/usr/lib/libgtk-x11-2.0.so.0
/usr/lib/libgtk-x11-2.0.la
/usr/lib/libgtk-x11-2.0.so
/usr/lib/libgtk-x11-2.0.so.0.1200.0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/libgtk-x11-2.0.a
/usr/lib/vmware/lib/libgtk-x11-2.0.so.0
/usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0
原來是0.1200.0的版本,再來修改起動程式
sudo vi /usr/local/Adobe/Acrobat7.0/bin/acroread
用『echo $mfile| sed』找到:
echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]\)00.\([0-9]*\)\|\(.*\)/\1\2\3/g'
改成
echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]\)200.\([0-9]*\)\|\(.*\)/\1\2\3/g'
^^^^^^^^^^^^^^^^^^^^^^^^
他的意思是(原始):
0.(0~9)00.(0~9)
我們的版本是:
0.1200.0
因此把00改成200即可~
接著把GNOME中的選單設定改掉,原本是:
acroread
改成:
/usr/local/Adobe/Acrobat7.0/bin/acroread
一起動,它會提示『PPKLite.api有問題』,上google搜尋後會發現,
只要安裝OpenLDAP套件即可~
問題是,我看PDF要OpenLDAP幹嘛?
進一步搜尋後會發現google中有人說,PPKLite.api都不用了,DigSig.api更是沒用了,
正好,就把這兩個api移除~
到
/usr/local/Adobe/Acrobat7.0/Reader/intellinux/plug_ins/
把
PPKLite.api 改成 PPKLite.api.bak
DigSig.api 改成 DigSig.api.bak
看到SendMail.api,我又不寄信,順便:
SendMail.api 改成 SendMail.api.bak
接著重新執行Adobe Reader 7.0.9,恩~和8.x相比順暢不少~
而且意外驚喜出現,星際譯王竟然可以直接使用,真是不敢相信~
28.SSH Tunnel
在Windows裡面,已經非常習慣使用Tunnelier了,這軟體實在好用到不行阿~
到了Linux上,儘管原創的OpenSSH就提供tunnel的功能了,
可是每次都要查指令參數,實在讓人無力,
查詢後找到原來GNOME已經有這樣的軟體了~
用套件管理程式安裝:
gSTM
它全名叫作:
gnome SSH Tunnel Manager
要建立firefox用的socks,只需要:
屬性->新增->Type:Dynamic->Port:1080
Firefox中設定Proxy,
Proxy是Socks
位置127.0.0.1
Port 1080
即可~
至於Tunnelier中的FTP-to-SFTP Bridge,雖然尚未找到類似的程式,
但Linux上有sshfs,可以完全替代該功能,目前比較遺憾的是,
sshfs需要輸入指令,或者和前面cifs、NFS一樣預先設置,無法有方便的GUI隨意設定隨意連線使用~
======================================================
2008-01-13
字型註記:
剛剛把XP的細明體和標楷體複製到Linux上,
經過比較之後發現,我之前一直搞錯了~
對應關係:
文鼎 PL 新宋=新細明體
文鼎 PL 新宋mono=細明體
也就是說,細明體是等寬字
======================================================
2008-01-17
29.Linux下的抓圖程式
我們經常會需要在電腦上抓圖,尤其做文件時,能夠抓圖再解說是很方便的,
那麼在Linux上要用什麼抓圖程式呢?
最基本的辦法,什麼都不裝,就是用「Print Screen」這個按鍵來抓圖,
按下去之後,用GImp或OpenOffice應該都可以貼上,
這方法在Windows和Linux都是通用的。這方法的最大缺點就是,永遠只能抓全螢幕,特定視窗、特定位置都不行。
而Linux上推薦的抓圖軟體,可以看下面這篇:
http://www.in-life.idv.tw/index.php?/archives/283-accaca-ksnapshot.html
這篇作者推薦用ksnapshot,這套抓圖軟體的確是相當方便好用的一套,畫面簡潔,但是基本的抓圖功能都具備了。
至於google搜尋之後其他幾個方案,什麼xv、gimp,還是算了吧~
xv都幾百年前的東西了,光介面就受不了了,gimp的抓圖功能又太單純了,效用不大。
相比之下,ksnapshot的確是不錯的選擇。
在Windows上,我們經常會用MWSnap,這是套小巧方便的抓圖程式,之前我幾乎都是用它(ksnapshot和它能力相當),
不過它有個致命的缺陷,它不支援捲軸抓圖,例如寫了程式,要把程式碼整個抓下來,
它就沒辦法幫你把整個程式碼全抓,頂多只能抓「這頁」程式碼,這時候可能就得要慢慢拼接,
這種事情,我是幹過的..... = =||
因此在去年,我改使用「FastStone Capture」這套抓圖軟體,它能支援捲軸抓圖,
在5.3版之前都是免費版,之後變成付費版。 = =||
在Linux上呢?目前我並沒有找到類似的抓圖軟體,還是使用ksnapshot,不過針對捲軸抓圖有個替代方案。
看下面這篇:
http://briian.com/?p=3543
重灌狂人有介紹一個抓圖程式,這個抓圖程式是Firefox的網頁抓圖外掛,軟體和公司如下:
軟體:
Pearl Crescent Page Saver
公司網頁:
https://pearlcrescent.com/products/pagesaver/
非常幸運的,這個外掛程式的Basic版本是免費的,而且最重要的,它能支援Linux x86。
雖然這個是Firefox的外掛程式,只能用在Firefox的顯示頁面中,不過因為Firefox本身有強大媒體支援性,
因此我們可以直接用Firefox開啟文字檔、網頁檔、圖片...等,雖然不能完全替代捲軸視窗的抓圖,
但是如果只是要抓程式碼(文字檔)、網頁之類的,它是可以勝任的。
30.細明體、新細明體設定
因為很多地方實在需要細明體和新細明體,這兩個字體基本上已經是中文系統的標準字型了,
尤其是「Yahoo!奇摩」...等網頁,它們直接在CSS中指定使用細明體,
另外像是用WINE使用Windows程式時,很多軟體預設也是用細明體(像是Office 2003),你不用它,
文件到了其它地方編排就是會有問題~~
把細明體、標楷體複製到/usr/share/fonts/truetype/
有了~可是卻出現了問題,所有細明體、新細明體都都會變形,什麼原因?怎麼解決?
如下:
http://blochy.com/lancetw/blog/archives/2006/07/16/107/
它提到主要原因是,英文字型要好看,需要反鋸齒功能,但中文字型不能加上反鋸齒,
而因為細明體、新細明體預設是英文名稱,就被當成英文字型來處理,18 size以下統統被加上反鋸齒,
統統都爛掉~~
解決方法它也提了,就是加個設定檔,應該是把字型名稱改成中文而已。
===========================================================
2008-01-20
昨天發現WINE莫名其妙無法使用,幾乎是一執行WINE的程式,整個X-win就會重開,
在dmesg的紀錄中,則會跳出APG進入8x mode的訊息。
發生的原因可能是這幾天的更新中有動到顯示相關的library,造成顯示卡驅動程式有些問題,
重新安裝驅動程式即可~
===========================================================
2008-01-26
Linux下的ADSL/VDSL/FTTB設定基本上不太難也不算太麻煩,
ADSL/VDSL/FTTB基本上都是透過PPPoE連線,
所以原則上就是安裝pppoeconf(一併安裝ppp),
之後執行pppoeconf然後按照簡單的詢問和回答即可完成設定。
Linux比較麻煩的是圖形化的操作,經過google大神的幫助後,找到下面頁面的介紹:
http://linuxtoy.org/archives/ppp-tray-icon.html
接著再經過google大神的詢問,找到下面的下載頁面:
http://linux.softpedia.com/progDownload/PPP-Tray-Icon-Download-31781.html
這個套件的主要功能是管理pon/poff用的,pon/poff則是呼叫PPPoE連線用的程式,
比較要注意的是,pppoeconf和pon/poff的設定檔是放在
/etc/ppp/peers/
要改變PPPoE的名稱,只需要直接改檔名就可以了!
===========================================================
2008-02-04
關於Linux下的特效,基本上就是Compiz。
要使用Compiz必須要安裝顯示卡驅動程式,目前我是安裝Nvidia原廠的驅動程式,
作法參考前面,原則上就是按照某個鬼文字網頁作法即可。
這邊要解釋Compiz的操作,關於Compiz我們要安裝套件,打開Synaptic「套件管理程式」,搜尋「compiz」。
安裝如下套件:
compiz
compiz-gnome
compizconfig-settings-manager
emerald
這邊稍微解釋一下幾個套件的用途:
compiz compiz主要套件,我不了解為何compiz-gnome安裝後它不會自動安裝
compiz-gnome compiz應用在GNOME時所需的套件,如果是KDE,則安裝相對應的compiz-kde
compizconfig-settings-manager compiz的主要設定程式,我們透過這個套件的GUI設定程式來設定所有特效
emerald 視窗裝飾
這邊要注意的是,前面提到過,Ubuntu一開始啟用特效時,會有視窗標題列消失的問題,
這主要的原因就是「emerald」的問題~
compiz本身算是視窗系統特效程式,裡面提供了非常多的視窗特效外掛,讓我們可以做出M$ Vista或MacOS X的效果,
但是它有兩個但是:
1.Compiz會取代原先GNOME預設的視窗管理
2.「compiz並不提供『視窗裝飾』」的功能,也就是說,compiz雖然會取代視窗管理功能,但卻沒有提供視窗裝飾,
而視窗裝飾,就是我們整個視窗的標題列、最大化/最小化/關閉視窗...等按鍵、視窗邊條...等,
而和compiz搭配的視窗裝飾管理程式,就是emerald,我們甚至不用另外執行,compiz就會幫我們呼叫執行了
有了以上概念之後,下面我們開始操作、設定。
我的設定原則上是參考:
http://wiki.debian.org.hk/w/Install_Compiz_Fusion
我是設定作業階段,在登入時候啟用compiz的。
之後我們可以透過
系統->偏好設定->Emerald Theme Manager
來變更視窗裝飾,可以用emerald + theme去google搜尋theme來使用。
而compiz,我們可以透過
系統->偏好設定->Advanced Desktop Effects Settings
來設定所有特效,可以設定使用或不使用該特效,在圖示上點選後,則可以設定這個特效,
其中比較重要的是,在點選圖示後設定特效時,經常可以看到有個「Action」的分頁(Tab Window),
這裡面可以看到按鍵設定,因為許多特效是需要透過快速鍵來呼叫的,不知道快速鍵就根本不知道這特效的作用,
不過目前我也沒摸很熟,很多特效其實不知道用途。
===========================================================
2008-02-18
軟體除錯可以用KDbg,目前用到最好用的。
ID3編輯目前用2套搭配:
Kid3目前用起來感覺最好,但是對 ISO8859-1 的 Big5 支援性不好
Easytag 對 ISO-8859-1 的 Big5 支援不錯,但是操作很麻煩
字幕處理,目前感覺 Subtitle Editor 似乎支援性不錯,但還不會用
===========================================================
2008-03-09
中文的TrueType字型安裝到Ubuntu其實很簡單,只需要把*.ttf的字型檔複製到
/usr/share/fonts/truetype/
接下來執行
fc-cache -v
原則上來說就可以了,但是實際上會遇到問題,
以我來說,最常遇到的問題是,字型看得到、選得到,但是全部都是方塊,
我在Ubuntu中文論壇發問,有人回應得到了解答,如下:
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?topic_id=8314&forum=8
關鍵在於『權限』。
字型要能夠使用,權限必須要是『755』,其他權限都是不行的,當沒有權限使用時,自然就會變成方塊了。
===========================================================
2008-03-22
StarDict(星際譯王) 在使用時會發現浮動視窗有問題,
當反白選字後,浮動視窗出現,可是滑鼠一動它就跑掉消失了,
這個問題解決方法其實早就有了,這是個舊版的bug,
解決方法很簡單,到StarDict的網站安裝新版的安裝套件即可(Ubuntu軟體庫裡面是3.0.0-1版,網站新版是3.0.1-1版)。
相關資訊來源:
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?post_id=32121
===========================================================
2008-03-26
最近針對NB安裝Ubuntu,發現Audacious 1.4版的安裝沒寫上來,
因此這邊補上~
Audacious 在 Ubuntu 的套件庫是 1.2版,
要更新到 1.4版我們需要找其他套件庫來安裝 1.4版 的 Ubuntu 套件。
下面網址是關於 Audacious 1.4版 套件庫的 blog 文章:
http://linux.blogbus.com/logs/14136342.html
下面這條就是 Audacious 1.4 針對 ubuntu 7.1(gutsy) 的套件庫設定:
deb http://backports.dereferenced.org/ gutsy universe
===========================================================
2008-04-26
Ubuntu使用手記(for 8.10)(升級):
Ubuntu 8.10 內建的 Audacious 套件已經是最新的 1.5.0 版,不需要額外設定了。
升級後,因為之前是安裝 NVIDIA 原廠的顯示卡驅動程式,需要重新安裝。
aMSN需要重新利用 fixamsn.sh 安裝。
Ubuntu 8.10 內建的 StarDict(星際譯王) 套件已經是最新的,不需要額外安裝了。
OpenOffice 更新為 2.4.x,關於資料庫的設定要重新設定(目前連mytsql中文有問題(JDBC和ODBC均是))。
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
結語
這次使用,目前暫時又換回來了,因為目前看paper非常需要Dr.eye,
但Linux上還沒找到類似的軟體(別跟我說星際譯龍,那軟體需要複製,無法點選後直接翻譯,且不支援Adobe PDF Reader),目前還在尋找中~~
另外,還找不到好用虛擬光碟軟體(又~別跟我說用mount可以掛載iso....我要可以掛載mds/mdf,mdf問題還小,還有mds/I01,I02,I03...等)
再者,WINE的中文設定實在很無力,儘管已經有po了,但它不完全能顯示的很好,一些地方的中文還是出不來,另外關於Windows Media Player的支援也不夠好,無法用來收看網路電視(I'm TV),如果是NB+宿舍,這可以我用來收看新聞的主要來源阿~
這次要貼的,是最近這幾周使用Linux的心得,也許會說:「別鬧了,你Linux都用幾年了,裝嫩x~」
恩~這次不同以往,最近嘗試將Ubuntu當桌機來使用,而不是當Server使用,目前還在調校、適應階段,不過還差一些。
先把試用時的過程心得po出來,未來如果有更新,再修改~
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Ubuntu使用手記(for 7.04):
目前正在進行Linux實用化的測試。
首先按照標準流程安裝Ubuntu,接著:
1. 聲音、影像
關於聲音是好處理的,只需要點2下音效,將Audigy Analog/Digital Output Jack關掉即可。
這選項就是一般Windows上的「數位輸出」......
會發現沒有重低音,目前知道是加入LFT,然後可以控制,但是LFT似乎會把重低音分配到幾隻喇叭上,不會只有重低音喇叭,這點目前不會解。
影像部份就是安裝顯示卡驅動程式,直接安裝基本的驅動程式即可。
點選->系統->管理->受限驅動程式管理員
然後點2下安裝套件、重新開機即可。
2. 網路芳鄰
搞半天原來Linux上現在網路芳鄰鬧雙胞胎,GNOME推smb協定(也就是smb開頭的URL),但並非很多人支援它。
因此在播放程式要播放網路芳鄰音樂時,有些軟體可以用GNOME的檔案總管直接建立後,直接播放,有些卻不行。
因此這邊另外要使用傳統的mount來連線網路芳鄰,方法如下:
sudo mount -t cifs //192.168.1.6/data1 /mnt -o username=ycfu,iocharset=utf8,codepage=cp950
之後可以搭配autofs對特定分享作自動連線
=============================================================+
2007-12-24
在Gnome上要自動掛載(如同軟碟、光碟、隨身碟...等)很簡單,
最下面的gnome-mount設定僅僅只針對要改mount時的參數時使用,
要自動掛載nfs、smb之類的,只需要簡單的設定/etc/fstab即可。
192.168.1.6:/home/data1/音樂分享區 /media/音樂分享區 nfs noauto,rw,intr,rsize=32768,wsize=32768,users 0 0
//192.168.1.6/ycfu /media/ycfu cifs noauto,users,username=ycfu,iocharset=utf8,codepage=cp950,password=xxxxxx 0 0
這邊要注意的部份是,在options的部份中,都有noauto和users
noauto是表示不要自動掛載
users是表示所有人都可以掛載
只要這樣設定好,在Gnome就可以看到它的蹤影,點兩下就可以掛載~~
=============================================================+
3. Firefox的Java/Flash
Ubuntu上的Java目前不是問題,直接安裝Java套件即可,但是Flash卻麻煩一點點。
到Flash網站下載Linux Flash Player,解壓縮後執行執行檔即可。
其實不會太難裝~~
4. 播放影片
這目前還沒有完善的解決方案。
首先知道Linux上現在播放軟體比我想的多。
Linux上現在播放軟體有4個核心:
mplayer、xine、vlc、gstreamer
預設安裝的「影音播放器」,本名叫做totem,預設是使用gstreamer,它也可以搭xine,但是搭配後目前不能用。
然後用xine的幾套目前都不能很順利的使用。
vlc剛裝,倒是頂期待他的表現。
表現最好的是SMPlayer,它是mplayer核心,效果、樣式都很好,支援也不錯(mplayer的關係)。
要播放mpg,avi...等,到mplayer網站下載codec,解壓縮到/usr/lib/win32即可(目前SMPlayer這樣就可以了)。
對於DVD播放,尤其是DVD image播放,SMPlayer可以做到,但是沒有DVD選單,mplayer的因素。
其他套目前還無解~~~
如果要使用第二張音效卡輸出,以MPlayer來說,要使用如下參數:
-ao alsa:device=hw=2.0
其他播放器,也是類似,選擇hw=2.0即可,hw就是用來選擇音效卡硬體的,1.x 表示第一張、2.x 表示第二張。
使用VLC可以很方便的選擇。
而在SMPlayer使用時會發現,不能調整音量,用喇叭沒差,但是用耳機就有問題,方法很簡單:
選項->設定->一般->使用軟體音量控制
5. 虛擬光碟
AcetoneISO2號稱可以做到,它可以把image檔mount之後變成目錄,無法變成真正的光碟機。
但是支援的image檔已經多一點點了,可惜不支援mds/mdf....這太常用了。
6. BBS/圖片瀏覽
這兩個放一起是因為,PCMan都有寫不錯的程式。
PCMan的幾套程式都裝,都不錯用,包括:
pcmanx-gtk2, pcmanfm, mozilla-plugin-pcmanx, gpicview(這要到網站下載安裝)
7. 音樂播放
音樂播放部分,目前使用Audacious這套,它預設不支援ape,但是可以簡單的安裝好。
做法基本上算是參考:
http://sunghlin.blogspot.com/2007/11/ubuntu-710-part-3-cue-tta-ape.html
以我瞭解的解說:
ape部分目前因為沒有授權Linux的版本,因此大家不敢放,所以預設都沒支援。
現階段來說,要在Audacious上支援ape需要2個步驟(也可以說是2個套件):
1.
mac-3.99-u4-b5
這是甚麼?這其實就是ape的codec,讓Linux能夠解碼ape,它實際是某位神人把win32的ape porting到Linux上來的。
2.
audacious-mac
這又是甚麼?單單有ape的codec不大夠,因為Linux能夠解碼ape不代表Audacious能夠解碼ape,因此需要有個Audacious的外掛,就是這個程式。
這個程式的功能很簡單,它實際是呼叫前面的mac,本身其實就是個Audacious呼叫mac的介面。
上述2個程式要安裝,沒辦法用套件,必須自己編譯出檔案,而在編譯檔案前,大家都知道要先確定有編譯的環境,環境建置如下:
apt-get install audacious-dev g++
因為這兩個鬼東西都是用C++寫的,都需要g++才能編譯,因此需要g++,Audacious-dev則不用說了,它是Audacious開發用的套件,
編譯它的外掛應該是會需要,裝上它的另一個好處是,它能幫我們把需要的套件補齊。
接下來很簡單,下載好上述的2個檔案,連結分別是:
http://ptao.victim.free.fr/DL/mac-3.99-u4-b5.tar.gz
http://www.netswarm.net/misc/audacious-mac-0.2.0.tar.gz
其中audacious-mac的總站是:
http://www.netswarm.net/
兩個都解壓縮到 /tmp 下,然後先編譯mac-3.99再編譯audacious-mac,編譯方法都是:
./configure && make && make install
直接下即可,它會放到它該放的地方。
安裝好之後,重新啟動Audacious應該就ok了,有一點要注意的,要讓中文正常,有2個設定:
1.Audacious偏好設定->外觀->字型
這不用解釋了,選個英文字型後要它出現中文,是強人所難~
2.Audacious偏好設定->外觀->使用點陣字(如果可用) 要「去掉」
這個不好解釋,原則上同非常早期的Winamp 2.x版,要把使用點陣字去掉,讓它使用一般字型來顯示。
8.Ubuntu懶人包
網址在:
http://lazybuntu.openfoundry.org/
我覺得裝它一部份東西不錯,像中文字型和codec、播放器,其他就.....,像Adobe Reader 8.11,讓我等到睡著,片子看完都還沒抓完~ = =||
9.顯示卡驅動程式
顯示卡驅動程式基本上參考:
http://www.ubuntufreunde.de/forum/p11783/ubuntu_gutsy_nvidia_treiber_96_43_01_installieren.html#post11783
雖然都是看不懂的「德文」,但照著做就ok了~
補充一點,Ubuntu的特效需要設定「受限的驅動程式」,它似乎看不懂NVIDIA官方的驅動程式,
建議的改善方法是,先安裝它,然後再按照上面的方法安裝官方的驅動程式。
10.預設音效卡問題
Ubuntu很笨,預設音效卡似乎會一直跑,解決方法如下網址:
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?post_id=23765
內文如下:
先在終端機下
sudo asoundconf list
像我有一個音效卡,是NB(NVidia)的,和一個USB(C-Media)的音效卡
輸入以上指令就會出現
NVidia
default
這時如果我要將筆電的音效設成預設,只要下
sudo asoundconf set-default-card NVidia
如果要將USB音效卡設成預設,只要下
sudo asoundconf set-default-card default
以此類推,如果asoundconf也抓不出的話,這方法就不適用了
10.VirtualBox設定
到網站下載之後,安裝完要如下設定:
a.新增到群組,如下指令:
sudo usermod -G vboxusers -a xxxxx
b.加入下列這行到/etc/fstab
none /proc/bus/usb usbfs devmode=666 0 0
這是將USB權限設定給全部人使用,要安全性好點,如下網頁設置:
http://forum.ubuntu.org.cn/viewtopic.php?t=78342
c1.使用NAT模式
參考如下網址設置:
http://www.linuxsir.org/bbs/showthread.php?t=293771
#chmod 0666 /dev/net/tun #設置訪問權限
#tunctl -t tap0 -u leemars #建立一個tap設備, 名字為tap0, 所有者為leemars
#ifconfig eth0 0.0.0.0 promisc #使eth0進入promiscuous模式
#ifconfig tap0 0.0.0.0 promisc #使tap0進入promiscuous模式
#brctl addbr br0 #增加一個網橋
#brctl addif br0 eth0 #將eth0加入網橋
#ifconfig eth0 up #激活eth0
#dhclient br0 #為br0設置IP地址
#brctl addif br0 tap0 #將tap0加入網橋
#ifconfig tap0 up #激活tap0
c.建立bridge模式
如下網頁設置:
http://blog.ssh.tw/?p=735
注意:
ifconfig eth0 0.0.0.0 promisc
brctl addif br0 eth0
dhclient br0
這幾行會導致網卡斷線,之後重新透過DHCP取得IP,
因此要注意,有設定到這幾行,要在本機設定,不然就是寫成script,給它背景執行。
PS:網頁作者參照如下網頁:
http://blog.chinaunix.net/u1/35100/showart_288321.html
11.aMSN安裝問題:
aMSN的鬼問題,參照:
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?post_id=30950
它提到有個檔案:
http://nmgmt.cs.nchu.edu.tw/nm/fixamsn.sh
執行它之後就會自動編譯、安裝出中文ok的aMSN~~
如果要還原修正後的檔案,同個檔案執行:
bash fixamsn.sh clean
即可~~
12.改用GPicView作為預設圖片顯示程式
如下網頁:
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?post_id=33957
輸入如下指令即可:
xdg-mime default gpicview.desktop `grep 'MimeType=' /usr/share/applications/gpicview.desktop | sed -e 's/.*=//' -e 's/;/ /g'`
13.OpenOffice支援MySQL
如網頁:http://blog.edu.cn/user2/27310/archives/2006/1204137.shtml
14.傳真掃描
掃描問題比較小,安裝xsane即可(預設好像就有裝了),然後需要設定的,是修改:
/etc/sane.d/net.conf
加入
192.168.1.6
即可
傳真部份,安裝gfax
裡面按設定設hylafax和帳號密碼
這邊需要注意的是,它掃描的檔案只吃.ps檔,目前知道用xsane掃描時,可以直接掃成.ps檔,其他目前還不清楚。
15.開機畫面顯示問題
開機一直沒畫面,終於把問題解決了,方法很簡單,參考網址如下:
http://webnews.giga.net.tw/thread//tw.bbs.comp.linux/57803
原文:
================================================================
解法,例如我的 Monitor 是 1280x1024,但是 usplash 可能只能用 1024x768 跑,
到 /etc/usplash.conf 中將
xres=1280
yres=1024
改成
xres=1024
yres=768
然後在打
sudo update-initramfs -u -k `uname -r`
更新一下就應該可以看到了
================================================================
Ubuntu上的開機畫面使用的是usplash(Ubuntu Splash),也就是類似之前Debian上玩的Bootsplash,
在Ubuntu上其實已經設定好了,且設定的很好,不能用的原因是它把解析度設錯了,
我不能理解為何Ubuntu要把我的解析度設到1280x1024..........這是人看的嗎.......... = =||
因此很簡單,修改
/etc/usplash.conf
依需要改變解析度,哪個是寬、哪個是高應該不用說了吧...... :p
我之前改完後重開機沒反應,感覺好像少了什麼步驟~
就是
sudo update-initramfs -u -k `uname -r`
套Debian當時的資訊,因為圖片其實是存放在initramfs中的,所以需要重建initramfs才會動作。
對了對了~因為開機時候都會出現FAT32的檔名錯誤,記得要修改/etc/fstab,把幾個FAT32後面的0 1改成0 0,讓它不要開機檢查。
16.RealPlayer沒聲音(我這邊是聲音輸出在AC97上)的解決方法
RealPlayer之所以沒聲音,是因為它並不支援ALSA,不過現在大部分都是介紹使用ALSA作為主要的聲音介面,
解決方法如網頁稍微修正:
http://www.linuxfans.org/bbs/thread-181653-1-1.html
1.安裝alsa-oss套件
sudo apt-get install alsa-oss
2.修改RealPlayer的呼叫指令,在前面加上aoss
這邊一般都是教使用sed把realplayer的script找出來改,可是我好像沒找到這個script檔案,
因此我稍微變通一下,修改GNOME選單的command~~
系統->偏好設定->Main Menu->影音->RealPlayer 10->滑鼠右鍵->屬性->Command改為『aoss realplay %U』
17.Swiftfox安裝(暫時)
Swiftfox不錯,可是它現在竟然強迫更新到3.x了.....
要安裝目前的正式版可以看:
http://www.ubuntu.org.tw/modules/planet/view.article.php?685
18.WINE中文設定(暫時)
WINE的中文問題分2部份,分別是顯示和輸入。
顯示的部份問題其實在WINE中字型的設定上,它用的字型全部都不是中文字型,中文字自然出不來~
設定可以用2種方式,一種是直接改~/.wine/system.reg和~/.wine/user.reg
但是其實這2個檔案,就是直接對應到regedit中的,所以也可以直接改regedit。
已設定來說,我用到最ok的(0.9.51)是
http://semson.blogspot.com/2007/11/wine-crossover-office-picasa-linux.html
這個人提供的regedit檔案,直接套用即可。
PSPad中文輸入與顯示:
PSPad在套用上面的中文設定之後,顯示應該就沒問題了,設定上要多設定個地方,
打開『設定->本程式各項設定->直接編輯->Font->Courier New』通通改成『AR PL New Sung』。
在使用cxoffice版本時,一樣要設定中文,也要設定音效,
中文設定時,呼叫regedit的方法是
執行cxrun,設定好bottle,然後執行的command輸入regedit,接著匯入前面說的網站的reg檔案。
兒音效的設定,則參考:
http://www.linuxjournal.com/article/8886
要使用
./wine --wl-app winecfg
不同的bottle則要用:
./wine --bottle win2000 --wl-app winecfg
19.Firefox中文字型設定
中文字型可以參考:
http://blog.xuite.net/ericsk0313/ubuntu/5239097
他是用細明體,只要安裝mscorexxx字型之後,Arial和Time字型都有了,細明體改成新宋即可。
20.GNOME mount
GNOME會自動mount裝置,像是USB、光碟機...等,可是autofs預設是沒有安裝的,
那GNOME那來這麼神奇的功能?
答案是,GNOME有GNOME mount這個程式,它用來做這樣的工作,
參考:
http://lusweblog.blogspot.com/2007/09/mounting-options-in-gconv.html
GNOME mount的執行程式是gnome-mount,他的設定儲存在GNOME裡類似registry的設定裡。
網頁原文是:
===========================================================
GNOME 會自動 mount usb device。
在 mount usb 硬碟時,我們常常會需要一些額外的 option, 例如utf8。
GNOME 預設沒有這些option, 所以在ntfs 或 vfat 的usb 碟碟裡的中文檔名全部都變亂碼了。
所幸gnome-mount 的 argument 是可以在 gconf 裡設定的。
開啟 configuration editor (gconf-editor),在 system/storage/default_options 裡可以設定各種 file system 在mount 時所要的參數。
gconf裡看起來好像還有很多東西可以玩,有空再來慢慢研究...
對了, GNOME 的 g 是不發音的... 我常忘了這件事...
===========================================================
21.Linux下ID3 tag問題
在Windows上mp3標籤已經很難搞了,到Linux上會發現,事情變得更複雜了。
關於Linux上標籤問題,參考:
http://www.oceanboo.cn/read.php?114
簡單說,就是下面這個表的問題:
ID3v1:只支持ISO--8859-1
ID3v2 2.3:ISO--8859-1、UTF-16
ID3v2 2.4:ISO--8859-1、UTF-16、UTF-8
APEv2:UTF-8
基本上,在Windows上就全吃,其中問題最大的在ID3v1,不支援中文,
因此Windows上直接用ISO-8859-1儲存中文,到Linux上就自爆了..... = =||
文章建議的方式是,直接改用ID3v2,ID3v1就別用了~~
不過不論如何,一次大規模的變更ID3似乎是不可避免了..... :(
======================================================
2008-01-01
22.Windows Key
Windows Key基本上算是部份解決了,儘管不漂亮,但的確是解決了問題,
其實在GNOME當中,對Windows Key的支援就已經有做了,在網路上說的remap設定其實不大需要~~
系統->偏好設定->鍵盤->配置選項
這裡我們可以看到有個『Alt-Win 鍵功能』,點開後可以看到一些選項,其中多半都是針對Win Key的設置,
以我來說,我選擇『Hyper 配置到兩個 Win-key』
選取之後,在
系統->偏好設定->鍵盤捷徑鍵
就可以直接用 Win-key 搭配其他鍵做設定了,例如我的
Desktop->顯示面板的『執行程式』對話視窗
就改成了
Win-key + r
它會顯示
Mod4 + r
此外,我們回到
系統->偏好設定->鍵盤
還有個『休息提示』,可以設定使用多久後提示休息~
23.Picasa2的中文設定
前面(以往)的Picasa2會按照WINE的設定方式進行設定,發現效果並不好,會掉字~
現在try try之後,發現不用這麼麻煩,而且效果超好~
安裝Picasa2 2.7.0 for Linux套件之後,直接點選選單中的Picasa進行安裝~
安裝完之後,關閉程式並點選『Picasa Font Settings』
Font Linking先加入要使用的中文字型,然後把其他字型全部拿掉,以目前來說(我改用Mac的LiHei Pro了),就只剩下LiHei Pro~
接著到Menu Font,選擇要使用的中文字型,以目前來說(我改用Mac的LiHei Pro了),就是LiHei Pro,然後設定下字體大小,我目前是用11~
按下OK後離開,重新開啟Picasa,進入程式後,應該會看到全部都變成LiHei Pro字型了,然後完全不會掉字~
24.VMWare設定
這是個詭異的問題,以往只有一張音效卡時都沒遇過問題,現在卻遇上了~
話說VirtualBox竟然不能安裝Alcohol 52%,這可是自Daemon Tools跳過來之後,目前我最常用的虛擬光碟軟體哩~
我個人認為,原因可能是模擬光碟機的部分和VM有衝突導致被禁止執行吧~
因此我又跳回VMWare了~沒想到VMWare竟然出現沒有聲音的問題..... :(
VMWare基本上使用OSS作為音效系統,但是正如前面說過的,現在的音效系統,要就是用alsa,不然就是esd(ESounD)或arts......
針對這部分,之前好像寫過blog~~
而VMWare要支援要怎麼辦呢?
看到下面這篇:
http://communities.vmware.com/message/706904;jsessionid=1AD50E88DE71AB6D968A4369EB181708
其中提到了這個連結:
https://www.sokrates.homelinux.net/~thomas/Private/Soft/vmwaredsp/vmwaredsp-1.4.tar.bz2
這是讓VMWare能夠支援esd、arts、alsa的模組,只需要編譯、安裝之後即可使用~
過程中他會需要一些library,像是libesd-dev...等,原則上,他提到甚麼not found就找甚麼即可~
安裝完之後,只要按照他說明:
ALSA執行
vmwarealsa
ESD執行
vmwareesd
arts我沒用,Makefile關於arts的部分我都註解掉了....
2008-01-07
25.關於Linux下5.1聲道的使用,並不如原先想像的容易,下面是教學,基本上可能需要了解alsa的設定,
目前暫時先只做紀錄~
http://www.cse.ohio-state.edu/~bondhugu/alsamch.shtml
26.Linux下的傳真
原本認為Hylafax是Linux的程式,Windows下沒有Hylafax Client,因此Windows的傳真可能比較難搞,
沒想到在Linux上,同樣很麻煩~
由於Linux上的傳真機,幾乎都是用PostScript(.ps)的格式來傳真的(不管hylafax、efax...等),
在Windows上要傳真,需要2個步驟:
1.把要傳真的檔案轉成PostScript(.ps)的格式
2.透過hylafax client送出傳真工具
不過好在許多印表機也都是吃PostScript(.ps)的格式,因此最常見的作法,就是把傳真機模擬成印表機,
透過列印把檔案轉成PostScript(.ps)並送出傳真工作~
這流程看起來很順利,但有個問題,電話號碼怎麼輸入?印表機通常不會問電話號碼的~
在之前,這是麻煩事,不過winprint這個程式出來之後,一切就簡單多了~
在Linux上問題重現,更慘的是連winprint這樣的印表機程式都沒有,因此,就寫了這個~
因為Linux上沒有像winprint這麼方便、統一的程式,可以簡單的設定個印表機達到傳真(可能我沒找到),
好在Linux上大部分的列印都是靠PostScript,因此找到了著力點~
在Linux上要傳真,就是靠傳真軟體,以我個人來說,我還滿推荐gfax的,在沒有找到其他更好用的傳真軟體之前,
這是我認為比較好用的軟體,KDE可能會有,可是KDE把傳真跟列印綁在一起由kprint來管理,
結果好像造成KDE的傳真軟體在GNOME下不大能用,似乎要先把KDE的列印系統設好才能動~
gfax它支援hylafax、efax,因此透過它可以知道hylafax server目前情況(已寄出、已收到...等),
它的傳真和其他程式一樣,只接受PostScript(.ps)格式的檔案~
因此結論1:
我們只要是PostScript(.ps)格式的檔案,都可以透過gfax傳真出去~
在Linux上,因為列印大都先轉成PostScript,因此我們可以比較容易的把文件轉成PostScript,作法很簡單~
在Windows上我們列印時經常會看到『列印到檔案』這樣的選項,
通常我們不會去用它,也不會去理會它~
而在Linux上,要傳真則要靠它,因為他能幫我們把列印的文件轉成PostScript(.ps)的檔案。
因此這部分,在Linux上就要看軟體對列印的設計了:
OpenOffice來說:
全系列OpenOffice只要能夠列印,任何印表機都提供『列印到檔案』的項目,勾選之後列印,
它就會出現『儲存』的視窗,右下角直接標記是儲存為『PostScript』
GNOME的文字編輯器(gedit):
它的列印和一般的不同,直接提供列印成PostScript、PDF的格式,同時也提供列印到gfax的功能,
從這邊的資訊往下查可以發現,gfax有提供一個程式叫作『gfaxlpr』,透過這個指令可以輕易的列印到gfax當中,
但是目前我不知道怎麼設定它成為印表機~
Firefox:
和OpenOffice一樣,列印時選擇『列印到檔案』,雖然它在儲存視窗不會顯示檔案的格式,但它就是PostScript格式沒錯,
可以用檔案總管(Nautilus)按右鍵按屬性來知道~
掃描器程式(XSANE、Kooka):
XSANE是老牌的掃描器程式,它是SANE主要的前端,它可以直接將圖檔掃瞄成PostScript(.ps)格式
Kooka是KDE預設的掃描器程式,我個人覺得它介面比XSANE好看,但沒有XSANE直覺~
Kooka掃瞄後需要先存檔,存檔後列印,列印時可以直接選擇『列印成檔案(PostScript)』~
Evolution:
Evolution是Linux上GNOME主要的郵件程式,相當於M$的Outlook,有行事曆...等功能,
它一樣直接列印,列印時可以選擇『列印到檔案』,接著可以選擇輸出格式是PDF或是PostScript。
gThumb:
gThumb是GNOME上主要的看圖程式,他的用法和Evolution幾乎一樣,
列印時除了第一個畫面讓你調整圖片的位置、大小之外,第二個畫面和Evolution用的相同。
Adobe Reader:
提供『列印到檔案』的選項,一樣是『PostScript格式』,不過它的印表機提供『自訂』,
我們可以直接輸入『gfaxlpr』讓它直接透過gfax傳真~
27.安裝Adobe Reader 7.0.9
Adobe Reader 8.0 Linux版繼承了Windows的所有優點,包括速度非常慢的特色,
因此我改安裝Adobe Reader 7.0.9~
Adobe Reader 7.0.9並沒有提供.deb的套件,只有.rpm和.tar.gz,
在Ubuntu上,我們只要安裝alien這個套件,
他可以幫我們把.rpm的套件轉成.deb,
下載.rpm的版本,執行alien xxxxx.rpm
產生adobearoread_7.0.9.deb
執行
sudo dpkg -i adobearoread_7.0.9.deb
將它安裝到系統中~
它會被安裝在
/usr/local/Adobe/Acrobat7.0
執行
/usr/local/Adobe/Acrobat7.0/bin/acroread
會發現無法起動,一直跳出expr error~
用google查詢之後,發現問題在起動程式(Script)有個判斷libgtk-x11-2.0的式子有問題,
首先查看看系統中的libgtk-x11到底是甚麼版本的,如下:
locate libgtk-x11
顯示:
/usr/lib/libgtk-x11-2.0.so.0
/usr/lib/libgtk-x11-2.0.la
/usr/lib/libgtk-x11-2.0.so
/usr/lib/libgtk-x11-2.0.so.0.1200.0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/libgtk-x11-2.0.a
/usr/lib/vmware/lib/libgtk-x11-2.0.so.0
/usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0
原來是0.1200.0的版本,再來修改起動程式
sudo vi /usr/local/Adobe/Acrobat7.0/bin/acroread
用『echo $mfile| sed』找到:
echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]\)00.\([0-9]*\)\|\(.*\)/\1\2\3/g'
改成
echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]\)200.\([0-9]*\)\|\(.*\)/\1\2\3/g'
^^^^^^^^^^^^^^^^^^^^^^^^
他的意思是(原始):
0.(0~9)00.(0~9)
我們的版本是:
0.1200.0
因此把00改成200即可~
接著把GNOME中的選單設定改掉,原本是:
acroread
改成:
/usr/local/Adobe/Acrobat7.0/bin/acroread
一起動,它會提示『PPKLite.api有問題』,上google搜尋後會發現,
只要安裝OpenLDAP套件即可~
問題是,我看PDF要OpenLDAP幹嘛?
進一步搜尋後會發現google中有人說,PPKLite.api都不用了,DigSig.api更是沒用了,
正好,就把這兩個api移除~
到
/usr/local/Adobe/Acrobat7.0/Reader/intellinux/plug_ins/
把
PPKLite.api 改成 PPKLite.api.bak
DigSig.api 改成 DigSig.api.bak
看到SendMail.api,我又不寄信,順便:
SendMail.api 改成 SendMail.api.bak
接著重新執行Adobe Reader 7.0.9,恩~和8.x相比順暢不少~
而且意外驚喜出現,星際譯王竟然可以直接使用,真是不敢相信~
28.SSH Tunnel
在Windows裡面,已經非常習慣使用Tunnelier了,這軟體實在好用到不行阿~
到了Linux上,儘管原創的OpenSSH就提供tunnel的功能了,
可是每次都要查指令參數,實在讓人無力,
查詢後找到原來GNOME已經有這樣的軟體了~
用套件管理程式安裝:
gSTM
它全名叫作:
gnome SSH Tunnel Manager
要建立firefox用的socks,只需要:
屬性->新增->Type:Dynamic->Port:1080
Firefox中設定Proxy,
Proxy是Socks
位置127.0.0.1
Port 1080
即可~
至於Tunnelier中的FTP-to-SFTP Bridge,雖然尚未找到類似的程式,
但Linux上有sshfs,可以完全替代該功能,目前比較遺憾的是,
sshfs需要輸入指令,或者和前面cifs、NFS一樣預先設置,無法有方便的GUI隨意設定隨意連線使用~
======================================================
2008-01-13
字型註記:
剛剛把XP的細明體和標楷體複製到Linux上,
經過比較之後發現,我之前一直搞錯了~
對應關係:
文鼎 PL 新宋=新細明體
文鼎 PL 新宋mono=細明體
也就是說,細明體是等寬字
======================================================
2008-01-17
29.Linux下的抓圖程式
我們經常會需要在電腦上抓圖,尤其做文件時,能夠抓圖再解說是很方便的,
那麼在Linux上要用什麼抓圖程式呢?
最基本的辦法,什麼都不裝,就是用「Print Screen」這個按鍵來抓圖,
按下去之後,用GImp或OpenOffice應該都可以貼上,
這方法在Windows和Linux都是通用的。這方法的最大缺點就是,永遠只能抓全螢幕,特定視窗、特定位置都不行。
而Linux上推薦的抓圖軟體,可以看下面這篇:
http://www.in-life.idv.tw/index.php?/archives/283-accaca-ksnapshot.html
這篇作者推薦用ksnapshot,這套抓圖軟體的確是相當方便好用的一套,畫面簡潔,但是基本的抓圖功能都具備了。
至於google搜尋之後其他幾個方案,什麼xv、gimp,還是算了吧~
xv都幾百年前的東西了,光介面就受不了了,gimp的抓圖功能又太單純了,效用不大。
相比之下,ksnapshot的確是不錯的選擇。
在Windows上,我們經常會用MWSnap,這是套小巧方便的抓圖程式,之前我幾乎都是用它(ksnapshot和它能力相當),
不過它有個致命的缺陷,它不支援捲軸抓圖,例如寫了程式,要把程式碼整個抓下來,
它就沒辦法幫你把整個程式碼全抓,頂多只能抓「這頁」程式碼,這時候可能就得要慢慢拼接,
這種事情,我是幹過的..... = =||
因此在去年,我改使用「FastStone Capture」這套抓圖軟體,它能支援捲軸抓圖,
在5.3版之前都是免費版,之後變成付費版。 = =||
在Linux上呢?目前我並沒有找到類似的抓圖軟體,還是使用ksnapshot,不過針對捲軸抓圖有個替代方案。
看下面這篇:
http://briian.com/?p=3543
重灌狂人有介紹一個抓圖程式,這個抓圖程式是Firefox的網頁抓圖外掛,軟體和公司如下:
軟體:
Pearl Crescent Page Saver
公司網頁:
https://pearlcrescent.com/products/pagesaver/
非常幸運的,這個外掛程式的Basic版本是免費的,而且最重要的,它能支援Linux x86。
雖然這個是Firefox的外掛程式,只能用在Firefox的顯示頁面中,不過因為Firefox本身有強大媒體支援性,
因此我們可以直接用Firefox開啟文字檔、網頁檔、圖片...等,雖然不能完全替代捲軸視窗的抓圖,
但是如果只是要抓程式碼(文字檔)、網頁之類的,它是可以勝任的。
30.細明體、新細明體設定
因為很多地方實在需要細明體和新細明體,這兩個字體基本上已經是中文系統的標準字型了,
尤其是「Yahoo!奇摩」...等網頁,它們直接在CSS中指定使用細明體,
另外像是用WINE使用Windows程式時,很多軟體預設也是用細明體(像是Office 2003),你不用它,
文件到了其它地方編排就是會有問題~~
把細明體、標楷體複製到/usr/share/fonts/truetype/
有了~可是卻出現了問題,所有細明體、新細明體都都會變形,什麼原因?怎麼解決?
如下:
http://blochy.com/lancetw/blog/archives/2006/07/16/107/
它提到主要原因是,英文字型要好看,需要反鋸齒功能,但中文字型不能加上反鋸齒,
而因為細明體、新細明體預設是英文名稱,就被當成英文字型來處理,18 size以下統統被加上反鋸齒,
統統都爛掉~~
解決方法它也提了,就是加個設定檔,應該是把字型名稱改成中文而已。
===========================================================
2008-01-20
昨天發現WINE莫名其妙無法使用,幾乎是一執行WINE的程式,整個X-win就會重開,
在dmesg的紀錄中,則會跳出APG進入8x mode的訊息。
發生的原因可能是這幾天的更新中有動到顯示相關的library,造成顯示卡驅動程式有些問題,
重新安裝驅動程式即可~
===========================================================
2008-01-26
Linux下的ADSL/VDSL/FTTB設定基本上不太難也不算太麻煩,
ADSL/VDSL/FTTB基本上都是透過PPPoE連線,
所以原則上就是安裝pppoeconf(一併安裝ppp),
之後執行pppoeconf然後按照簡單的詢問和回答即可完成設定。
Linux比較麻煩的是圖形化的操作,經過google大神的幫助後,找到下面頁面的介紹:
http://linuxtoy.org/archives/ppp-tray-icon.html
接著再經過google大神的詢問,找到下面的下載頁面:
http://linux.softpedia.com/progDownload/PPP-Tray-Icon-Download-31781.html
這個套件的主要功能是管理pon/poff用的,pon/poff則是呼叫PPPoE連線用的程式,
比較要注意的是,pppoeconf和pon/poff的設定檔是放在
/etc/ppp/peers/
要改變PPPoE的名稱,只需要直接改檔名就可以了!
===========================================================
2008-02-04
關於Linux下的特效,基本上就是Compiz。
要使用Compiz必須要安裝顯示卡驅動程式,目前我是安裝Nvidia原廠的驅動程式,
作法參考前面,原則上就是按照某個鬼文字網頁作法即可。
這邊要解釋Compiz的操作,關於Compiz我們要安裝套件,打開Synaptic「套件管理程式」,搜尋「compiz」。
安裝如下套件:
compiz
compiz-gnome
compizconfig-settings-manager
emerald
這邊稍微解釋一下幾個套件的用途:
compiz compiz主要套件,我不了解為何compiz-gnome安裝後它不會自動安裝
compiz-gnome compiz應用在GNOME時所需的套件,如果是KDE,則安裝相對應的compiz-kde
compizconfig-settings-manager compiz的主要設定程式,我們透過這個套件的GUI設定程式來設定所有特效
emerald 視窗裝飾
這邊要注意的是,前面提到過,Ubuntu一開始啟用特效時,會有視窗標題列消失的問題,
這主要的原因就是「emerald」的問題~
compiz本身算是視窗系統特效程式,裡面提供了非常多的視窗特效外掛,讓我們可以做出M$ Vista或MacOS X的效果,
但是它有兩個但是:
1.Compiz會取代原先GNOME預設的視窗管理
2.「compiz並不提供『視窗裝飾』」的功能,也就是說,compiz雖然會取代視窗管理功能,但卻沒有提供視窗裝飾,
而視窗裝飾,就是我們整個視窗的標題列、最大化/最小化/關閉視窗...等按鍵、視窗邊條...等,
而和compiz搭配的視窗裝飾管理程式,就是emerald,我們甚至不用另外執行,compiz就會幫我們呼叫執行了
有了以上概念之後,下面我們開始操作、設定。
我的設定原則上是參考:
http://wiki.debian.org.hk/w/Install_Compiz_Fusion
我是設定作業階段,在登入時候啟用compiz的。
之後我們可以透過
系統->偏好設定->Emerald Theme Manager
來變更視窗裝飾,可以用emerald + theme去google搜尋theme來使用。
而compiz,我們可以透過
系統->偏好設定->Advanced Desktop Effects Settings
來設定所有特效,可以設定使用或不使用該特效,在圖示上點選後,則可以設定這個特效,
其中比較重要的是,在點選圖示後設定特效時,經常可以看到有個「Action」的分頁(Tab Window),
這裡面可以看到按鍵設定,因為許多特效是需要透過快速鍵來呼叫的,不知道快速鍵就根本不知道這特效的作用,
不過目前我也沒摸很熟,很多特效其實不知道用途。
===========================================================
2008-02-18
軟體除錯可以用KDbg,目前用到最好用的。
ID3編輯目前用2套搭配:
Kid3目前用起來感覺最好,但是對 ISO8859-1 的 Big5 支援性不好
Easytag 對 ISO-8859-1 的 Big5 支援不錯,但是操作很麻煩
字幕處理,目前感覺 Subtitle Editor 似乎支援性不錯,但還不會用
===========================================================
2008-03-09
中文的TrueType字型安裝到Ubuntu其實很簡單,只需要把*.ttf的字型檔複製到
/usr/share/fonts/truetype/
接下來執行
fc-cache -v
原則上來說就可以了,但是實際上會遇到問題,
以我來說,最常遇到的問題是,字型看得到、選得到,但是全部都是方塊,
我在Ubuntu中文論壇發問,有人回應得到了解答,如下:
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?topic_id=8314&forum=8
關鍵在於『權限』。
字型要能夠使用,權限必須要是『755』,其他權限都是不行的,當沒有權限使用時,自然就會變成方塊了。
===========================================================
2008-03-22
StarDict(星際譯王) 在使用時會發現浮動視窗有問題,
當反白選字後,浮動視窗出現,可是滑鼠一動它就跑掉消失了,
這個問題解決方法其實早就有了,這是個舊版的bug,
解決方法很簡單,到StarDict的網站安裝新版的安裝套件即可(Ubuntu軟體庫裡面是3.0.0-1版,網站新版是3.0.1-1版)。
相關資訊來源:
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?post_id=32121
===========================================================
2008-03-26
最近針對NB安裝Ubuntu,發現Audacious 1.4版的安裝沒寫上來,
因此這邊補上~
Audacious 在 Ubuntu 的套件庫是 1.2版,
要更新到 1.4版我們需要找其他套件庫來安裝 1.4版 的 Ubuntu 套件。
下面網址是關於 Audacious 1.4版 套件庫的 blog 文章:
http://linux.blogbus.com/logs/14136342.html
下面這條就是 Audacious 1.4 針對 ubuntu 7.1(gutsy) 的套件庫設定:
deb http://backports.dereferenced.org/ gutsy universe
===========================================================
2008-04-26
Ubuntu使用手記(for 8.10)(升級):
Ubuntu 8.10 內建的 Audacious 套件已經是最新的 1.5.0 版,不需要額外設定了。
升級後,因為之前是安裝 NVIDIA 原廠的顯示卡驅動程式,需要重新安裝。
aMSN需要重新利用 fixamsn.sh 安裝。
Ubuntu 8.10 內建的 StarDict(星際譯王) 套件已經是最新的,不需要額外安裝了。
OpenOffice 更新為 2.4.x,關於資料庫的設定要重新設定(目前連mytsql中文有問題(JDBC和ODBC均是))。
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
結語
這次使用,目前暫時又換回來了,因為目前看paper非常需要Dr.eye,
但Linux上還沒找到類似的軟體(別跟我說星際譯龍,那軟體需要複製,無法點選後直接翻譯,且不支援Adobe PDF Reader),目前還在尋找中~~
另外,還找不到好用虛擬光碟軟體(又~別跟我說用mount可以掛載iso....我要可以掛載mds/mdf,mdf問題還小,還有mds/I01,I02,I03...等)
再者,WINE的中文設定實在很無力,儘管已經有po了,但它不完全能顯示的很好,一些地方的中文還是出不來,另外關於Windows Media Player的支援也不夠好,無法用來收看網路電視(I'm TV),如果是NB+宿舍,這可以我用來收看新聞的主要來源阿~
2007年12月10日
華碩(ASUS)、Linux、eeePC 我支持你~
這次標題這樣下,不知道會不會讓搜尋到的機會變大,雖然不在乎多少人看,但是看的人多點點,還是會比較爽些..... :p
儘管我沒買eeePC(易PC),但是我個人頗支持它,10000元我目前還沒辦法花下手,等過完年看看嚕~
這次有趣的是,eeePC這次搭配了Linux,因為eeePC的設計、價格加上Linux,讓它在現在成為了最具話題性、爭議性的產品,而且似乎賣得很不錯。
雖然ASUS跳出來說,這不是低價電腦,但這顯然是為了之後調漲預先喊話,就eeePC而言,價格應該就這樣了,但隨著RAM增加、SSD(固態磁碟)容量增加、週邊增加、預載XP...等,eeePC未來的確會有越來越貴的趨勢。
加上ASUS已經說了,明年4月左右,eeePC二代就會推出,使用Intel新一代更省電的處理器/晶片組,eeePC二代價格會比一代便宜?打死我都不信~
儘管如此,它不是低價電腦這本身也很詭異,畢竟這個定價,看起來就是衝著低價電腦來的,所以目前看起來,一開始ASUS應該是有想做低價電腦,但發現市場接受度很好,硬體成本/效能又實在不好兼顧時,選擇了提高售價.....。
這篇最主要的,則是要說說ASUS的Linux,雖然很多人(尤其是Linux社群的人)一直批評它,說它不開放,沒原始碼。
可是我個人持相反意見,一來ASUS為eeePC提供專屬Linux的更新服務,這在目前品牌電腦中,不能說沒有(因為我不非常確定沒有),但真的不多,能夠在商業市場中,為Linux投注心力,這是值得鼓勵的,而且ASUS在被抗議後,也的確提供了原始碼,而且看起來並沒有故意拖延,這至少看得出來ASUS還算有誠意。
再者,很多人說eeePC上一些程式並不是GNU授權的,像那個介面.....,Linux希望推向商業,可是Linux社群中很多人卻不能接受獨占,不可否認,在商業市場中,要有特色才能吸引人,我個人認為,如果eeePC這麼做,對Linux市場佔有率有提昇效果,那麼它獨有的一些程式我認為是可以接受的,畢竟不接受獨占,反而讓所有的Linux都沒了特色。
現在ASUS的記者會中,M$的總經理出現了,讓我有看到電影魔鬼代言人的感覺,我相信ASUS站在電腦製造商的立場,它是支持Linux、支持低價電腦的,但它的支持是不夠的,在魔王面前,金錢、權力的誘惑永遠比神父的教誨要強大得多,看著許多人買了eeePC後改灌成XP,許多人買了之後退機,Linux社群的人是否該以支持、建議來取代抗議、謾罵呢?
儘管我沒買eeePC(易PC),但是我個人頗支持它,10000元我目前還沒辦法花下手,等過完年看看嚕~
這次有趣的是,eeePC這次搭配了Linux,因為eeePC的設計、價格加上Linux,讓它在現在成為了最具話題性、爭議性的產品,而且似乎賣得很不錯。
雖然ASUS跳出來說,這不是低價電腦,但這顯然是為了之後調漲預先喊話,就eeePC而言,價格應該就這樣了,但隨著RAM增加、SSD(固態磁碟)容量增加、週邊增加、預載XP...等,eeePC未來的確會有越來越貴的趨勢。
加上ASUS已經說了,明年4月左右,eeePC二代就會推出,使用Intel新一代更省電的處理器/晶片組,eeePC二代價格會比一代便宜?打死我都不信~
儘管如此,它不是低價電腦這本身也很詭異,畢竟這個定價,看起來就是衝著低價電腦來的,所以目前看起來,一開始ASUS應該是有想做低價電腦,但發現市場接受度很好,硬體成本/效能又實在不好兼顧時,選擇了提高售價.....。
這篇最主要的,則是要說說ASUS的Linux,雖然很多人(尤其是Linux社群的人)一直批評它,說它不開放,沒原始碼。
可是我個人持相反意見,一來ASUS為eeePC提供專屬Linux的更新服務,這在目前品牌電腦中,不能說沒有(因為我不非常確定沒有),但真的不多,能夠在商業市場中,為Linux投注心力,這是值得鼓勵的,而且ASUS在被抗議後,也的確提供了原始碼,而且看起來並沒有故意拖延,這至少看得出來ASUS還算有誠意。
再者,很多人說eeePC上一些程式並不是GNU授權的,像那個介面.....,Linux希望推向商業,可是Linux社群中很多人卻不能接受獨占,不可否認,在商業市場中,要有特色才能吸引人,我個人認為,如果eeePC這麼做,對Linux市場佔有率有提昇效果,那麼它獨有的一些程式我認為是可以接受的,畢竟不接受獨占,反而讓所有的Linux都沒了特色。
現在ASUS的記者會中,M$的總經理出現了,讓我有看到電影魔鬼代言人的感覺,我相信ASUS站在電腦製造商的立場,它是支持Linux、支持低價電腦的,但它的支持是不夠的,在魔王面前,金錢、權力的誘惑永遠比神父的教誨要強大得多,看著許多人買了eeePC後改灌成XP,許多人買了之後退機,Linux社群的人是否該以支持、建議來取代抗議、謾罵呢?
2007年12月7日
中正紀念堂~大中至正~走了~
雖然蔣中正如何~
蔣經國如何~
和我關係不大~
但是這次把牌樓給拆了,我卻不高興,於是乎就上來寫寫了~
蔣中正很獨裁,可是至少他的目標是反攻大陸,
為了這個目標,他在台灣建軍隊,為了把台灣當作反共的模範,他建設台灣~
就算他沒很認真建設,但蔣經國的建設大家都看得到,
為了在全世界夾縫中生存,他們努力的和美國、中共斡旋,
在石油危機時,想盡辦法解決問題,不但化解危機,還讓台灣提昇。
中國有5000年的歷史,有北京猿人,我們都是黑頭髮、黃皮膚,
我們都說中文、寫中文,故宮博物院裡面放的,是中國5000年的文物,
蔣中正、蔣經國是歷史的一部分,這是沒辦法抹滅的。
今天,為了「民主」兩個字,要去換名稱、拆牌樓,
都只是為了年底和明年的選舉,
為什麼這麼篤定是選舉,而不是「民主」?
什麼是「民主」?
「以民為本」應該是答案吧?
中正紀念堂前面這麼多人在抗議,不願意換牌子,卻依舊把牌子給拆了,「以民為本」在哪?
更有趣的是,說要拆牌子的是「教育部」,
我在八百年前就說過我覺得台灣教育很失敗,
許多有特色的專業都沒有相關學校、科系,
這到現在還是沒改善,
每次一提到,就說要「教改」,
每次一提到教改,就人人都在罵~
這顯然,教改完全失敗了~
教育部不管教育,跑去管牌子?去管牌子上的字?
然後教育部長大聲的說「大家醒醒,這是民主」?
我不懂,真的不懂,這樣是對的嗎?這樣是主流嗎?
我以為教育部長應該是開教育座談會,
或者談論應該怎麼改進教授品質,
或者討論學校污教育部錢該怎麼改善,
或者討論學生住宿的問題。
原來這些都不是教育部、教育部長的重點工作阿~~
蔣經國如何~
和我關係不大~
但是這次把牌樓給拆了,我卻不高興,於是乎就上來寫寫了~
蔣中正很獨裁,可是至少他的目標是反攻大陸,
為了這個目標,他在台灣建軍隊,為了把台灣當作反共的模範,他建設台灣~
就算他沒很認真建設,但蔣經國的建設大家都看得到,
為了在全世界夾縫中生存,他們努力的和美國、中共斡旋,
在石油危機時,想盡辦法解決問題,不但化解危機,還讓台灣提昇。
中國有5000年的歷史,有北京猿人,我們都是黑頭髮、黃皮膚,
我們都說中文、寫中文,故宮博物院裡面放的,是中國5000年的文物,
蔣中正、蔣經國是歷史的一部分,這是沒辦法抹滅的。
今天,為了「民主」兩個字,要去換名稱、拆牌樓,
都只是為了年底和明年的選舉,
為什麼這麼篤定是選舉,而不是「民主」?
什麼是「民主」?
「以民為本」應該是答案吧?
中正紀念堂前面這麼多人在抗議,不願意換牌子,卻依舊把牌子給拆了,「以民為本」在哪?
更有趣的是,說要拆牌子的是「教育部」,
我在八百年前就說過我覺得台灣教育很失敗,
許多有特色的專業都沒有相關學校、科系,
這到現在還是沒改善,
每次一提到,就說要「教改」,
每次一提到教改,就人人都在罵~
這顯然,教改完全失敗了~
教育部不管教育,跑去管牌子?去管牌子上的字?
然後教育部長大聲的說「大家醒醒,這是民主」?
我不懂,真的不懂,這樣是對的嗎?這樣是主流嗎?
我以為教育部長應該是開教育座談會,
或者談論應該怎麼改進教授品質,
或者討論學校污教育部錢該怎麼改善,
或者討論學生住宿的問題。
原來這些都不是教育部、教育部長的重點工作阿~~
2007年11月30日
Linux & Windows 的 Unicode!?
最近日劇抓比較兇,忽然注意到的~
在wiki、摩托學園...等地方,都可以找到教人把Linux轉成Unicode環境的文章,
設定方式在現在其實已經不難了。
可是實際使用時,會發現Linux對Unicode的支援似乎不像Windows,
尤其是像影片檔的字幕(其實字幕比喻不很好,畢竟字幕的支援是看播放軟體的)。
其實同樣是Unicode,Unicode還是有分UTF-8、Unicode(UTF-16)...等,
在Windows上大部分都是使用Unicode(UTF-16)(也稱UCS-2),
不過在Linux上,似乎比較偏好UTF-8,
所以在Windows上看到的Unicode文件,轉成UTF-8之後就能夠在Linux上暢行無阻,
直接用Unicode,Linux似乎不是很歡迎~
最近的小心得~
在wiki、摩托學園...等地方,都可以找到教人把Linux轉成Unicode環境的文章,
設定方式在現在其實已經不難了。
可是實際使用時,會發現Linux對Unicode的支援似乎不像Windows,
尤其是像影片檔的字幕(其實字幕比喻不很好,畢竟字幕的支援是看播放軟體的)。
其實同樣是Unicode,Unicode還是有分UTF-8、Unicode(UTF-16)...等,
在Windows上大部分都是使用Unicode(UTF-16)(也稱UCS-2),
不過在Linux上,似乎比較偏好UTF-8,
所以在Windows上看到的Unicode文件,轉成UTF-8之後就能夠在Linux上暢行無阻,
直接用Unicode,Linux似乎不是很歡迎~
最近的小心得~
2007年9月29日
Linux & RAID
比較有玩電腦的都知道,RAID可以容許硬碟故障,家裏的file server和nat最早都是淘汰的電腦組的,file server在一開始組的時候,只是因為mp3都放自己電腦的磁碟,別人不方便聽,而且別人聽mp3,複製個mp3,電腦就會lag,因此當時把淘汰的電腦拿來組file server。
當時組file server時,就是盡全力把所有能動的硬碟都往上面塞,反正廢物利用~後來硬碟不夠大了,開始針對它買硬碟,當時也都沒有想到硬碟掛了怎麼辦,只在想,哪會這麼衰,而且這幾顆硬碟耐操的勒~溫度50,60都沒事,哪是說掛就掛的~
這次暑假,更新gigabit網路,添購了gigabit網路卡、HUB和網路線(更新幾條線變成CAT6,預期這幾條線未來到10G頻寬應該都ok),誰知道K7的機器似乎不大支援Intel PRO/1000 Server Adapter,100M時沒事,1G就不行了~
我因此改了改CMOS的設定,擔心是CMOS設定的問題,誰知道這一改,反而就出事了~~
因為那台K7,裝了很多硬碟,我另外加了IDE擴充卡和SATA1擴充卡,CMOS設定一改,動到了PCI write cache, pci 2x之類的設定,結果SATA卡剛好在設定的插槽上,開進Linux之後,就亂動亂跑,結果聽聽mp3, 讀讀資料就彈出資料錯誤的訊息,然後硬碟資料就毀了~
受害者有SATA 80G和SATA 250G,裡面卡通mp3,無失真音樂檔,資料.............唉~~~
也因此全面更新file server主機板和建RAID的想法,暑假就砸了不少錢建起來了,目前這台電腦的硬體在新電腦中很初階,P5KPL-VM + E2140 + DDR2 667 1G................
說了半天終於要開始說重點了~~~RAID~~
要建立RAID,我一開始很猶豫要買RAID卡還是用Linux的soft RAID,結果在看了這兩篇的討論之後:
http://moto.debian.org.tw/viewtopic.php?t=6915
http://moto.debian.org.tw/viewtopic.php?t=4104
我發現除非買到超過6000的RAID卡,否則要有硬體RAID的支援,都是天方夜譚,連一些高級RAID卡,在Linux下也是靠soft,那何必用它呢?因此,我決定用soft RAID來建置file server的磁碟陣列。
話說Linux的soft RAID非常的有彈性,Linux的soft RAID是以partition為單位的,因此不像硬體RAID卡,它不需要使用整顆硬碟作RAID,只要每個磁碟都切出相同大小的partition(大小差一點沒關係),就可以組建RAID了,此外,也因為是partition為單位,SCSI、IDE、SATA都沒差,只要不在意速度的差異,完全可以混組RAID,這點~硬體RAID卡是作不到的,此外,硬體卡有個麻煩,如果是主機板內建,主機板掛了,資料就讀不出來了,除非找到同樣晶片的主機板來開機,如果是硬體RAID卡,要擔心卡片壞掉,壞掉一樣資料就讀不出來了,soft RAID則不,只要有Linux LiveCD,隨時可以把RAID掛載使用,不受硬體的影響。
而以我這邊來說,因為家裏的硬碟是陸陸續續買的,因此size有差,大部分都是80G的(本來有1顆60G,但RAID安裝上去後,就經常出現DMA error,之後RAID就顯示fail,因此換新了),1顆是160G的,其餘的主要就是這次新添購的3顆SATA 320G組成的RAID,分別是
80G x 3 + 160G => 240G RAID5 (160切剩下80G當Linux系統碟,按一般方式安裝Linux使用)
320G x 3 => 640G RAID5
至於前面提過的250G,目前閒置中,準備東征西討去跟別人copy卡通mp3,接著考慮網拍賣了改買320G,把320G RAID再提昇~
至於RAID的組建其實不難,剛開始不瞭解時會有些緊張,但是習慣之後就還好,我個人覺得安裝的部份,寫的不錯的是:
http://williewu.pbwiki.com/SoftRaid
至於損毀之後的加入動作也很容易,首先要知道的是,Linux的soft RAID會自己判斷硬碟是否損毀,判定損毀會自動把該磁碟自動設成fail和removed,之後只要將新的硬碟裝上去,進入系統,用cfdisk將RAID partition切割好(要確定有正確寫入唷~cfdisk最下面會顯示訊息,提示正確寫入,或需要重新開機),就可以用mdadm --add來把它加入了,加入之後,它就會自己rebuilding(過程和前面網頁教的,RAID1硬碟損毀時排除方法相同)~
中間要注意的是,rebuild的時候,不論是一開始建立還是換上新硬碟,過程中都不能關機或重新開機,必需要一直待在OS中,直到rebuild完成才可重新開機。
如果想體驗一下過程,我們也可以下指令,手動的讓RAID的特定磁碟發生fail、removed的狀態,當然,這情況下磁碟是好的,只是我們以下指令的方式,達到和真實的情況相同。
最後,RAID5的技術很有趣,不知道有沒有人想過,為何它的容錯技術,不論幾顆磁碟,都只需要花費1顆磁碟?
它其實滿神奇的,使用邏輯閘XOR,以1個bit來說,不論有多少顆硬碟,每顆的1個bit,假設是1,0,0,1,0,1,0,0,經過XOR計算之後,就只會產生1個bit的數值1,這是很巧妙的事,而當壞掉1顆磁碟時,同樣的,用包括XOR得出的那1個bit作XOR,又會反過來得出其中任何1個數值,達成容錯的效果。
當時組file server時,就是盡全力把所有能動的硬碟都往上面塞,反正廢物利用~後來硬碟不夠大了,開始針對它買硬碟,當時也都沒有想到硬碟掛了怎麼辦,只在想,哪會這麼衰,而且這幾顆硬碟耐操的勒~溫度50,60都沒事,哪是說掛就掛的~
這次暑假,更新gigabit網路,添購了gigabit網路卡、HUB和網路線(更新幾條線變成CAT6,預期這幾條線未來到10G頻寬應該都ok),誰知道K7的機器似乎不大支援Intel PRO/1000 Server Adapter,100M時沒事,1G就不行了~
我因此改了改CMOS的設定,擔心是CMOS設定的問題,誰知道這一改,反而就出事了~~
因為那台K7,裝了很多硬碟,我另外加了IDE擴充卡和SATA1擴充卡,CMOS設定一改,動到了PCI write cache, pci 2x之類的設定,結果SATA卡剛好在設定的插槽上,開進Linux之後,就亂動亂跑,結果聽聽mp3, 讀讀資料就彈出資料錯誤的訊息,然後硬碟資料就毀了~
受害者有SATA 80G和SATA 250G,裡面卡通mp3,無失真音樂檔,資料.............唉~~~
也因此全面更新file server主機板和建RAID的想法,暑假就砸了不少錢建起來了,目前這台電腦的硬體在新電腦中很初階,P5KPL-VM + E2140 + DDR2 667 1G................
說了半天終於要開始說重點了~~~RAID~~
要建立RAID,我一開始很猶豫要買RAID卡還是用Linux的soft RAID,結果在看了這兩篇的討論之後:
http://moto.debian.org.tw/viewtopic.php?t=6915
http://moto.debian.org.tw/viewtopic.php?t=4104
我發現除非買到超過6000的RAID卡,否則要有硬體RAID的支援,都是天方夜譚,連一些高級RAID卡,在Linux下也是靠soft,那何必用它呢?因此,我決定用soft RAID來建置file server的磁碟陣列。
話說Linux的soft RAID非常的有彈性,Linux的soft RAID是以partition為單位的,因此不像硬體RAID卡,它不需要使用整顆硬碟作RAID,只要每個磁碟都切出相同大小的partition(大小差一點沒關係),就可以組建RAID了,此外,也因為是partition為單位,SCSI、IDE、SATA都沒差,只要不在意速度的差異,完全可以混組RAID,這點~硬體RAID卡是作不到的,此外,硬體卡有個麻煩,如果是主機板內建,主機板掛了,資料就讀不出來了,除非找到同樣晶片的主機板來開機,如果是硬體RAID卡,要擔心卡片壞掉,壞掉一樣資料就讀不出來了,soft RAID則不,只要有Linux LiveCD,隨時可以把RAID掛載使用,不受硬體的影響。
而以我這邊來說,因為家裏的硬碟是陸陸續續買的,因此size有差,大部分都是80G的(本來有1顆60G,但RAID安裝上去後,就經常出現DMA error,之後RAID就顯示fail,因此換新了),1顆是160G的,其餘的主要就是這次新添購的3顆SATA 320G組成的RAID,分別是
80G x 3 + 160G => 240G RAID5 (160切剩下80G當Linux系統碟,按一般方式安裝Linux使用)
320G x 3 => 640G RAID5
至於前面提過的250G,目前閒置中,準備東征西討去跟別人copy卡通mp3,接著考慮網拍賣了改買320G,把320G RAID再提昇~
至於RAID的組建其實不難,剛開始不瞭解時會有些緊張,但是習慣之後就還好,我個人覺得安裝的部份,寫的不錯的是:
http://williewu.pbwiki.com/SoftRaid
至於損毀之後的加入動作也很容易,首先要知道的是,Linux的soft RAID會自己判斷硬碟是否損毀,判定損毀會自動把該磁碟自動設成fail和removed,之後只要將新的硬碟裝上去,進入系統,用cfdisk將RAID partition切割好(要確定有正確寫入唷~cfdisk最下面會顯示訊息,提示正確寫入,或需要重新開機),就可以用mdadm --add來把它加入了,加入之後,它就會自己rebuilding(過程和前面網頁教的,RAID1硬碟損毀時排除方法相同)~
中間要注意的是,rebuild的時候,不論是一開始建立還是換上新硬碟,過程中都不能關機或重新開機,必需要一直待在OS中,直到rebuild完成才可重新開機。
如果想體驗一下過程,我們也可以下指令,手動的讓RAID的特定磁碟發生fail、removed的狀態,當然,這情況下磁碟是好的,只是我們以下指令的方式,達到和真實的情況相同。
最後,RAID5的技術很有趣,不知道有沒有人想過,為何它的容錯技術,不論幾顆磁碟,都只需要花費1顆磁碟?
它其實滿神奇的,使用邏輯閘XOR,以1個bit來說,不論有多少顆硬碟,每顆的1個bit,假設是1,0,0,1,0,1,0,0,經過XOR計算之後,就只會產生1個bit的數值1,這是很巧妙的事,而當壞掉1顆磁碟時,同樣的,用包括XOR得出的那1個bit作XOR,又會反過來得出其中任何1個數值,達成容錯的效果。
2007年9月25日
UPnP Client
這篇算是接續前一篇,因為隨便搜尋就會發現,很多很多很多的人在問,有沒有UPnP tools可以很簡單的開port,有人要Linux版的,有人要Windows版的,因此我特別將miniupnp的UPnP Client抓出來圖文解說一下,心動的自己點連結下載,沒感覺、不瞭解、看熱鬧的..........隨意即可。
miniupnp的網站在http://miniupnp.free.fr/,在其中Download的頁面中,就有可以直接下載的連結。
連結中,Windows的部份直接就有提供編譯好的binary版本,省去了安裝MinGW,以及編譯的麻煩。
至於Linux部份,我直接下載source code,解壓縮後打make.....make install.....cp upnpc /usr/local/bin/ 就完成了,非常之輕鬆愉快~
以下是在Windows上執行的畫面,首先我們先執行看看,看長什麼樣子(備註:我已經先copy到C:\WINNT\system32\ 我是win2k系統):

我們可以看到,它有簡單而詳盡的說明。
接著我們可以用它來查詢目前UPnP Server開了哪些Port:

ㄟ~可以看到目前開了1個Port,是192.168.1.6的utorrent開的35050。
再來我們試著來開port看看,我們開TCP 11131和UDP 11142:

恩~看到了,我們成功的把port開出來了。
再來我們把它們刪掉:

簡單方便吧~這樣一來,只要有支援UPnP的NAT,不論是AP、Linux、FreeBSD,我們都可以輕易的開個port來用,而Client更是沒有顧忌,不論是Linux、FreeBSD、Windows,也都可以簡單方便的使用這個工具,ㄟ~MacOS目前我不清楚有沒有支援,不過MacOS和Linux、FreeBSD都很親近,我相信是有支援的。
最後補充一點,有沒有發現整個示範過程中,沒有出現任何的帳號、密碼,而且由upnpc建立的port,他的程式名稱也只是簡單的libminiupnpc,看起來很容易竄改的感覺。
沒錯~UPnP方便歸方便,畢竟是M$提出來的東西,但是目前的UPnP有很大的問題,就是安全性極差,可以在google上搜尋upnp和安全漏洞,一定可以發現,之前已經有人發出UPnP有嚴重的安全性問題,主要原因可能就在於目前的UPnP Server多半都沒有認證機制,像miniupnpd只有簡單的設定許可的網路區段,這在目前是很嚴重的問題,沒有大量的浮現,主要原因恐怕是目前大部分人對它技術還不夠熟悉,不過最近client已經有很多人寫出來了,我相信相關的病毒在不久的未來就會出現,不論是針對UPnP的DDoS,或者是病毒利用UPnP自動開洞進行入侵,我相信會出現的,可能再說這麼說得時候,已經有寫好的版本,只是還沒大規模感染或我不知道罷了。
miniupnp的網站在http://miniupnp.free.fr/,在其中Download的頁面中,就有可以直接下載的連結。
連結中,Windows的部份直接就有提供編譯好的binary版本,省去了安裝MinGW,以及編譯的麻煩。
至於Linux部份,我直接下載source code,解壓縮後打make.....make install.....cp upnpc /usr/local/bin/ 就完成了,非常之輕鬆愉快~
以下是在Windows上執行的畫面,首先我們先執行看看,看長什麼樣子(備註:我已經先copy到C:\WINNT\system32\ 我是win2k系統):

我們可以看到,它有簡單而詳盡的說明。
接著我們可以用它來查詢目前UPnP Server開了哪些Port:

ㄟ~可以看到目前開了1個Port,是192.168.1.6的utorrent開的35050。
再來我們試著來開port看看,我們開TCP 11131和UDP 11142:

恩~看到了,我們成功的把port開出來了。
再來我們把它們刪掉:

簡單方便吧~這樣一來,只要有支援UPnP的NAT,不論是AP、Linux、FreeBSD,我們都可以輕易的開個port來用,而Client更是沒有顧忌,不論是Linux、FreeBSD、Windows,也都可以簡單方便的使用這個工具,ㄟ~MacOS目前我不清楚有沒有支援,不過MacOS和Linux、FreeBSD都很親近,我相信是有支援的。
最後補充一點,有沒有發現整個示範過程中,沒有出現任何的帳號、密碼,而且由upnpc建立的port,他的程式名稱也只是簡單的libminiupnpc,看起來很容易竄改的感覺。
沒錯~UPnP方便歸方便,畢竟是M$提出來的東西,但是目前的UPnP有很大的問題,就是安全性極差,可以在google上搜尋upnp和安全漏洞,一定可以發現,之前已經有人發出UPnP有嚴重的安全性問題,主要原因可能就在於目前的UPnP Server多半都沒有認證機制,像miniupnpd只有簡單的設定許可的網路區段,這在目前是很嚴重的問題,沒有大量的浮現,主要原因恐怕是目前大部分人對它技術還不夠熟悉,不過最近client已經有很多人寫出來了,我相信相關的病毒在不久的未來就會出現,不論是針對UPnP的DDoS,或者是病毒利用UPnP自動開洞進行入侵,我相信會出現的,可能再說這麼說得時候,已經有寫好的版本,只是還沒大規模感染或我不知道罷了。
新神兵利器~UPnP(miniupnpd)
說來有點遜,很久前就把UPnP弄上FreeBSD了,可是一直以來都怪怪的,對UPnP又不瞭解,也就一直放著爛~
UPnP在FreeBSD上得資料不多,永遠都是安裝libupnp和LinuxIGD,然後就是開MSN測試,話是沒錯,可是MSN怎樣都會上線,也只會顯示個你是透過UPnP上線,過程順不順利,完全不知道~
最近重新安裝Azureus後,發現它UPnP的部份很詳盡,對於成功、失敗、和Server的對談都有顯示,才發現UPnP已經掛點很久了~更進一步發現,LinuxIGD和libupnp在FreeBSD上根本不支援pf,因此重新搜尋相關資料。
搜尋後發現,BSD系列有另一套UPnP,而且整個程式很小,甚至被移植到Linux上,像是OpenWRT就有它的身影,它叫做miniupnpd。
miniupnpd設定不難,也就1個設定檔miniupnpd.conf,裡面設定也很簡單,也就設定WAN界面卡和LAN IP,還有allow的網路區段。
不過它很方便的是,它可以直接執行,用「-d」參數即可前端執行,然後就可以看到UPnP Client和它的對話,像是Azureus、MSN都很清楚~
最最重要的是,它在設計時,就是針對pf設計,所以對pf的支援性很好。
話說UPnP在Linux、FreeBSD上,幹嘛要跟防火牆配合?
這就是我一直不瞭解的部份,這次找資料後終於理解了~
UPnP它當然有它的規範,就像其他protocol一樣,他有自己的protocol spec,簡單的來說,UPnP Server其實是一個小型的應答器,走的是類似Web Server的protocol(根本就算是),對於Client,Client部份發出Request,UPnP Server則利用Web Server的對話方式,提供以xml檔案為基礎的對話內容。
在FreeBSD上,基本的UPnP Server設計很簡單,它的功能就是幫你作Port對應,而實際上,就像前面說過的,它本身只是應答器,所有的對應動作,它還是交給Firewall,因此UPnP Server要支援防火牆,針對特定防火牆下Port對應的指令,以miniupnpd來說,在BSD上支援pf,在Linux上支援Netfilter;而LinuxIGD+libupnp在FreeBSD上則是支援IPFilter(ipnat)。
此外,miniupnpd除了UPnP Server之外,也有開發UPnP Client,最重要的是,miniupnp整個講求的就是小,因此不論是Server還是Client,都很容易被移植,所以miniupnp的client支援Linux、FreeBSD、Windows(MinGW),而且Client還可以用來顯示目前UPnP Server的狀態(Server資訊和目前對應情況),這樣一來,任何時候要開任何Port,都可以很輕易的用Client程式對應,任何時候要查詢Server目前的對應狀況,也可以輕鬆的查詢。
UPnP在FreeBSD上得資料不多,永遠都是安裝libupnp和LinuxIGD,然後就是開MSN測試,話是沒錯,可是MSN怎樣都會上線,也只會顯示個你是透過UPnP上線,過程順不順利,完全不知道~
最近重新安裝Azureus後,發現它UPnP的部份很詳盡,對於成功、失敗、和Server的對談都有顯示,才發現UPnP已經掛點很久了~更進一步發現,LinuxIGD和libupnp在FreeBSD上根本不支援pf,因此重新搜尋相關資料。
搜尋後發現,BSD系列有另一套UPnP,而且整個程式很小,甚至被移植到Linux上,像是OpenWRT就有它的身影,它叫做miniupnpd。
miniupnpd設定不難,也就1個設定檔miniupnpd.conf,裡面設定也很簡單,也就設定WAN界面卡和LAN IP,還有allow的網路區段。
不過它很方便的是,它可以直接執行,用「-d」參數即可前端執行,然後就可以看到UPnP Client和它的對話,像是Azureus、MSN都很清楚~
最最重要的是,它在設計時,就是針對pf設計,所以對pf的支援性很好。
話說UPnP在Linux、FreeBSD上,幹嘛要跟防火牆配合?
這就是我一直不瞭解的部份,這次找資料後終於理解了~
UPnP它當然有它的規範,就像其他protocol一樣,他有自己的protocol spec,簡單的來說,UPnP Server其實是一個小型的應答器,走的是類似Web Server的protocol(根本就算是),對於Client,Client部份發出Request,UPnP Server則利用Web Server的對話方式,提供以xml檔案為基礎的對話內容。
在FreeBSD上,基本的UPnP Server設計很簡單,它的功能就是幫你作Port對應,而實際上,就像前面說過的,它本身只是應答器,所有的對應動作,它還是交給Firewall,因此UPnP Server要支援防火牆,針對特定防火牆下Port對應的指令,以miniupnpd來說,在BSD上支援pf,在Linux上支援Netfilter;而LinuxIGD+libupnp在FreeBSD上則是支援IPFilter(ipnat)。
此外,miniupnpd除了UPnP Server之外,也有開發UPnP Client,最重要的是,miniupnp整個講求的就是小,因此不論是Server還是Client,都很容易被移植,所以miniupnp的client支援Linux、FreeBSD、Windows(MinGW),而且Client還可以用來顯示目前UPnP Server的狀態(Server資訊和目前對應情況),這樣一來,任何時候要開任何Port,都可以很輕易的用Client程式對應,任何時候要查詢Server目前的對應狀況,也可以輕鬆的查詢。
2007年9月23日
FON & heartbeat

FON是一個理想,它希望透過大家共享的方式,在全世界將wireless建置起來,為此,它提供了便宜的wireless AP讓大家購買、使用,尤其在一開始時,它提供了免費的wireless AP(在台灣要165元運費),這一批wireless AP正如之前提過好幾次的,硬體還不錯。
可惜FON提供的軟體不夠好用,功能不夠強,因此很多人就開始自己編譯自己需要的Linux kernel供使用,大大強化它的能力。
麻煩的是,FON的AP便宜歸便宜,它要求你第一年一定要開機,並且隨時檢查你的開機狀態,只要你關機超過1個月,就會被寄信通知要你注意,一旦超過一定時間,就要你付賠償金,正因為這個限制,讓很多人不敢隨便的將FON亂刷,乖乖的用FON提供的軟體。
正所謂有需要,就有破解..................... = =||
國外有人將它的開機狀態檢查進行了完整的分析,其實它的開機狀態檢查很簡單,它利用Linux上的crontab,每5分鐘執行一次script,而script主要的功能,則是利用ssh client連線到FON的伺服器,連線之後一方面提供FON的資訊(MAC位址)讓伺服器知道是哪一台FON被檢查,另一方面則提供FON查詢是否有更新程式,有~則自動更新,這樣的開機狀態檢查行為,國外的人取了個巧妙的名稱,叫做「heartbeat」,也就是「心跳」。
因此,為了提供將FON刷成DD-WRT的人也能通過檢查,國外有人寫了simthefon,讓DD-WRT或其他FON也能夠發出心跳。
之前我一直很乖,FON都乖乖開著,只是改過了bridge mode而已,沒想到有次更改,把心跳改停了,加上那陣子正好換Hibet FTTB,家裏網路不大穩,過了一陣子就收到通知信了..... = =
那時候FON有開165元買天線的活動,我還因此差點買不成,讓我在刷完DD-WRT之後,毅然決然的改用simthefon。
simthefon的程式設定很簡單,它只是個script,程式最前面就可以設定幾個需要的變數,像是最重要的WLAN網卡MAC和LAN的MAC(預設是直接讀取環境變數,DD-WRT直接寫在環境變數中),其他也可以設定路徑。
接著就是放入/etc/crontab中定時執行。
在DD-WRT中,因為DD-WRT本身都是由web介面控制的,整個系統除了web介面的設定外,不大能儲存,因此它是寫成startup script,開機的時候將simthefon下載好,並把排程寫入到/etc/crontab當中。
如果是非DD-WRT,有一點要注意的,因為它的ssh client不是openssh-client,而是專為嵌入式這類小型系統而開發的SSH~dropbear的client程式,它叫做dbclient,如果要在Linux上執行,以Debian來說,我們要安裝dropbear,否則它會說欠缺了程式。
安裝方式如下網頁:
http://www.dd-wrt.com/wiki/index.php/LaFonera_Software_Heartbeat
而標題圖片就是FON上線的檢查頁面,這是我停掉一個FON的心跳後抓的圖。
家裡網路架構之變化-2(使用2個FON(Bridge mode與Client Bridge mode)建置無線網路)
話說FON真是好東西阿~那時候花330元買了2個(1個165元),現在覺得實在是物超所值,而且很後悔早知道就多買幾個了。
正如數個月前剛裝FON時說過的,FON硬體其實很不錯,就是軔體的設定莫名其妙,不能設置Bridge mode非常的麻煩,雖然說市面上很多AP也都是這樣,但是不方便就是不方便,這也讓我對市面上的AP很有些未知,如果要買,我還真的是不會挑,很怕挑到不符合需求的機器,我不能瞭解的是,Bridge mode是很進階的功能嗎?為何這明明是軟體的設定,AP卻不做進Web介面中,而且不讓你這麼設~~
話說家裏的wireless從PCI卡改成FON後,以往wireless不穩、容易斷線的問題統統消失了,不過話說回來,PCI的wireless好像是PCI2.1規格的介面卡,不知道會不會是因為PII-300不支援PCI2.1,所以才問題不斷~~
這次暑假家裏網路架構的變化,第2個比較大的,就是將第2顆FON從學校拿回來,然後設置成了Client Bridge mode。
在家裏的網路中,我爸的房間一直以來都沒拉網路線,一直都是用wireless,然後我爸房間事主臥房,會有個獨立衛浴,這增加了牆壁的數量,讓隔壁房間的wireless訊號到了我爸房間就可憐兮兮,而我爸使用的電腦,是舊式的精英攜帶式電腦,也就是做的很像筆電,但是沒有PCMCIA、沒有電池,使用桌上型電腦用的CPU、晶片組,因此價位上很便宜。
這台電腦因為很舊了,又沒有擴充槽,整台電腦能夠外接的部份,就是4個USB1.1和1個網路接頭,之前給它用USB wireless,可是信號一直很差,而且因為是USB1.1,USB1.1速度太慢,根本沒辦法上到802.11g,802.11b/g USB wireless卡還很貼心的跳出訊息說,因為只支援到USB1.1,因此將關閉802.11g,只使用802.11b來傳輸~
結果就是那台電腦網路很慢~慢~慢~
連開網路芳鄰傳檔案,都可以跳出是否強制關閉的訊息~
為了解決這個問題,我想到利用FON,把原本 有線->無線 的AP功能反過來用,改成 無線->有線 的功能,可惜設了很久都失敗,上網查了之後才知道,原來這樣的功能是一個特殊的模式,稱之為Client Bridge mode,而且最重要的是,FON內建的系統~不~支~援~
因此,我終於在使用了4個月後,將一台FON給刷了,這台FON徹底的違約了.... = =||
雖然FON內建的系統不支援,但是FON的第三方系統DD-WRT支援(講這麼文謅謅,就是說別人惡搞的FON Linux有支援就對了)。
所謂的Client Bridge mode其實是很特殊的模式,不過它在一些場合被使用,而且很方便,下面這張圖,是國外的網站解說Client Bridge的架構圖,我就公然的借用拉~
http://www.wi-fiplanet.com/tutorials/article.php/3639271
這就是Client Bridge mode,也就是說,網路的兩端不使用網路線來連接,直接用wireless的2個AP來連接,兩端可以各自接上多個網路設備、電腦,全部都在同一個網路中,下面這張架構圖則表示了更為複雜一點點的架構。
http://www.dd-wrt.com/wiki/index.php/Wireless_Bridge
這張圖的架構,可以想做兩層樓的辦公室,各有自己的網路,透過Client Bridge mode,可以讓2層樓的網路串連在一起,不但電腦間可以方便的連線,也只需要一條ADSL即可上網際網路。
Client Bridge mode的架構上,其實就是2台AP,一台AP是一般的AP,使用一般的AP mode,另一台AP則需要設為Client Bridge mode,之所以稱為Client Bridge,因為Client Bridge的這台AP以wireless的角度來說,它是Client,但是同時,它又有bridge的功能,讓有線網路的其他電腦可以透過它橋接在wireless上。
還記得舊版的XBOX嗎?舊版的XBOX本身是一台PIII-700的電腦,它有額外販賣wireless的模組,而且這個模組要價3000多元(新台幣),一般市面上的USB wireless都不能用,為什麼這麼貴?難道XBOX有綁wireless嗎?
不是~相反地,XBOX根本沒有wireless,根本不支援wireless,它的wireless模組好聽叫做模組,實際上就是一台道地的Client Bridge mode AP,而且只提供1個網路接頭,硬體上和FON非常接近,連大小都很接近,但是價格是FON的好幾倍。
因此事實上,在論壇中,的確有很多人拿FON接XBOX,也有人拿FON接網路印表機,變成wireless Network Printer,都很有趣~
喔~回正題,我前後花了約2周左右的時間,搞清楚了FON不支援,DD-WRT支援,膽顫心驚的刷了DD-WRT,測試了很久才發現DD-WRT的Client Bridge不是每一版都能很好的支援,經過多次測試之後,發現能很好的支援Client Bridge mode的最新版,是2007-06-20的版本,更新的版本,相同的設定都無法動作。
不過很不幸的,Client Bridge mode後面的電腦,無法使用PPPoE撥接,最近查了之後才知道,Client Bridge的bridge功能,不是單純的bridge,所以並沒有辦法像bridge一樣將所有網路protocol都傳遞過來,可能需要Client Bridge mode的AP上再設定一個PPPoE Relay,不過這部份現階段仍然沒有設定成功,2007-06-20這個版本的軔體,pppoe-relay似乎有問題,不然就是client bridge環境太怪異,pppoe-relay不支援。
正如數個月前剛裝FON時說過的,FON硬體其實很不錯,就是軔體的設定莫名其妙,不能設置Bridge mode非常的麻煩,雖然說市面上很多AP也都是這樣,但是不方便就是不方便,這也讓我對市面上的AP很有些未知,如果要買,我還真的是不會挑,很怕挑到不符合需求的機器,我不能瞭解的是,Bridge mode是很進階的功能嗎?為何這明明是軟體的設定,AP卻不做進Web介面中,而且不讓你這麼設~~
話說家裏的wireless從PCI卡改成FON後,以往wireless不穩、容易斷線的問題統統消失了,不過話說回來,PCI的wireless好像是PCI2.1規格的介面卡,不知道會不會是因為PII-300不支援PCI2.1,所以才問題不斷~~
這次暑假家裏網路架構的變化,第2個比較大的,就是將第2顆FON從學校拿回來,然後設置成了Client Bridge mode。
在家裏的網路中,我爸的房間一直以來都沒拉網路線,一直都是用wireless,然後我爸房間事主臥房,會有個獨立衛浴,這增加了牆壁的數量,讓隔壁房間的wireless訊號到了我爸房間就可憐兮兮,而我爸使用的電腦,是舊式的精英攜帶式電腦,也就是做的很像筆電,但是沒有PCMCIA、沒有電池,使用桌上型電腦用的CPU、晶片組,因此價位上很便宜。
這台電腦因為很舊了,又沒有擴充槽,整台電腦能夠外接的部份,就是4個USB1.1和1個網路接頭,之前給它用USB wireless,可是信號一直很差,而且因為是USB1.1,USB1.1速度太慢,根本沒辦法上到802.11g,802.11b/g USB wireless卡還很貼心的跳出訊息說,因為只支援到USB1.1,因此將關閉802.11g,只使用802.11b來傳輸~
結果就是那台電腦網路很慢~慢~慢~
連開網路芳鄰傳檔案,都可以跳出是否強制關閉的訊息~
為了解決這個問題,我想到利用FON,把原本 有線->無線 的AP功能反過來用,改成 無線->有線 的功能,可惜設了很久都失敗,上網查了之後才知道,原來這樣的功能是一個特殊的模式,稱之為Client Bridge mode,而且最重要的是,FON內建的系統~不~支~援~
因此,我終於在使用了4個月後,將一台FON給刷了,這台FON徹底的違約了.... = =||
雖然FON內建的系統不支援,但是FON的第三方系統DD-WRT支援(講這麼文謅謅,就是說別人惡搞的FON Linux有支援就對了)。
所謂的Client Bridge mode其實是很特殊的模式,不過它在一些場合被使用,而且很方便,下面這張圖,是國外的網站解說Client Bridge的架構圖,我就公然的借用拉~
這就是Client Bridge mode,也就是說,網路的兩端不使用網路線來連接,直接用wireless的2個AP來連接,兩端可以各自接上多個網路設備、電腦,全部都在同一個網路中,下面這張架構圖則表示了更為複雜一點點的架構。
這張圖的架構,可以想做兩層樓的辦公室,各有自己的網路,透過Client Bridge mode,可以讓2層樓的網路串連在一起,不但電腦間可以方便的連線,也只需要一條ADSL即可上網際網路。
Client Bridge mode的架構上,其實就是2台AP,一台AP是一般的AP,使用一般的AP mode,另一台AP則需要設為Client Bridge mode,之所以稱為Client Bridge,因為Client Bridge的這台AP以wireless的角度來說,它是Client,但是同時,它又有bridge的功能,讓有線網路的其他電腦可以透過它橋接在wireless上。
還記得舊版的XBOX嗎?舊版的XBOX本身是一台PIII-700的電腦,它有額外販賣wireless的模組,而且這個模組要價3000多元(新台幣),一般市面上的USB wireless都不能用,為什麼這麼貴?難道XBOX有綁wireless嗎?
不是~相反地,XBOX根本沒有wireless,根本不支援wireless,它的wireless模組好聽叫做模組,實際上就是一台道地的Client Bridge mode AP,而且只提供1個網路接頭,硬體上和FON非常接近,連大小都很接近,但是價格是FON的好幾倍。
因此事實上,在論壇中,的確有很多人拿FON接XBOX,也有人拿FON接網路印表機,變成wireless Network Printer,都很有趣~
喔~回正題,我前後花了約2周左右的時間,搞清楚了FON不支援,DD-WRT支援,膽顫心驚的刷了DD-WRT,測試了很久才發現DD-WRT的Client Bridge不是每一版都能很好的支援,經過多次測試之後,發現能很好的支援Client Bridge mode的最新版,是2007-06-20的版本,更新的版本,相同的設定都無法動作。
不過很不幸的,Client Bridge mode後面的電腦,無法使用PPPoE撥接,最近查了之後才知道,Client Bridge的bridge功能,不是單純的bridge,所以並沒有辦法像bridge一樣將所有網路protocol都傳遞過來,可能需要Client Bridge mode的AP上再設定一個PPPoE Relay,不過這部份現階段仍然沒有設定成功,2007-06-20這個版本的軔體,pppoe-relay似乎有問題,不然就是client bridge環境太怪異,pppoe-relay不支援。
家裡網路架構之變化-1(MPD+pf設定檔與心得)
FreeBSD PF 心得:
FreeBSD PF 推薦網址如下:
==================================================================
我的pf.conf的主體是參考
http://72.14.235.104/search?q=cache:uLgfqA9R6c4J:fangshen.hwai.edu.tw/%3Fp%3D24+freebsd+pf%E8%AA%AA%E6%98%8E&hl=zh-TW&ct=clnk&cd=3&gl=tw&lr=lang_zh-TW&client=firefox
這裡除了很簡要的設定之外,最下面的指令介紹我到現在還經常上google查
FreeBSD 5.3 Release PF 初體驗
這裡的防掃描偵測不錯,不過我沒用就是了,他的指令更完整....
http://netflow.kmseh.gov.tw/blog/index.php?op=ViewArticle&articleId=6&blogId=1
(失聯)
FreeBSD handbook的PF教學,這一定要看的,他的重點是跟你說kernel怎麼選會支援pf.....ALTQ有哪些~~~
FreeBSD 使用手冊 Chapter 27 防火牆
這篇很容易被查到,我好像看了好幾次了... = =||
他對pf的介紹還不錯
FreeBSD-我的 PF 學習筆記
這是大陸的善心人士,他們把pf的man 給翻譯成簡體了~
pf中文手冊(for openbsd,但同樣適用FREEBSD)
==================================================================
看的順序則建議如下:
==================================================================
先看handbook瞭解pf要怎麼編譯進去~~
FreeBSD 使用手冊 Chapter 27 防火牆
再來看介紹
FreeBSD-我的 PF 學習筆記
之後大致瞭解pf的架構(Macro、Table...等一堆的語法順序),接著需要個樣板,參考主體
http://72.14.235.104/search?q=cache:uLgfqA9R6c4J:fangshen.hwai.edu.tw/%3Fp%3D24+freebsd+pf%E8%AA%AA%E6%98%8E&hl=zh-TW&ct=clnk&cd=3&gl=tw&lr=lang_zh-TW&client=firefox
從主體中可以知道變數的定義方式,然後特別注意,有分單一的變數和多個的變數,接著可以這個,它對NAT、防火牆的定義講解的比較簡單,ALTQ一律先跳過,這東西每個人說得都不同,因為他有好幾種~
http://freebsd.ntut.idv.tw/document/freebsd_pf_nat.html
最後看上面或下面的網址,知道指令怎麼下
http://netflow.kmseh.gov.tw/blog/index.php?op=ViewArticle&articleId=6&blogId=1
而翻成簡體的pf man文件,則可以用來查
pf中文手冊(for openbsd,但同樣適用FREEBSD)
==================================================================
mpd可以先抄我的來改,之後再去看......基本上就是sample改的~
至於ALTQ.....我建議先不要用........
ALTQ很多人寫法差異很大,因為ALTQ是QoS的名稱....它裡面有好幾種演算法,每種演算法的設定參數和方式都不同.........
mpd.conf
mpd.links
pf.conf
FreeBSD PF 推薦網址如下:
==================================================================
我的pf.conf的主體是參考
http://72.14.235.104/search?q=cache:uLgfqA9R6c4J:fangshen.hwai.edu.tw/%3Fp%3D24+freebsd+pf%E8%AA%AA%E6%98%8E&hl=zh-TW&ct=clnk&cd=3&gl=tw&lr=lang_zh-TW&client=firefox
這裡除了很簡要的設定之外,最下面的指令介紹我到現在還經常上google查
FreeBSD 5.3 Release PF 初體驗
這裡的防掃描偵測不錯,不過我沒用就是了,他的指令更完整....
http://netflow.kmseh.gov.tw/blog/index.php?op=ViewArticle&articleId=6&blogId=1
(失聯)
FreeBSD handbook的PF教學,這一定要看的,他的重點是跟你說kernel怎麼選會支援pf.....ALTQ有哪些~~~
FreeBSD 使用手冊 Chapter 27 防火牆
這篇很容易被查到,我好像看了好幾次了... = =||
他對pf的介紹還不錯
FreeBSD-我的 PF 學習筆記
這是大陸的善心人士,他們把pf的man 給翻譯成簡體了~
pf中文手冊(for openbsd,但同樣適用FREEBSD)
==================================================================
看的順序則建議如下:
==================================================================
先看handbook瞭解pf要怎麼編譯進去~~
FreeBSD 使用手冊 Chapter 27 防火牆
再來看介紹
FreeBSD-我的 PF 學習筆記
之後大致瞭解pf的架構(Macro、Table...等一堆的語法順序),接著需要個樣板,參考主體
http://72.14.235.104/search?q=cache:uLgfqA9R6c4J:fangshen.hwai.edu.tw/%3Fp%3D24+freebsd+pf%E8%AA%AA%E6%98%8E&hl=zh-TW&ct=clnk&cd=3&gl=tw&lr=lang_zh-TW&client=firefox
從主體中可以知道變數的定義方式,然後特別注意,有分單一的變數和多個的變數,接著可以這個,它對NAT、防火牆的定義講解的比較簡單,ALTQ一律先跳過,這東西每個人說得都不同,因為他有好幾種~
http://freebsd.ntut.idv.tw/document/freebsd_pf_nat.html
最後看上面或下面的網址,知道指令怎麼下
http://netflow.kmseh.gov.tw/blog/index.php?op=ViewArticle&articleId=6&blogId=1
而翻成簡體的pf man文件,則可以用來查
pf中文手冊(for openbsd,但同樣適用FREEBSD)
==================================================================
mpd可以先抄我的來改,之後再去看......基本上就是sample改的~
至於ALTQ.....我建議先不要用........
ALTQ很多人寫法差異很大,因為ALTQ是QoS的名稱....它裡面有好幾種演算法,每種演算法的設定參數和方式都不同.........
mpd.conf
startup:
# configure the console
set console port 5005
set console ip 0.0.0.0
set console user ycfu sister
set console open
# configure the web server
set web port 5006
set web user ycfu sister
set web open
#
# Default configuration is "myisp"
default:
#PPPoE Relay設定
rnew r1 PPPoE-in PPPoE-out
#載入PPPoE撥接設定
load PPPoE
#
# PPPoE client example (see also mpd.links.sample entry "PPPoE")
#
PPPoE:
new PPPoE PPPoE
set iface route default
set iface disable on-demand
set iface idle 0
set iface enable tcpmssfix
set iface up-script /usr/local/etc/mpd4/mpd_init.sh
set ipcp yes vjcomp
set link max-redial 0
set link mtu 1492
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set bundle disable multilink
set auth authname ooxxoox@ip.hinet.net
set link no acfcomp protocomp
set link disable pap chap
set link accept chap
set ipcp enable req-pri-dns
set ipcp enable req-sec-dns
set link keep-alive 10 60
openmpd.links
#
# For our PPPoE connection, using Ethernte interface "fxp1"
# Often the service is ignored. If yours is required, replace
# the "whatever" string with your PPPoE service string.
#
PPPoE-in:
set phys type pppoe
set pppoe iface ste0
set pppoe service ""
set pppoe enable incoming
PPPoE-out:
set phys type pppoe
set pppoe iface ste1
set pppoe service ""
set pppoe enable originate
set pppoe disable incoming
PPPoE:
set phys type pppoe
set pppoe iface ste1
set pppoe service ""
set pppoe enable originate
set pppoe disable incomingpf.conf
#===================== 介面與變數設定 ================
ext_if = "ng0"
int_if = "ste1"
out_bw = "20Mb" # 要做 QoS 要設定頻寬總量(總上傳頻寬20Mb)
in_bw = "100Mb" # 下載頻寬(總下載頻寬100Mb)
ack_bw = "19.6Mb" # TCP ACK 的頻寬設定(ack頻寬保留2%, 0.4Mb)
internal_net = "192.168.0.0/16"
ycfu_pc = "192.168.1.1" # 個人PC區域網路IP
file_server = "192.168.1.6" # 檔案伺服器區域網路IP
media_server = "192.168.1.7" # MediaCenter區域網路IP
# 表格區,同上也是變數定義,但可以定義多個位址
ftp_port="{21,2201,20021}"
# Linux aMule
linux_amule_port = "{4712, 4662, 4665, 4672}"
windows_emule_port = "{4771, 4772, 4775}"
windows_telnet_ssh = "1024"
bittorrent_port = "1045"
windows_vnc_port = "{7800, 7801, 7802, 7803, 7804, 7805, 7900, 7901, 7902, 7903, 7904, 7905}"
file_nx_port = "5901"
media_nx_port = "5902"
web_port = "{1000, 1001}"
bbonline_port = "{2927, 2896, 2897, 2898, 2899}"
# 針對 Echo Request 即 icmp type 8 如 ping 做出回應
icmp_types = "echoreq"
#===================== 選項設定區 ================
set loginterface $ext_if
#set optimization normal #一般的網路環境
#set optimization high-latency #高反應時間的網路
set block-policy return
set limit { states 30000, src-nodes 30000, frags 15000 }
# scrub 重新整理
scrub in all
scrub out on $ext_if max-mss 1452 # PPPoE 時,MSS (Maximum Segment Size) 的設定
#===================== ALTQ QoS ================
# Queueing: rule-based bandwidth control.
#altq on $ext_if bandwidth 2Mb cbq queue { dflt, developers, marketing }
#queue dflt bandwidth 5% cbq(default)
#queue developers bandwidth 80%
#queue marketing bandwidth 15%
# TCP ACK 設置
#(因為上下傳不對稱,當上傳滿載時就會影響下載)
#(原因在於 TCP「下載」時,需要回應「上傳」ACK,上傳已經滿載了,ACK自然送不出去)
#(透過 ALTQ QoS,我們可以設定 TCP ACK 有高於所有封包的優先權)
#關於 TCP ACK 可以參考:http://www.chweng.idv.tw/swintro/cfos.php
#關於 pf ALTQ 設定 TCP ACK 可以參考:http://www.benzedrine.cx/ackpri.html
#(測試中)
altq on $ext_if priq bandwidth $ack_bw queue { ack_pri, def_pri}
queue ack_pri priority 7
#queue ssh_pri priority 2
queue def_pri priority 1 priq(default)
#altq on $ext_if priq bandwidth $out_bw queue { max_out }
#queue max_out priority 2 priq(default)
#queue file_server_p2p priority 1 priq # File Server 的預設優先權最低 (限制 P2P 用)
#queue file_server_std priority 2 priq # File Server 的其他 Port 優先權一般
#queue default_std priority 2 priq
#altq on $ext_if priq bandwidth $in_bw queue { max_in }
#queue max_in priority 1 priq(default)
#===================== NAT 設定區 ================
# 基本設定
nat on $ext_if from $internal_net to any -> ($ext_if)
# Port 對應
# rdr: packets coming in on $ext_if with destination $external_addr:1234 will
# be redirected to 10.1.1.1:5678. A state is created for such packets, and
# outgoing packets will be translated as coming from the external address.
rdr on $ext_if proto tcp from any to any port $linux_amule_port -> $file_server
rdr on $ext_if proto udp from any to any port $linux_amule_port -> $file_server
rdr on $ext_if proto tcp from any to any port $bittorrent_port -> $file_server
#rdr on $ext_if proto tcp from any to any port $windows_vnc_port -> $ycfu_pc
rdr on $ext_if proto tcp from any to any port $windows_telnet_ssh -> $ycfu_pc
rdr on $ext_if proto tcp from any to any port $bbonline_port -> $ycfu_pc
rdr on $ext_if proto tcp from any to any port $file_nx_port -> $file_server
rdr on $ext_if proto tcp from any to any port $media_nx_port -> $media_server
rdr on $ext_if proto tcp from any to any port $web_port -> $file_server
# IP 對應
# 參照: http://blog.chinaunix.net/u/10047/showart_218183.html
#web_serv_int = "192.168.1.100"
#web_serv_ext = "24.5.0.6"
#binat on tl0 from $web_serv_int to any -> $web_serv_ext
# 解決 FTP 問題
# 參考 http://www.chinaunix.net/jh/5/879515.html
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"
rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021
anchor "ftp-proxy/*"
#antispoof for $ext_if inet
#===================== 防火牆規則區 ================
pass in all
pass out all
# 搭配 ALTQ QoS 的防火牆設定
#block on $ext_if proto tcp from any to any # 先將所有 TCP 封包擋住,之後兩個再作 QoS
pass out on $ext_if proto tcp from $ext_if to any flags S/SA keep state queue ( def_pri, ack_pri )
pass in on $ext_if proto tcp from any to $ext_if flags S/SA keep state queue ( def_pri, ack_pri )
#pass out on $ext_if proto tcp from any to any port 22 keep state queue ssh_pri #無作用
#pass out on $ext_if proto tcp from 192.168.1.6 to any port $linux_amule_port keep state queue p2p_pri
#pass out on $ext_if proto tcp from 192.168.1.6 to any port $bittorrent_port keep state queue p2p_pri
#pass out on $ext_if proto { tcp, udp } from $file_server to any queue (file_server_p2p, file_server_std)
#pass in on $ext_if proto { tcp, udp } from any to $file_server queue (file_server_p2p, file_server_std)
#pass out on $ext_if proto { tcp, udp } from $ext_if to any flags S/SA keep state queue ( max_out )
#pass out on $ext_if proto { tcp, udp } from any to $ext_if flags S/SA keep state queue ( max_in )
# block all incoming packets but allow ssh, pass all outgoing tcp and udp
# connections and keep state, logging blocked packets.
#block in log all
#pass in on $ext_if proto tcp from any to $ext_if port 22 keep state
#pass out on $ext_if proto { tcp, udp } all keep state
# pass incoming packets destined to the addresses given in table .
#pass in on $ext_if proto { tcp, udp } from any to port 80 keep state
# pass incoming ports for ftp-proxy
#pass in on $ext_if inet proto tcp from any to $ext_if user proxy keep state
# assign packets to a queue.
#pass out on $ext_if from 192.168.0.0/24 to any keep state queue developers
#pass out on $ext_if from 192.168.1.0/24 to any keep state queue marketing
家裏網路架構之變化-1(改用MPD+pf)
話說前陣子辦了中華電信的FTTB之後,速度真的是快非常多阿~~
不比較還好,一比較就深深地為東森(亞太)那爛到爆炸的網路品質感到非常不爽,之前竟然可以忍耐這麼久,人真是容易滿足.... = =||
辦了中華電信的FTTB之後,發現之前的NAT主機(PII-300 64MB RAM FreeBSD 5.5-STABLE)不太夠力了,這真的是讓人感到不可思議,因此打算更換電腦,目前已經更新完成,換成了前任桌機K7度龍800,並且make world將FreeBSD更新到6.2-STABLE。
這次換FTTB之後,之前的網路設定幾乎重新設定了,在使用東森時,因為是用DHCP,不需要PPPoE撥接,這也是我遲遲不願意換ISP的主要原因,畢竟要將設定上手,要一點時間,這會造成網路無法使用的窘境。
原本使用東森時,使用DHCP取得IP,並使用IPFilter來建置NAT防火牆,現在則改為使用MPD進行PPPoE撥接,並使用pf來建置NAT防火牆,雖然IPFilter已經是kernel級的NAT了,可是它不具備QoS的能力,而pf是FreeBSD自5.5開始,從OpenBSD移植來的防火牆,它提供ALTQ來進行QoS的管制。
這次的設定更新其實很循序漸進,一開始先使用FreeBSD內建的ppp進行PPPoE撥接,並使用內建的NAT功能(使用最早期的natd完成),但是它是使用者層級的PPP撥接程式,它的NAT(natd)也是使用者層級的防火牆,很吃系統資源,因此逐步改為MPD+IPFilter,之後再改為MPD+pf。
升級到pf之後,照例對QoS進行些微設定,參照了
http://www.chweng.idv.tw/swintro/cfos.php
http://www.benzedrine.cx/ackpri.html
這兩個網頁後,簡單的對TCP ACK進行優先權設定,看起來是有點效果的,至少chw來時,我問他,然後當場用2個FileZilla對ftp.adsl.hinet.net進行上傳和下載,下載能夠維持在全速,上傳則會浮動的變化,這看來應該就是有效了~
再更新了軟體之後,這時候自然而然的,會想知道全速下載、上傳時,系統的負載量如何~
很驚人的,出現了令人意外的情況。
在PII-300的電腦上,當全速在下載時(每秒1.1~1.2MBytes),使用top來監測,發現雖然系統的Load幾乎都是0.0x,可是CPU的interrupt竟然高達30%,甚至出現過40%,這表示當全速在下載時,FreeBSD的系統中,CPU有1/3甚至到接近1/2的時間都在進行中斷操作,這是否意味著CPU花了大量的時間在切換kernel mode和user mode?
因此,我決定更新電腦,因為在10M/2M的寬頻中,10M的下載速度(1.2MBytes)就會讓CPU這麼忙碌了,如果未來更新到20M、30M、50M甚至100M時,PII-300似乎是無法擔負這樣的工作量了。
現在更新到K7之後,在全速下載時,CPU的interrupt降低到了10%上下,大約是9%~11%之間跳動,情況好了很多~
不過我也想了一下,interrupt的數量可能並沒有減少,但是因為K7-800的時脈比PII-300高了2倍~3倍,有可能因此讓interrupt佔據CPU的時間相對減少了1/3。
此外,在使用了MPD之後,現在使用MPD最新版本4.3版後,也增加了新的功能,那就是PPPoE-Relay。
所謂的PPPoE-Relay,它和DHCP Relay類似,它們都可以將網路protocol的資訊進行轉發,PPPoE Relay可以將PPPoE的訊息轉發出來,而DHCP Relay則可以將另一個網路段的DHCP Server資訊轉發到這個網路段。
PPPoE Relay的功能簡單的說,就是可以讓NAT下面的電腦,也可以進行PPPoE的撥接,這樣一來,只要我想要真實IP,我可以在任何時候,用中華電信的撥接帳號、密碼,直接用PPPoE撥接來取得真實IP,而且這樣的操作,不會影響到目前的工作,像是網路芳鄰...等,都不會因此斷線,MSN則是會瞬斷後重連。
不比較還好,一比較就深深地為東森(亞太)那爛到爆炸的網路品質感到非常不爽,之前竟然可以忍耐這麼久,人真是容易滿足.... = =||
辦了中華電信的FTTB之後,發現之前的NAT主機(PII-300 64MB RAM FreeBSD 5.5-STABLE)不太夠力了,這真的是讓人感到不可思議,因此打算更換電腦,目前已經更新完成,換成了前任桌機K7度龍800,並且make world將FreeBSD更新到6.2-STABLE。
這次換FTTB之後,之前的網路設定幾乎重新設定了,在使用東森時,因為是用DHCP,不需要PPPoE撥接,這也是我遲遲不願意換ISP的主要原因,畢竟要將設定上手,要一點時間,這會造成網路無法使用的窘境。
原本使用東森時,使用DHCP取得IP,並使用IPFilter來建置NAT防火牆,現在則改為使用MPD進行PPPoE撥接,並使用pf來建置NAT防火牆,雖然IPFilter已經是kernel級的NAT了,可是它不具備QoS的能力,而pf是FreeBSD自5.5開始,從OpenBSD移植來的防火牆,它提供ALTQ來進行QoS的管制。
這次的設定更新其實很循序漸進,一開始先使用FreeBSD內建的ppp進行PPPoE撥接,並使用內建的NAT功能(使用最早期的natd完成),但是它是使用者層級的PPP撥接程式,它的NAT(natd)也是使用者層級的防火牆,很吃系統資源,因此逐步改為MPD+IPFilter,之後再改為MPD+pf。
升級到pf之後,照例對QoS進行些微設定,參照了
http://www.chweng.idv.tw/swintro/cfos.php
http://www.benzedrine.cx/ackpri.html
這兩個網頁後,簡單的對TCP ACK進行優先權設定,看起來是有點效果的,至少chw來時,我問他,然後當場用2個FileZilla對ftp.adsl.hinet.net進行上傳和下載,下載能夠維持在全速,上傳則會浮動的變化,這看來應該就是有效了~
再更新了軟體之後,這時候自然而然的,會想知道全速下載、上傳時,系統的負載量如何~
很驚人的,出現了令人意外的情況。
在PII-300的電腦上,當全速在下載時(每秒1.1~1.2MBytes),使用top來監測,發現雖然系統的Load幾乎都是0.0x,可是CPU的interrupt竟然高達30%,甚至出現過40%,這表示當全速在下載時,FreeBSD的系統中,CPU有1/3甚至到接近1/2的時間都在進行中斷操作,這是否意味著CPU花了大量的時間在切換kernel mode和user mode?
因此,我決定更新電腦,因為在10M/2M的寬頻中,10M的下載速度(1.2MBytes)就會讓CPU這麼忙碌了,如果未來更新到20M、30M、50M甚至100M時,PII-300似乎是無法擔負這樣的工作量了。
現在更新到K7之後,在全速下載時,CPU的interrupt降低到了10%上下,大約是9%~11%之間跳動,情況好了很多~
不過我也想了一下,interrupt的數量可能並沒有減少,但是因為K7-800的時脈比PII-300高了2倍~3倍,有可能因此讓interrupt佔據CPU的時間相對減少了1/3。
此外,在使用了MPD之後,現在使用MPD最新版本4.3版後,也增加了新的功能,那就是PPPoE-Relay。
所謂的PPPoE-Relay,它和DHCP Relay類似,它們都可以將網路protocol的資訊進行轉發,PPPoE Relay可以將PPPoE的訊息轉發出來,而DHCP Relay則可以將另一個網路段的DHCP Server資訊轉發到這個網路段。
PPPoE Relay的功能簡單的說,就是可以讓NAT下面的電腦,也可以進行PPPoE的撥接,這樣一來,只要我想要真實IP,我可以在任何時候,用中華電信的撥接帳號、密碼,直接用PPPoE撥接來取得真實IP,而且這樣的操作,不會影響到目前的工作,像是網路芳鄰...等,都不會因此斷線,MSN則是會瞬斷後重連。
2007年7月3日
變形金剛、美國現況與世界工廠
這次週末和難得從美國回來的當兵同學一起去看變形金剛。
變形金剛不愧是夢工廠的作品,相當的好看,個人覺得還頗好笑,片中有相當多的橋段諷刺美國的現況。
一個有趣的橋段是,在前線的特種部隊被壞的變形金剛攻擊,經過一番波折終於找到一隻手機,立刻撥電話到美國國防部要求增援,緊接著它用分割畫面來表示接電話的另一端,不是美國國防部,而是一個印度阿三,此時印度阿三用著純正的美國腔,一手修指甲一手接電話,並慢條斯理的問它,你現在的電話是需要付費的,你是否要用信用卡付費?是VISA還是Master?然後又問,需不需要使用折扣方案...etc,經過了好半天才轉接到美國國防部。
看得出來導演對於美國的產業外移並不喜歡,提個橋段來諷刺美國的產業都外移到印度去了,連接個電話的工作都在印度。
其實現在全世界的先進國家都面臨了相同的問題,台灣也是,產業不外移,大環境的競爭拼不過,公司遲早倒閉,產業外移了,一個國家除了空殼外,還剩下什麼?
反過來想想,不斷的外移,導致依賴性變得很高,就像吸毒一樣,一旦對方獅子太開口時,該怎麼辦?
目前我們親愛的扁政府,限制產業外移,卻導致產業都偷偷地跑光了,這次小馬哥提出的經濟統一,將高科技產業留下,我個人是十分的支持的,事實上就是如此,讓市場回歸到市場機制,沒有一個電子公司會願意無私的將最完整的科技放在大陸,就好像現在最常見的情況是,日本現在不製造了,他們全力在設計、研發,製造交給台灣,台灣負責cost down之後大量生產,以台日合作,來和韓國的三星這樣的超大型公司競爭,在這樣的策略聯盟下,我依然不相信日本會無私的將最最先進的技術交給台灣,除非日本認為台灣自己有能力做,只是不願意花時間、金錢,或者日本根本就認為台灣不可能設計得出來。
因為今日的盟友,可能會變成明日的敵人,所以一定會有些妥協和堅持。
大陸也是一樣,大陸是全世界的製造工廠,但是各家公司都不會把公司最新進的技術放在那裡,一定會透過一些方式來控管。
變形金剛不愧是夢工廠的作品,相當的好看,個人覺得還頗好笑,片中有相當多的橋段諷刺美國的現況。
一個有趣的橋段是,在前線的特種部隊被壞的變形金剛攻擊,經過一番波折終於找到一隻手機,立刻撥電話到美國國防部要求增援,緊接著它用分割畫面來表示接電話的另一端,不是美國國防部,而是一個印度阿三,此時印度阿三用著純正的美國腔,一手修指甲一手接電話,並慢條斯理的問它,你現在的電話是需要付費的,你是否要用信用卡付費?是VISA還是Master?然後又問,需不需要使用折扣方案...etc,經過了好半天才轉接到美國國防部。
看得出來導演對於美國的產業外移並不喜歡,提個橋段來諷刺美國的產業都外移到印度去了,連接個電話的工作都在印度。
其實現在全世界的先進國家都面臨了相同的問題,台灣也是,產業不外移,大環境的競爭拼不過,公司遲早倒閉,產業外移了,一個國家除了空殼外,還剩下什麼?
反過來想想,不斷的外移,導致依賴性變得很高,就像吸毒一樣,一旦對方獅子太開口時,該怎麼辦?
目前我們親愛的扁政府,限制產業外移,卻導致產業都偷偷地跑光了,這次小馬哥提出的經濟統一,將高科技產業留下,我個人是十分的支持的,事實上就是如此,讓市場回歸到市場機制,沒有一個電子公司會願意無私的將最完整的科技放在大陸,就好像現在最常見的情況是,日本現在不製造了,他們全力在設計、研發,製造交給台灣,台灣負責cost down之後大量生產,以台日合作,來和韓國的三星這樣的超大型公司競爭,在這樣的策略聯盟下,我依然不相信日本會無私的將最最先進的技術交給台灣,除非日本認為台灣自己有能力做,只是不願意花時間、金錢,或者日本根本就認為台灣不可能設計得出來。
因為今日的盟友,可能會變成明日的敵人,所以一定會有些妥協和堅持。
大陸也是一樣,大陸是全世界的製造工廠,但是各家公司都不會把公司最新進的技術放在那裡,一定會透過一些方式來控管。
訂閱:
文章 (Atom)