2011年11月29日 星期二

stardict 崩潰問題

stardict 可以直接由 oss 套件庫安裝,所以您只要
# zypper in stardict

就可以安裝了

但是一執行就會崩潰
由終端機執行可看見訊息:
$ stardict
已載入 Espeak 擴充元件。
Dict.cn plug-in loaded.
Spelling plugin loaded.
已載入 Man 擴充元件。
HTML data parsing plug-in loaded.
WordNet dict rendering plug-in loaded.
QQWry plug-in loaded.
Wiki data parsing plug-in loaded.
WordNet data parsing plug-in loaded.
XDXF data parsing plug-in loaded.
PowerWord data parsing plug-in loaded.
[message] Verifying dictionary '/usr/share/stardict/dic/stardict-dictd_www.mova.org_slovnyk_ru-en-2.4.2/dictd_www.mova.org_slovnyk_ru-en.ifo'...
[message] Loading index file: '/usr/share/stardict/dic/stardict-dictd_www.mova.org_slovnyk_ru-en-2.4.2/dictd_www.mova.org_slovnyk_ru-en.idx'...
[message] Loading dictionary file: '/usr/share/stardict/dic/stardict-dictd_www.mova.org_slovnyk_ru-en-2.4.2/dictd_www.mova.org_slovnyk_ru-en.dict.dz'...
[message] Dictionary '/usr/share/stardict/dic/stardict-dictd_www.mova.org_slovnyk_ru-en-2.4.2/dictd_www.mova.org_slovnyk_ru-en.ifo'. Verification result: OK.
[message] Verifying dictionary '/usr/share/stardict/dic/engcom/engcom.ifo'...
[message] Loading index file: '/usr/share/stardict/dic/engcom/engcom.idx.gz'...
[message] Loading dictionary file: '/usr/share/stardict/dic/engcom/engcom.dict.dz'...
[message] Dictionary '/usr/share/stardict/dic/engcom/engcom.ifo'. Verification result: OK.
[message] Verifying dictionary '/usr/share/stardict/dic/stardict-dict/stardict-dict.ifo'...
[message] Resource storage loaded. Type - files.
[message] Loading index file: '/usr/share/stardict/dic/stardict-dict/stardict-dict.idx'...
[message] Loading synonyms file: '/usr/share/stardict/dic/stardict-dict/stardict-dict.syn'...
[message] Loading dictionary file: '/usr/share/stardict/dic/stardict-dict/stardict-dict.dict.dz'...
[message] Dictionary '/usr/share/stardict/dic/stardict-dict/stardict-dict.ifo'. Verification result: OK.
bookname: StarDict dictionary, wordcount 9
bookname: Англо-русский словарь Мюллера, 7-я ред., wordcount 46195
bookname: dictd_www.mova.org_slovnyk_ru-en, wordcount 55820
bookname: Современный свободный словарь компьютерных терминов., wordcount 2389
(Gdk) [critical] IA__gdk_window_set_cursor: assertion `GDK_IS_WINDOW (window)' failed
**
ERROR:compositelookup.cpp:53:void CompositeLookup::send_net_dict_request(const string&, const string&): assertion failed: (NetDictRequests.end() == std::find(NetDictRequests.begin(), NetDictRequests.end(), request))
已經終止

最簡單的暫時解決方法就是移除 stardict_dictdotcn.so
# rm /usr/lib/stardict/plugins/stardict_dictdotcn.so

重新啟動 stardict
$ stardict
XDXF data parsing plug-in loaded.
Spelling plugin loaded.
HTML data parsing plug-in loaded.
QQWry plug-in loaded.
已載入 Man 擴充元件。
已載入 Espeak 擴充元件。
PowerWord data parsing plug-in loaded.
WordNet dict rendering plug-in loaded.
Wiki data parsing plug-in loaded.
WordNet data parsing plug-in loaded.
[message] Verifying dictionary '/usr/share/stardict/dic/stardict-langdao-ce-big5-2.4.2/langdao-ce-big5.ifo'...
[message] Loading index file: '/usr/share/stardict/dic/stardict-langdao-ce-big5-2.4.2/langdao-ce-big5.idx'...
[message] Loading dictionary file: '/usr/share/stardict/dic/stardict-langdao-ce-big5-2.4.2/langdao-ce-big5.dict.dz'...
[message] Dictionary '/usr/share/stardict/dic/stardict-langdao-ce-big5-2.4.2/langdao-ce-big5.ifo'. Verification result: OK.
[message] Verifying dictionary '/usr/share/stardict/dic/stardict-langdao-ec-big5-2.4.2/langdao-ec-big5.ifo'...
[message] Loading index file: '/usr/share/stardict/dic/stardict-langdao-ec-big5-2.4.2/langdao-ec-big5.idx'...
[message] Loading dictionary file: '/usr/share/stardict/dic/stardict-langdao-ec-big5-2.4.2/langdao-ec-big5.dict.dz'...
[message] Dictionary '/usr/share/stardict/dic/stardict-langdao-ec-big5-2.4.2/langdao-ec-big5.ifo'. Verification result: OK.
bookname: Современный свободный словарь компьютерных терминов., wordcount 2389
bookname: StarDict dictionary, wordcount 9
bookname: Англо-русский словарь Мюллера, 7-я ред., wordcount 46195
Save cache file: /usr/share/stardict/dic/stardict-langdao-ce-big5-2.4.2/langdao-ce-big5.idx.oft
bookname: 朗道漢英字典5.0, wordcount 395426
Save cache file: /usr/share/stardict/dic/stardict-langdao-ec-big5-2.4.2/langdao-ec-big5.idx.oft
bookname: 朗道英漢字典5.0, wordcount 423246
[warning] Binding 'x' failed! Already assigned.

(Gdk) [critical] IA__gdk_window_set_cursor: assertion `GDK_IS_WINDOW (window)' failed

