2011年11月25日 星期五

openSUSE 12.1 體驗報告(7)

Java 之章

因為授權緣故,openSUSE 12.1 無法由官方提供 Oracle Java
而搭配了 openJDK
基本上使用 openjdk 是沒什麼問題的

您可以先驗證一下您的 java 版本
http://java.com/zh_TW/download/installed.jsp

openjdk 被驗證為 version 6 update 22

看看中國信託的網站:
http://www.win168.com.tw


雖然下方個股資訊是亂碼,但這不是字型設定問題,而是編碼問題,您可以參考舊文
看看師範大學物理系的物理教學示範實驗教室
http://www.phy.ntnu.edu.tw/demolab/

看看 PhET (科羅拉多大學的互動式教學計劃)
http://phet.colorado.edu/
有中文網頁
http://phet.colorado.edu/zh_TW/
可在網頁上執行

也可以下載到電腦上執行,
如果下載的是 *.jnlp ,用 itweb-javaws 執行


如果下載的是 *.jar ,用 java -jar 來執行


Sweet Home 3D 也可以線上執行

我覺得其實感覺還是蠻 OK 的

如果您真的一定要安裝 Oracle Java 當然也是可以
http://http://java.com/zh_TW/ 下載 JAVA

有 RPM 和 自我解壓縮檔,我的建議:不要選 RPM
依照電腦系統架構選擇 32 位元或 64 位元

會提示要開啟一個 bin 檔,請選擇儲存檔案

請注意:
以下是以 64 位元的自我壓縮檔示範
如果您不是 64 位元架構的系統,下載的檔名會不同,
並請將範例中的 lib64 自行改成 lib

切換到檔案下載存放位置,例如 ~/Downloads/
$ cd ~/Downloads/

將下載的檔案加上執行權限
$ chmod +x jre-6u29-linux-x64.bin

執行此檔案,會自動解壓縮
$ ./jre-6u29-linux-x64.bin

產生一個資料夾 jre1.6.0_29
將此資料夾移到 /usr/lib64/jvm/ 底下
$ su
密碼:
# mv jre1.6.0_29 /usr/lib64/jvm/

接下來要用 update-alternatives 來進行設定
說起來有點麻煩,就用下面的 script 吧!
java-alt.sh
#!/bin/bash
####Set your variables here####
JAVADIR="jre1.6.0_29"
SYSLIB="lib64"
PRIORITY="18000"
########

if [ $SYSLIB == "lib64" ] ; then
PLUGINDIR="amd64"
else
PLUGINDIR="i386"
fi

update-alternatives --auto java

update-alternatives --install /usr/bin/java java /usr/$SYSLIB/jvm/$JAVADIR/bin/java $PRIORITY \
--slave /usr/$SYSLIB/jvm/jre jre /usr/$SYSLIB/jvm/$JAVADIR \
--slave /usr/$SYSLIB/jvm-exports/jre jre_exports /usr/$SYSLIB/jvm/$JAVADIR \
--slave /usr/bin/keytool keytool /usr/$SYSLIB/jvm/$JAVADIR/bin/keytool \
--slave /usr/bin/orbd orbd /usr/$SYSLIB/jvm/$JAVADIR/bin/orbd \
--slave /usr/bin/policytool policytool /usr/$SYSLIB/jvm/$JAVADIR/bin/policytool \
--slave /usr/bin/rmid rmid /usr/$SYSLIB/jvm/$JAVADIR/bin/rmid \
--slave /usr/bin/rmiregistry rmiregistry /usr/$SYSLIB/jvm/$JAVADIR/bin/rmiregistry \
--slave /usr/bin/servertool servertool /usr/$SYSLIB/jvm/$JAVADIR/bin/servertool \
--slave /usr/bin/tnameserv tnameserv /usr/$SYSLIB/jvm/$JAVADIR/bin/tnameserv \
--slave /usr/share/man/man1/java.1.gz java.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/java.1 \
--slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/keytool.1 \
--slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/orbd.1 \
--slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/policytool.1 \
--slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/rmid.1 \
--slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/rmiregistry.1 \
--slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/servertool.1 \
--slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/tnameserv.1

update-alternatives --auto javaplugin

update-alternatives --install /usr/$SYSLIB/browser-plugins/javaplugin.so \
javaplugin /usr/$SYSLIB/jvm/$JAVADIR/lib/$PLUGINDIR/libnpjp2.so $PRIORITY \
--slave /usr/bin/javaws javaws /usr/$SYSLIB/jvm/$JAVADIR/bin/javaws

