Sun JDK/JRE在Windows上安裝很方便,但是在Linux上
安裝給很多人造成了不少麻煩,這幾天我查了不少文章,終於總結出一套較為完整的方案。我是在Ubuntu 6.10上試驗的,當然也適合於其他版本的Linux。
Sun發佈的JDK/JRE有兩種版本,一種是.rpm.bin格式的,另一種則是.bin格式的,前者我沒有試,但是我想應該是適合於rpm的,可能會 安裝到/usr裡面去,而且自動化程度可以高一些。後者則完全是綠色軟件,只是做一個解壓的動作。下面我就來講後者的安裝全攻略。
1、首先我們要到Sun的網站上去下載JDK/JRE(點這裡進入),最新的正式版本已經是6.0(也就是1.6),當然老的版本Sun也仍然提供下載,點上面的「Previous Releases」就可以找到了。下載.bin文件,下面假設這個文件的名字是jdk1.x.bin。
2、把安裝文件解壓出來。假設我們下載的文件保存在/opt下。
打開終端,運行以下命令:
引用:
cd /opt |
你會看到版權提示,不管它,按空格鍵翻頁。然後會提示你是否同意版權協議[yes/no],此時輸入yes,[enter],安裝程序就會把文件解壓到當前目錄下的jdk1.x這樣的目錄下面(JRE應該大體相同)。
3、讓JDK/JRE支持中文。由於默認安裝的JDK/JRE不帶中文字體,不支持中文顯示,所以我們要自行修改某些字體相關的配置,讓它們支持中文。
設定字體有兩種方法:
第一種方法是把你的中文字體目錄做個連接到jdk/jre/lib/fonts裡面,這種方法很簡便。看命令:
引用:
cd /opt/jdk1.x/jre/lib/fonts |
為什麼要做fallback這個連接,我也是從網上看到的,我想應該是Sun做的設定吧,設定JDK/JRE在運行時會到這個目錄裡去找那些非西方字體。 這種方法對JDK/JRE 1.4/1.5/1.6都適用,但是由於沒有在fontconfig.properties文件裡面詳細設定字體,所以這種方法顯示出來的字體很難看。
第二種方法是把配置好的fontconfig.properties做個連接到jdk1.x/jre/lib裡面。看命令:
引用:
cd /opt/jdk1.x/jre/lib |
這種方法對JDK/JRE 1.4/1.5/1.6都適用,只不過1.4版本的文件名是font.properties而不是fontconfig.properties。當然你也 可以直接把fontconfig.properties文件複製到/opt/jdk1.x/jre/lib裡面,這樣就不用做連接,但是如果你同時安裝幾 個不同版本的JDK,還是做連接比較方便。在下面我會把我配置好的font.properties和fontconfig.properties的內容貼 出來,大家稍作修改就可以用了。
3、讓Web瀏覽器支持Java Plugin(也就是支持Java Applets)。
做一個連接就可以了。看命令:
引用:
cd /usr/lib/firefox/plugins (Ubuntu的firefox插件目錄在這裡,其它版本以此參考) |
然後運行firefox,在地址欄裡打入about:plugins,[enter],可以看到firefox的plugin列表裡已經有了Java插件。
如果你用的是其它的瀏覽器,方法大體也差不多,就是進入瀏覽器的plugins目錄,做一個連接。不過要注意的是,如果你用的瀏覽器是mozilla 1.4/netscape 7.0以上的版本,用上面的命令沒問題,但是如果你用的瀏覽器是mozilla 1.2/netscape 7.0以下的版本,Sun有提供另一個插件。這樣的話,命令就要改一下了:
引用:
cd /usr/lib/mozilla/plugins |
4、讓Web瀏覽器支持Java Web Start程序。(可選安裝)
如果你不知道Java Web Start程序是什麼,看這裡:
http://www.stcore.com/java/2006/06/1...682d28890.html
所謂安裝,其實就是添加一個mimetype(類似於文件關聯),讓瀏覽器知道,遇到Java Web Start程序該用什麼程序來處理。
對應mozilla/netscape瀏覽器的方法:
點擊選單:Edit->Preferences->Navigator->Helper Applications
然後新建一個mimetype:
mimetype是:application/x-java-jnlp-file
extention是:jnlp
關聯程序是:/opt/jdk1.x/jre/bin/javaws
對應firefox瀏覽器的方法:
由於firefox沒有直接添加mimetype的方法,所以要改的話需要安裝一個Mime Type Editor plugin,看這裡:
http://forums.mozine.org/index.php?showtopic=5521
5、為firefox瀏覽器加入Java Console選單項。(可選安裝)
mozilla/netscape裝好java plugin之後就有Java Console選單項,可以方便地呼叫Java控制台,這對程序員呼叫程序有用。但是firefox還沒有這個選單選項,添加的方法就是解壓一個zip文件 到firefox/extension目錄。現在我們就來添加,看命令:
引用:
cd /usr/lib/firefox/extensions |
重啟firefox,就可以看到工具選單裡多了一個Java Console選單選項。
JDK/JRE 1.5及以下版本並沒有提供這個firefox plugin,如果要安裝的話到這裡安裝:
https://addons.mozilla.org/firefox/141/
6、把Java工具加入系統選單。(可選安裝)
Ubuntu自帶的JDK/JRE會在系統選單中添加兩個Java工具,就是Java Plugin Control Panel和Java Policy Tool。下面我們也為自己安裝的JDK/JRE添加兩個選單項。
在Ubuntu的主選單上點擊右鍵->編輯選單->首選項->新建項目:
第一項:
圖標是:/opt/jdk1.x/jre/plugin/desktop/sun_java.png
名稱是:Java Plugin Control Panel (這個隨便寫)
命令是:/opt/jdk1.x/jre/bin/ControlPanel
第二項:
圖標是:/opt/jdk1.x/jre/plugin/desktop/sun_java.png
名稱是:Java Policy Tool (這個隨便寫)
命令是:/opt/jdk1.x/jre/bin/policytool
7、添加JAVA_HOME/JRE_HOME環境變數。(Java開發人員必備)
這裡以最常用的bash命令解釋器為例,編輯用戶目錄下的.bashrc或.profile文件。如果你想在所有用戶的shell下都生效,就編輯/etc/profile文件。同樣都是加入以下內容:
引用:
export JAVA_HOME=/opt/jdk1.x |
至此,Sun JDK/JRE在Linux上的安裝過程結束。
附錄:font.properties和fontconfig.properties文件內容
注意:我用字體的是從Windows 2003上copy過來的,如果你用其他的字體,就要修改配置文件裡面的一些字體名稱和字體目錄,這個要參照你的字體目錄裡面的fonts.dir或者 fonts.scale來改。即使是Windows的不同版本,比如XP/98什麼的,字體版本可能有所不同,字體名稱可能要作相應修改。如果你也在用從 Windows 2003複製過來的字體,那麼只需要修改字體目錄就行了。修改字體名稱,最快的方法就是尋找/替換了。
字體名稱裡面要注意的一點就是字型集,比如:
-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
這是SimSun宋體,字體名稱後面有iso10646-1,這個是GB18030字型 集,是最新的中文字體標準,支持最多的漢字,你要替換這個字體名稱的話,最好用後面同樣是iso10646-1的字體來替換,其他以此類推。
JDK/JRE 1.4的字體配置文件中我只用到了SimSun字體。1.5以上版本的字體配置文件,可以修改中/日/韓字體,英文字體就不用改了,Sun JDK/JRE自帶Lucida系列字體,只要把字體目錄加一條,指向/opt/jdk1.x/jre/lib/fonts就行了。
附1:font.properties文件內容(JDK/JRE 1.4版本/Windows字體適用)
引用:
# @(#)font.properties.zh_CN.Sun.linux 1.1 |
附2:fontconfig.properties文件內容(JDK/JRE 1.5及以上版本/Windows字體適用)
引用:
#
# fontconfig.properties for Debian/Ubuntu, derived from linux.fontconfig.RedHat.9.0.properties
#
# @(#)linux.fontconfig.RedHat.9.0.properties 1.6
#
# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
#
# Version
version=1
# Component Font Mappings
allfonts.chinese-gb18030=-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
allfonts.chinese-gb18030.motif=-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
allfonts.chinese-big5=-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
allfonts.chinese-big5.motif=-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
allfonts.lucida=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
serif.plain.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
serif.plain.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
serif.plain.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
serif.plain.latin-1=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.plain.latin-1.motif=-b&h-luxi serif-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.bold.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
serif.bold.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
serif.bold.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
serif.bold.latin-1=-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1
serif.bold.latin-1.motif=-b&h-luxi serif-bold-r-normal--*-%d-*-*-p-*-iso8859-1
serif.italic.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
serif.italic.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
serif.italic.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
serif.italic.latin-1=-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1
serif.italic.latin-1.motif=-b&h-luxi serif-medium-i-normal--*-%d-*-*-p-*-iso8859-1
serif.bolditalic.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
serif.bolditalic.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
serif.bolditalic.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
serif.bolditalic.latin-1=-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1
serif.bolditalic.latin-1.motif=-b&h-luxi serif-bold-i-normal--*-%d-*-*-p-*-iso8859-1
sansserif.plain.japanese-x0208=-ricoh-ms gothic-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
sansserif.plain.korean=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-iso10646-1
sansserif.plain.korean.motif=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
sansserif.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.plain.latin-1.motif=-b&h-luxi sans-medium-r-normal--*-%d-*-*-p-*-iso8859-1
sansserif.bold.japanese-x0208=-ricoh-ms gothic-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
sansserif.bold.korean=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-iso10646-1
sansserif.bold.korean.motif=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
sansserif.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bold.latin-1.motif=-b&h-luxi sans-bold-r-normal--*-%d-*-*-p-*-iso8859-1
sansserif.italic.japanese-x0208=-ricoh-ms gothic-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
sansserif.italic.korean=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-iso10646-1
sansserif.italic.korean.motif=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
sansserif.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.italic.latin-1.motif=-b&h-luxi sans-medium-i-normal--*-%d-*-*-p-*-iso8859-1
sansserif.bolditalic.japanese-x0208=-ricoh-ms gothic-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
sansserif.bolditalic.korean=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-iso10646-1
sansserif.bolditalic.korean.motif=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
sansserif.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bolditalic.latin-1.motif=-b&h-luxi sans-bold-i-normal--*-%d-*-*-p-*-iso8859-1
monospaced.plain.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
monospaced.plain.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
monospaced.plain.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
monospaced.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.plain.latin-1.motif=-b&h-luxi mono-medium-r-normal--*-%d-*-*-m-*-iso8859-1
monospaced.bold.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
monospaced.bold.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
monospaced.bold.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
monospaced.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bold.latin-1.motif=-b&h-luxi mono-bold-r-normal--*-%d-*-*-m-*-iso8859-1
monospaced.italic.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
monospaced.italic.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
monospaced.italic.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
monospaced.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.italic.latin-1.motif=-b&h-luxi mono-medium-i-normal--*-%d-*-*-m-*-iso8859-1
monospaced.bolditalic.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
monospaced.bolditalic.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
monospaced.bolditalic.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
monospaced.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bolditalic.latin-1.motif=-b&h-luxi mono-bold-i-normal--*-%d-*-*-m-*-iso8859-1
dialog.plain.japanese-x0208=-ricoh-ms gothic-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
dialog.plain.korean=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-iso10646-1
dialog.plain.korean.motif=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
dialog.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.plain.latin-1.motif=-b&h-luxi sans-medium-r-normal--*-%d-*-*-p-*-iso8859-1
dialog.bold.japanese-x0208=-ricoh-ms gothic-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
dialog.bold.korean=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-iso10646-1
dialog.bold.korean.motif=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
dialog.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bold.latin-1.motif=-b&h-luxi sans-bold-r-normal--*-%d-*-*-p-*-iso8859-1
dialog.italic.japanese-x0208=-ricoh-ms gothic-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
dialog.italic.korean=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-iso10646-1
dialog.italic.korean.motif=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
dialog.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.italic.latin-1.motif=-b&h-luxi sans-medium-i-normal--*-%d-*-*-p-*-iso8859-1
dialog.bolditalic.japanese-x0208=-ricoh-ms gothic-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
dialog.bolditalic.korean=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-iso10646-1
dialog.bolditalic.korean.motif=-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
dialog.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bolditalic.latin-1.motif=-b&h-luxi sans-bold-i-normal--*-%d-*-*-p-*-iso8859-1
dialoginput.plain.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
dialoginput.plain.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
dialoginput.plain.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
dialoginput.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.plain.latin-1.motif=-b&h-luxi mono-medium-r-normal--*-%d-*-*-m-*-iso8859-1
dialoginput.bold.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
dialoginput.bold.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
dialoginput.bold.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
dialoginput.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bold.latin-1.motif=-b&h-luxi mono-bold-r-normal--*-%d-*-*-m-*-iso8859-1
dialoginput.italic.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
dialoginput.italic.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
dialoginput.italic.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
dialoginput.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.italic.latin-1.motif=-b&h-luxi mono-medium-i-normal--*-%d-*-*-m-*-iso8859-1
dialoginput.bolditalic.japanese-x0208=-ricoh-ms mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
dialoginput.bolditalic.korean=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1
dialoginput.bolditalic.korean.motif=-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
dialoginput.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bolditalic.latin-1.motif=-b&h-luxi mono-bold-i-normal--*-%d-*-*-m-*-iso8859-1
# Search Sequences
sequence.allfonts=latin-1
sequence.allfonts.UTF-8=latin-1,chinese-gb18030
sequence.allfonts.Big5=latin-1,chinese-big5
sequence.allfonts.GB2312=latin-1,chinese-gb18030
sequence.allfonts.x-euc-jp-linux=latin-1,japanese-x0208
sequence.allfonts.EUC-KR=latin-1,korean
sequence.allfonts.GB18030=latin-1,chinese-gb18030
sequence.fallback=lucida,chinese-big5,chinese-gb18030,japanese-x0208,korean
# Exclusion Ranges
exclusion.japanese-x0208=0390-03d6,2200-22ef,2701-27be
# 如果你要用的字體不在下面這個目錄裡,也不是這個名稱和文件名,就修改下面這兩段
# 注意filename.-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
# 這句中間不能有空格,如果有空格,用下劃線_替換
# Font File Names
# 這裡用到了Windows 2003複製過來的中/日/韓文字體
filename.-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/truetype/windows/simsun.ttc
filename.-microsoft-batang-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/truetype/windows/batang.ttc
filename.-microsoft-batang-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0=/usr/share/fonts/truetype/windows/batang.ttc
filename.-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/truetype/windows/gulim.ttc
filename.-microsoft-gulim-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0=/usr/share/fonts/truetype/windows/gulim.ttc
filename.-ricoh-ms_gothic-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0=/usr/share/fonts/truetype/windows/msgothic.ttc
filename.-ricoh-ms_mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0=/usr/share/fonts/truetype/windows/msmincho.ttc
# AWT X11 font paths
# 這個是英文字體目錄,如果你的字體目錄不在這裡,請修改
awtfontpath.latin-1=/usr/share/fonts/truetype/ttf-lucida
# 這些是中/日/韓文字體目錄,如果你的字體目錄不在這裡,請修改
awtfontpath.chinese-gb18030=/usr/share/fonts/truetype/windows
awtfontpath.japanese-x0208=/usr/share/fonts/truetype/windows
awtfontpath.korean=/usr/share/fonts/truetype/windows
沒有留言:
張貼留言