雖然仍有錯誤訊息,但是勉強可用

後來又在 http://218.240.28.131/forum/viewtopic.php?f=5&t=946044 看到了一個 patch
試了一下,目前都無崩潰狀況,已提交 Educationhome:opensuse_zh
您也可以在 home:swyear 找到,
執行情況如下:
$ stardict
Wiki data parsing plug-in loaded.
HTML data parsing plug-in loaded.
PowerWord data parsing plug-in loaded.
QQWry plug-in loaded.
Spelling plugin loaded.
WordNet dict rendering plug-in loaded.
已載入 Man 擴充元件。
XDXF data parsing plug-in loaded.
WordNet data parsing plug-in loaded.
Dict.cn plug-in loaded.
已載入 Espeak 擴充元件。
[message] Verifying dictionary '/usr/share/stardict/dic/stardict-dict/stardict-dict.ifo'...
[message] Resource storage loaded. Type - files.
[message] Loading index file: '/usr/share/stardict/dic/stardict-dict/stardict-dict.idx'...
[message] Loading synonyms file: '/usr/share/stardict/dic/stardict-dict/stardict-dict.syn'...
[message] Loading dictionary file: '/usr/share/stardict/dic/stardict-dict/stardict-dict.dict.dz'...
[message] Dictionary '/usr/share/stardict/dic/stardict-dict/stardict-dict.ifo'. Verification result: OK.
bookname: 朗道漢英字典5.0, wordcount 395426
bookname: 朗道英漢字典5.0, wordcount 423246
bookname: 21世紀雙語科技詞典, wordcount 809239
bookname: 21世紀英漢漢英雙向詞典, wordcount 213086
bookname: 懶蟲簡明英漢詞典, wordcount 452184
bookname: 懶蟲簡明漢英詞典, wordcount 119522
bookname: JCEDict, wordcount 19973
Save cache file: /home/ray121/.cache/stardict/stardict-dict.idx.oft
Save cache file: /home/ray121/.cache/stardict/stardict-dict.syn.oft
bookname: StarDict dictionary, wordcount 9
bookname: Современный свободный словарь компьютерных терминов., wordcount 2389
bookname: Англо-русский словарь Мюллера, 7-я ред., wordcount 46195

似乎是解決了崩潰問題



2011年11月27日 星期日

你累了嗎?眼睛動一動吧!


由 openSUSE 12.1 的 bootsplash 所製作的 GIF 動畫
多多照著做可減少眼睛疲勞,減緩近視與老花,增進工作效率,考試都考100分。
而且, Have a lot of fun !

openSUSE 12.1 體驗報告(8)

多媒體支援之章

本來不想寫,因為用過 openSUSE 的人都會知道,後來還是決定寫一下...

openSUSE 12.1 開始,音效系統都改成使用 PulseAudio
所以對 KDE 使用者而言,如果以前音效沒問題,而現在出問題,您可能要從這方面來著手解決

以下使用看圖說故事,主角: openSUSE 12.1 KDE Live CD

參考:
http://opensuse-community.org/Restricted_formats/12.1
http://opensuse-guide.org/codecs.php
這兩個網站有提供了單鍵安裝,點下去後一直按下一步或同意即可

開啟 YaST 的 軟體套件庫


按 新增,加入新的套件庫


選擇 社群套件庫


您需要多選兩個套件庫:一個是 Packman,另一個是 libdvdcss,然後按 確定


接著回到 YaST 開啟 軟體管理


(必修)搜尋 libxine1-codec,點選此軟體


如果出現警告視窗,請選擇 變更廠商(由 openSUSE --> http://packman.links2linux.de)的動作,
按 確定--再試一次


先不要按接受,我們可以等以下全部選完後再按

然後再搜尋 gstreamer,並點選以下套件
gstreamer-0_10-ffmpeg
gstreamer-0_10-fluendo-mp3
gstreamer-0_10-plugins-bad
gstreamer-0_10-plugins-ugly
(以上必修,以下選修)
我還加選了
gstreamer-0_10-fluendo-mpegdemux
gstreamer-0_10-fluendo-mpegmux
gstreamer-0_10-plugins-bad-orig-addon
gstreamer-0_10-plugins-good-extra
gstreamer-0_10-plugins-ugly-orig-addon
如果您想把全部相關的選起來也可以(有必要嗎?),但是提醒您 -debuginfo -debugsource 的東西和程式運作無關


選擇 gstreamer-0_10-fluendo-mp3 時會需要您接受授權聲明,請按 接受


(必修)搜尋 ffmpeg 並選擇它


(必修)選擇 w32codec-all


(必修)如果您還沒裝 flash,您必須安裝 flash-player


同樣也請您接受授權聲明


(必修)libdvdcss2 -- 播放 DVD 必須的


(選修) k3b-codec -- 如果您使用 K3B 燒錄就會需要


請選擇變更廠商(即使降級也沒關係)


(必選) Mplayer -- 預設的播放程式出問題時,通常拿這個來播都播得出來,
通常我們還會選一個它的前端程式,看您要選 smplayer 還是 umplayer (加上語言套件 umplayer-lang)


(選修) gecko-mediaplayer -- 這是一個瀏覽器的多媒體外掛,會用到 Mplayer


(必修) lame


(選修) vlc -- 另一個多媒體播放程式


選完後按 接受
其他和我們所選的相關套件此時會一併安裝


開始安裝了


安裝完後大部分的多媒體均可播放了,
如果有哪個不能播的,可以提出來大家研究研究

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