update-alternatives --auto jre_1.6.0

update-alternatives --install /usr/$SYSLIB/jvm/jre-1.6.0 jre_1.6.0 /usr/$SYSLIB/jvm/$JAVADIR $PRIORITY

將上面的文字複製,存成文字檔(例如:java-alt.sh)
要使用之前先修改文字檔中的
JAVADIR="jre1.6.0_29" ---這就是您解壓縮後複製到 /usr/lib(64)/jvm/ 下的目錄
SYSLIB="lib64" ---64 位元的函式庫,若您是 32 位元的系統,請用 "lib"
PRIORITY="18000" ---優先順序,愈大愈優先,因為原本的 openjdk 的優先順序是 17105
然後用 root 執行
$ su
密碼:
# sh java-alt.sh

這樣就安裝完成了

您也可以在此下載這個檔案:http://dl.dropbox.com/u/6331820/java-alt.sh
注意:請務必先依照上面說明修改設定

若要改用原本的 openjdk 可用
# update-alternatives --config java

選擇要使用的 java
# update-alternatives --config javaplugin

選擇要使用的 java-plugin

這時候就會變成 Oracle 版本的 Java 了

不過中文的顯示有點問題

我們可以用 openSUSE 的 java 字型設定 script
因為原本沒有 fontconfig.SuSE.properties 這個檔案
所以先摸一下,有這個檔案後就可以觸發產生適當的字型設定檔
或你也可以用 fallback 的方法,請參考舊文
# touch touch /usr/lib64/jvm/jre1.6.0_29/lib/fontconfig.SuSE.properties
# SuSEconfig --module fonts
Starting SuSEconfig, the SuSE Configuration Tool...
Running module fonts only
Reading /etc/sysconfig and updating the system...
Executing /sbin/conf.d/SuSEconfig.fonts...
Configure X11 to use available CID-keyed fonts ...
Creating fonts.{scale,dir} files .........
/etc/fonts/suse-font-dirs.conf unchanged
/etc/fonts/suse-hinting.conf unchanged
/etc/fonts/suse-bitmaps.conf unchanged
Creating cache files for fontconfig .............................
Creating 32bit cache files for fontconfig .............................
generating java font setup
Warning: cannot find a sans serif Japanese font. Japanese in Java might not work.
Warning: cannot find a monospaced Japanese font. Japanese in Java might not work.
Warning: cannot find a serif Japanese font. Japanese in Java might not work.
Warning: cannot find a sans serif Korean font. Korean in Java might not work.
Warning: cannot find a serif Korean font. Korean in Java might not work.
writing /usr/lib64/jvm/jre/lib/fontconfig.SuSE.properties
Finished.

再啟動就可以看見中文了

再驗證一下

您以經裝上了最新的穩定版 Java

您或許想做一些桌面整合
# cd /usr/lib64/jvm/jre1.6.0_29/lib/desktop/
# cp applications/* /usr/share/applications/
# cp -r icons/* /usr/share/icons/

其中兩個是預設不顯示在選單中的
只有 Java 控制中心會顯示在選單中,稍做修改,
讓他出現在 系統--組態 中,並自行加入翻譯
sun_java.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Java
GenericName=Java Control Panel
GenericName[zh_TW]=Java 控制中心
Comment=Java Control Panel
Comment[zh_TW]=Java 控制中心
Exec=jcontrol
Icon=sun-jcontrol.png
Terminal=false
Type=Application
Categories=Settings;System;SystemSetup;

2011年11月22日 星期二

openSUSE 12.1 體驗報告(6)

Firefox 的 Oxygen 佈景主題
原本的 Firefox 長這個樣子:

請由 Firefox 的 工具--附加元件--搜尋:oxygen
您就可以找到 Oxygen KDE 的佈景主題了

安裝完後重新啟動,您就會看到 Firefox 的新風貌了


次像素字形顯示 subpixel hinting
參考
http://forums.opensuse.org/english/get-technical-help-here/applications/468189-firefox-fonts.html
步驟:
加入 http://repos.opensuse-community.org/subpixel/openSUSE_12.1/ 套件庫
YaST--軟體套件庫--新增--指定 URL--套件庫名稱自訂--位址如上--下一步 就完成了
接著開啟軟體管理
檢視--套件庫--選擇 subpixel (或您自己的命名)
選取 fontconfig-feature-subpixel-hinting
然後按上方的『切換系統套件』
重新登入
我覺得字變得清晰了

多媒體播放我用了 umplayer 和 vlc
以前習慣用的 smplayer 在播放老婆的 DV 傳過來的影片時畫面停格
但是直接用 mplayer 就不會
用 kaffeine 則只有一開始有聲音

把 Nepomuk 搜尋模組也停用了

如果想用 scim(-bridge) 可以直接使用,在安裝中文語系時就會自動安裝
但是 12.1 DVD 中附的 scim 沒有包含 gtk3-im-module 的補釘
所以在 gtk3 應用程式中會使用 xim 的備用模式,
您可以將 scim 及 scim-bridge 套件升級到 M17N 的套件庫中的
就可以在 GNOME 3 中輸入,也會在 GNOME 3 的系統匣顯示
若要使用 scim-bridge:
$ echo "export INPUT_METHOD=scim-bridge" >> ~/.profile

遇到 gtk3 應用程式時會 fallback 到 scim 模組
若要使用 scim:
$ echo "export INPUT_METHOD=scim" >> ~/.profile

scim 輸入法在 gnome 3 運作的圖
寄件者 gnome 3 input method

要在桌面搜尋有個小技巧,輸入中文後 Ctrl+space 切換成英文,就會送出字
不過因為無法選字,實用效果不大
寄件者 gnome 3 input method

gedit 中可以輸入,表示 gtk3 輸入模組有正確載入
寄件者 gnome 3 input method

gcin 在 gnome 3 下運作的情況
寄件者 gnome 3 input method

寄件者 gnome 3 input method

ibus 在 gnome 3 運作的情況:
寄件者 gnome 3 input method

寄件者 gnome 3 input method

ibus-chewing 在 libreoffice-gnome 界面下會崩潰
您可以移除這個套件,界面看起來會不大一樣而已
寄件者 gnome 3 input method

安裝了 ibus-gjs 後,用 gnome-tweak-tool (Advanced Settings) 來開啟
寄件者 gnome 3 input method

這是一個 ibus 在 gnome 3 的整合界面,不會顯示個別輸入法而是顯現您的語系
寄件者 gnome 3 input method

2011年11月21日 星期一

openSUSE 12.1 體驗報告(5)

郵件列表論壇 都會有許多人提供許多的情報,
我許多跟大家報告的東西都是由 ML 和 論壇 來的,

如果閱讀英文沒問題,您至少可以訂閱 opensuse@opensuse.org
寫一封空白郵件到 opensuse+subscribe@opensuse.org 即完成訂閱
要發問則寫信到 opensuse@opensuse.org
主要以英文討論為主

openSUSE 中文郵件列表: opensuse-zh@opensuse.org
寫一封空白郵件到 opensuse-zh+subscribe@opensuse.org 即完成訂閱
要發問則寫信到 opensuse-zh@opensuse.org
繁簡體中文皆可,目前此郵件列表蠻冷清的,
您可用中文發問,
您也可以寫個自我介紹發上來,我想大家也會歡迎的

論壇主要以英文溝通為主
若要使用中文討論
請到中文子論壇(繁簡中文通用): http://forums.opensuse.org/ae-ae-chinese/

nvidia 顯示卡驅動程式套件庫已經上線
請由 YaST--軟體套件庫--新增--社群套件庫--nVidia Graphics Drivers 來新增
請選擇並安裝適合您的『顯示卡』及『 核心類型』的套件
請參考: openSUSE NVIDIA drivers
我個人的經驗是安裝完後重開機即可直接使用,不需額外設定

停用 Apper
如果常跳出一個視窗說要設定 network proxy 要您輸入密碼
http://forums.opensuse.org/english/get-technical-help-here/applications/468131-why-authentication-required-set-network-proxy.html
您可以停用 Apper (這樣也會造成系統不會自動搜尋更新,您就要勤快手動更新了)
由 KDE 選單--系統設定--啟動與關閉--服務管理程式--取消使用 Apper Monitor

安裝 gcin
現在 gcin 可以從 M17N 套件庫安裝
http://download.opensuse.org/repositories/M17N/
openSUSE 的多國語言相關套件都是由此開發
使用以下指令:
# zypper ar obs://M17N/openSUSE_12.1 m17n
# zypper ref m17n
# zypper in gcin
正在載入套件庫資料...
讀取已安裝的套件...
正在解決套件相依性...

將會安裝下列新的套件:
gcin gcin-branding-openSUSE gcin-gtk3-immodule gcin-qt4-immodule libreoffice-gnome

5 新套件將被安裝.
全部下載大小: 2.5 MiB。 完成操作後,將增加 10.2 MiB 的使用。
要繼續嗎? [y/n/?] (y): y

我使用了 http://hyperrate.com/dir.php?eid=218 中的 kai-mono 圖示作為預設的圖示
如果您想要用上游 gcin 使用的圖示,請安裝 gcin-branding-upstream

KDE 的使用者若沒有在 gtk3-base 應用程式輸入的需求,
gcin-gtk3-immodule 不見得要安裝,
同理,GNOME3 的使用者也不一定需要 gcin-qt4-immodule,
但是終端使用者可能不見得知道,因為基本桌面安裝時,系統中都有足夠的函式庫
加上 openSUSE 12.1 預設就使用 KDE4 或 GNOME3
所以就一併請大家都安裝了

值得一提的是, openSUSE 又重新提供了 KDE3 的應用程式
如果您的應用程式套件是 kde3 開頭的,您會需要 gcin-qt3-immodule,這就要請您自行安裝了

64 位元架構的系統,若要在 32 位元應用程式中輸入,則需自行加裝 -32bit 的部份

另外 gcin 無法在 libreoffice-kde 中正確游標跟隨(輸入視窗固定在左上角,這樣會害我被老婆罵)
所以我也強制加了 libreoffice-gnome 的相依性
並在 gcin 的啟動程序中強制 libreoffice 使用 gnome 介面
如果您不是使用 gcin 時,libreoffice 則不會被影響,仍依照您系統預設來啟動相對應介面

home:swyear 套件庫仍繼續提供 gcin 套件
基本上我目前的做法是先在 home:swyear 打包,
自己試用一陣子沒問題,才會送到 M17N


gcin 現在也會自動出現在 GNOME 3 的系統匣,不需另外設定

openSUSE 12.1 體驗報告(4)

kopete 的 MSN 協定無法連線
https://bugzilla.novell.com/show_bug.cgi?id=729478
這應該會有更新,所以過一陣子應該就沒問題了
如果急著用可以到
http://software.opensuse.org/search?q=libmsn&baseproject=openSUSE%3A12.1&lang=zh_TW&exclude_debug=true
搜尋 libmsn
然後下載 libmsn0_3-4.1-10.3.test.****.rpm
用 rpm -Uvh libmsn0_3-4.1* 安裝,
重新啟動 kopete 即可

安裝 skype
請參考 http://zh_tw.opensuse.org/SDB:Skype
因為是 32 位元程式,若要在 64 位元架構系統中正常輸入中文
可能需要安裝 32 位元版的輸入模組
例如: ibus-qt-32bit , scim-bridge-qt-32bit , scim-qtimm-32bit , gcin-qt4-immodule-32bit
以 gcin 為例,若未安裝 32 位元模組,輸入法視窗會卡在左上角

安裝了 32 位元模組後,就正常了


安裝 dropbox
仍依照以前的方法安裝:
http://swyear.blogspot.com/2010/06/kde4-dropbox.html
http://swyear.blogspot.com/2010/06/dropbox-servicemenu.html
要注意的是使用 dropbox-servicemenu 時,要安裝 sqlite3 複製網址的動作才能正常運作
另一個小問題是用命令啟動時,會出現
(dropbox:8614): Gtk-WARNING **: /home/ray121/.dropbox-dist/libstdc++.so.6: version
`GLIBCXX_3.4.11' not found (required by /usr/lib64/gtk-2.0/2.10.0/engines/liboxygen-gtk.so)

倒也是能正常啟動
只是選單無法套用 oxygen-gtk 佈景

您可以用系統的 libstdc++.so.6 來代替
$ cd ~/.dropbox-dist
cp libstdc++.so.6 libstdc++.so.6-orig
cp /usr/lib(64)/libstdc++.so.6 .

注意您的函式庫位置是 lib 或 lib64
重新啟動後選單就 OK 了(為什麼 12.1 都在搞 theme 啊)

如您要換 dropbox 的圖示,他們都在
~/.dropbox-dist/icons/hicolor/16x16/status/
我把他們換成這組:
http://gnome-look.org/content/show.php?content=124426


其他常駐在系統匣的圖示
可以在這邊找到:
http://kde-look.org/content/show.php?content=135874
下載檔案後,將他們放在
~/.kde4/share/apps/desktoptheme/default/icons/ 底下即可

2011年11月20日 星期日

openSUSE 12.1 體驗報告(3)

gtk3-theme GTK3 應用程式在 KDE 中
因為 KDE 似乎沒有適合的 webcam app
所以我都會安裝 cheese

預設使用的佈景主題是 Adwaita
您可以將他改成 oxygen-gtk
修改 /etc/gtk-3.0/settings.ini

[Settings]
gtk-theme-name = Adwaita

改成
[Settings]
gtk-theme-name = oxygen-gtk

(使用者個人設定在 ~/.config/gtk-3.0/settings.ini)
看起來就搭配多了

但是目前 openSUSE 12.1 的 oxygen-gtk 尚未完全支援 gtk3 佈景
所以看起來仍有一些不搭配
如果您想試試看 oxygen-gtk3
網站: https://projects.kde.org/projects/playground/artwork/oxygen-gtk
要取得程式碼請用
git clone -b gtk3 git://anongit.kde.org/oxygen-gtk


請注意: oxygen-gtk3 套件和 nm-applet 一起使用時會造成 nm-applet 在某些狀況下當掉

若嫌自行編譯麻煩,可使用以下指令安裝 rpm:
# zypper ar obs://home:swyear/openSUSE_12.1 swyear
# zypper in oxygen-gtk3

就會變成這樣:

好多了

2011年11月19日 星期六

openSUSE 12.1 體驗報告(2)

接著上次的 ibus 的問題,
您會不會覺得 ibus 選單的樣式怪怪的

好像是 ~/.gtkrc-2.0-kde4 中的設定沒有套用到 ibus 上
您可以
$ cd$ cat .gtkrc-2.0-kde4 > .gtkrc-2.0

將 KDE 的設定寫入 ~/.gtkrc-2.0
如果您要作全域的設定
在 /etc/gtk-2.0/gtkrc
將 gtk-theme-name = "Adwaita" 改成 gtk-theme-name = "oxygen-gtk"
如下看起來比較正常吧!


無線網路連線需要 root 密碼?
請參考
https://bugzilla.novell.com/show_bug.cgi?id=713639
更新:根據 https://bugzilla.novell.com/show_bug.cgi?id=716291 中的暫時解決方案修改了內容
注意:以下設定雖然避免輸入 root 密碼,但是我不確定會有什麼安全上的問題,自行斟酌
用 root 身份編輯 /etc/polkit-default-privs.local
加上
org.freedesktop.NetworkManager.network-control         auth_admin:auth_admin:yes
org.freedesktop.NetworkManager.settings.modify.own auth_admin:auth_admin:yes
org.freedesktop.NetworkManager.settings.modify.system auth_admin:auth_admin:yes
org.freedesktop.NetworkManager.wifi.share.protected auth_admin:auth_admin:yes
org.freedesktop.NetworkManager.wifi.share.open auth_admin:auth_admin:yes
org.freedesktop.ModemManager.Device.Control auth_admin:auth_admin:yes
org.freedesktop.packagekit.system-network-proxy-configure auth_admin:auth_admin:yes

*更新:根據瑪格麗特蘇的留言,加上了有關 system-network-proxy-configure 的敘述,可以防止 Apper 一直要求 proxy 的驗證。

然後執行
/sbin/set_polkit_default_privs

KDE 選單回到上一層的方式和以前不同
請看圖中的滑鼠位置:


dolphin 預設不顯示選單
如果您需要選單,用滑鼠點選方式可能會失敗


請直接使用鍵盤上的快捷鍵 Ctrl+M 設定

筆記型電腦的觸控版預設沒有啟用在觸控板上點擊(Tapping)
請到系統設定--輸入裝置--Touchpad--Tapping--Tapping with one finger--Left mouse button


家目錄中有些中文目錄,我是十分贊成的,
只是我有時下載檔案後要用終端機執行
如果在 X 中,即使是終端機也是可以打中文,只是比較麻煩
但是有次我下載了 Nvidia 驅動程式...
所以我都會將"下載"這個目錄作一個英文連結
$ ln -s 下載/ Downloads

為了方便起見,您也可以將中文目錄放在前面
由 檢視--排序依據--遞減


然後是 konsole 的萬年問題
我都會將字型選擇"真實的字型名稱"(而非通用名稱 Monospace)
在英文環境時,並不會有這種問題


最後提供一個小訣竅:
剛開始裝機完成時,總會常常要加入套件庫、安裝新軟體之類的
而 KDE 的更新工具(11.2 是 Apper)也開始工作,常常就會衝突
每次問你要不要叫 Packagekit 關閉,但從來沒成功過
這時您可以按 Ctrl+Esc 呼叫系統活動
搜尋 packagekit,然後結束行程


今天報告到此為止, Have a lot of fun !