2008年4月27日 星期日

有關 Firefox 的plugins on Ubuntu

REF:
http://blog.xuite.net/ericsk0313/ubuntu/5247881

在使用 Ubuntu 時,它預設使用的網頁瀏覽器就是 Firefox,現在各式各樣的網頁都會內嵌一些多媒體物件,比方說 flash 或是播放音樂影片等等。從前要在 Linux 上裝這一類網頁的 plug-in 都是一種夢魘,不過現在這一切都變得很容易了!

在 Ubuntu Linux 裡面,Mozilla/Firefox 的 plug-in 會安裝的地方主要有三個目錄:
  • /usr/lib/mozilla/plugins
  • /usr/lib/mozilla-firefox/plugins
  • $HOME/.mozilla/plugins
其中 $HOME 指的是你個人的 home 目錄(比方說,帳號是 abcd 的話,那 $HOME 指的就是 /home/abcd),因為各個套件預設安裝的位址不太一樣,所以最好確定一下這些目錄都存在。

Flash player plug-in:

當 你瀏覽含有 flash 物件的網頁時,Firefox 會提示你是否要安裝 flash player plugin,如果你的 $HOME/.mozilla/plugins 目錄存在的話,那就可以順利安裝好。但要注意的是,別忘了利用 apt-get 或是 synaptic 來安裝 gsfonts-x11 這個軟體,才能讓 flash player 能夠顯示文字。

mplayer plug-in:

如 果你使用 Ubuntu Dapper 之後的版本,那應該可以在套件管理中找到 mozilla-mplayer 這個套件來安裝,不過它會安裝在 /usr/lib/mozilla/plugins 這個目錄下,如果你發現裝完之後沒辦法使用,那就可以在 $HOME/.mozilla/plugins 裡建立那些檔案的 link。(範例:在 $HOME/.mozilla/plugins 目錄下打 ln -s /usr/lib/mozilla/plugins/mplayerplug-in* 就好了。
倘若你是使用 Ubuntu Breezy ,那可以到 Project網站 下載來自行編譯安裝。

Java Runtime Environment:

如果你從 Java 的官方網站上 下載了 JDK 或 JRE 回來安裝,那可以在目錄中找到 plugin 的目錄,在其中的 desktop 目錄下,修改 sun_java.desktop 這個檔案,設定執行 java 的路徑,然後再從 GNOME 下的檔案瀏覽器去點擊這個檔案兩下,就可以設定好 Mozilla/Firefox 中的 jre plugin

然後在 mozilla 的 plugins 目錄中打 ln -s $JRE_HOME/plugin/i386/ns7/libjavaplugin_oji.so

相 信裝好這些 plugin 之後就可以讓你使用 Firefox 輕鬆瀏覽許多網頁了(當然,如果該網頁的設計是 for IE only 的,那可能就沒那麼輕鬆了),這裡介紹了 Firefox 安裝 plugin 的方式(你可以在 firefox 的網址列輸入 about:plugins 來檢視你安裝了哪些 plugins),如果有些 plugins 沒辦法順利安裝的話,起碼可以先知道該怎麼初步解決。
========================================
for current my ppc only
#apt-get install libflash*
#mkdir ~/.mozilla/plugins
#ln -s /usr/lib/mozilla/plugins/libflash-mozplugin.so ~/.mozilla/plugins/libflash-mozplugin.so

FAQ:Ubuntu 正體中文站 討論區

Q:檔案瀏覽器 有時候會無法更改檔名!
檔案瀏覽器 有時候會無法更改檔名,
情況是說,當你選擇了一個檔案後,按下F2(或用滑鼠右鍵選單的重新命名),
此時 該檔名會變為反白,可是,不管您怎麼輸入,鍵盤看起來就像是沒反應
可是按 鍵盤的上下鍵,檔案瀏覽器的選取項目就移到上方或下方的檔案了,
但是,我如果將檔案瀏覽器關掉重開後,馬上照上述的方法改檔名就可以正常的修改...
A:
vi ~/.profile
加入這兩行,
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
登出 > 重新登入
輸入法跑掉了的關係
不加那兩行,還可以在改檔名(或是需要輸入文字的地方)
按滑鼠右鍵選擇輸入法來解決
REF:here

totem看影片需知(含rmvb)

http://noviceworld.blogspot.com/2007/09/totem.html
http://help.ubuntu.org.cn/index.php?title=UbuntuHelp:Medibuntu/zh&variant=zh-tw (w32codecs )
RMVB:
http://bbs.linuxsir.org/thread195990.html
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?viewmode=flat&type=&topic_id=539&forum=22
字幕:
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?post_id=374
http://www.study-area.org/apt/firefly-font/

這篇文章蠻完整的
==================

關於ubuntu看影片的問題
我今天做了一個報告
雖然我只報告了字幕那一段
但我還是把他看各個檔案的流程po出來
想必大家有在使用ubuntu的使用者
並不可能只有上上網打打字而已
應該也會享受其影音生活
相信大家在開啟影片檔時
有很多副檔名不能啟用ex:rm avi等等
這時我們可以更改及增加一些軟體來啟用及開啟字幕
首先 我們要先移除舊版的totem
sudo apt-get remove totem
再安裝totem-xine
sudo apt-get install totem-xine
再安裝必要的函式庫→這是為了可以播放avi格式檔案
sudo apt-get install libxine1*
接著我們下載codec
wget http://www.debian-multimedia.org/pool/main/w/w32codecs/w32codecs_20061022-0.0_i386.deb
接著就安裝codec
sudo dpkg -i w32codecs_20061022-0.0_i386.deb
安裝完後記得執行一次totem-xine後會多出一個~/.xine/catalog.cache
編輯這個設定檔
sudo vim ~/.xine/catalog.cache
修改設定檔內的/usr/lib/xine/plugins/1.1.4/xineplug_decode_real_audio.so項目
並將其decoder_priority選項改為10→此更改是為了播放rmvb時能有聲音
再來就是字幕的問題
因為 totem 使用的字型預設放在 /usr/share/xine/libxine1/fonts,
但是沒有中文字型,所以得利用 xine-fontconv 這工具來製作,
ubuntu沒有包這個工具,但是可以抓 xine-lib 原始碼裡面的 xine-fontconv.c 來編譯:
apt-get source xine-lib
接著進入xine-lib-1.1.4/misc
cd xine-lib-1.1.4/misc
再來編譯xine-fontconv.c
gcc -o xine-fontconv xine-fontconv.c `freetype-config --cflags --libs` -lz
接著利用編出來的 xine-fontconv 來製作 totem 可以使用的中文字型,
用法如下:
我是用蘋果電腦的LiHei_Pro來製作
./xine-fontconv /usr/share/fonts/truetype/LiHei_Pro.ttf LiHei_Pro big-5
上面ttf字型位置及後面製作出來的字型名稱是看個人字型位置及想製作出的名稱而異
接著會產生LiHei_Pro-16.xinefont.gz , LiHei_Pro-20.xinefont.gz , LiHei_Pro-24.xinefont.gz
LiHei_Pro-32.xinefont.gz , LiHei_Pro-48.xinefont.gz , LiHei_Pro-64.xinefont.gz等六種大小的字型檔案
再丟到 /usr/share/xine/libxine1/fonts 就好;
接著編輯 ~/.gnome2/totem_config,修改底下部份:
# tiny small normal large very large huge
# 分別對應到剛剛的六個大小字型,
# 我全螢幕看電影感覺用 large 差不多
subtitles.separate.subtitle_size:large
# 這是字幕位置離最底端的距離,40 也差不多適合全螢幕
subtitles.separate.vertical_offset:40
# 這是剛剛自訂的字型名稱
subtitles.separate.font:LeHei_Pro
# 字型編碼
subtitles.separate.src_encoding:big-5
這樣就一切OK了喔!

2008年4月26日 星期六

ubuntu on Mac Mini (G4)

REF:
http://stephon.wordpress.com/2006/11/08/ubuntu-on-mac-mini-g4/
http://millenniumdark.blog.ubuntu.org.cn/2007/08/page/5/
https://player.helixcommunity.org/2005/downloads/
http://www1.mplayerhq.hu/MPlayer/releases/codecs/
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?topic_id=7273
http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId=72&blogId=1

設定MPlayer與其他的codecs

官網 的codecs link中抓for powerpc的codec

解壓縮以後, 丟到/usr/lib/win32底下,

realvideo部份, 到這裡抓檔解壓以後(

#apt-get install libstdc++5 libstdc++5-3.3-dev
#chmod +x realplay-10.0.5.756-linux-2.2-libc6-gcc32-powerpc.bin
#sudo ./realplay-10.0.5.756-linux-2.2-libc6-gcc32-powerpc.binsudo

), 只要把codecs目錄下的所有檔案也丟到/usr/lib/win32底下,

wmv部份, 參考jserv大的說明, 編完後同樣丟到/usr/lib/win32下.

基本上大部分的video都能看了.

=====================================

更快速的方式就是直接使用totem

讓系統自已找並自動抓相對映的codec,很方便

比較麻煩是是加字幕,小弟建議用可直接從xime-lib自已建立fonts或copy已有的

#apt-get install dpkg-dev
#apt-get source xine-lib
#cp ./xine-lib-1.1.4/misc/fonts/sans* /usr/share/xine/libxine1/fonts
#vi ~/.gnome2/totem_config

如下:
# tiny small normal large very large huge
# 分別對應到剛剛的六個大小字型,
# 我全螢幕看電影感覺用 large 差不多
subtitles.separate.subtitle_size:large
# 這是字幕位置離最底端的距離,40 也差不多適合全螢幕
subtitles.separate.vertical_offset:40
# 這是剛剛cp的字型名稱
subtitles.separate.font:sans
# 字型編碼
subtitles.separate.src_encoding:utf8
#可以使用iconv -f big-5 -t utf-8 xxx.big5.srt >xxx.utf8.srt 來轉.srt檔

=====================================

2008年4月17日 星期四

Shell 無知的雜記

字串變數比對
if [ "$A" =="$B" ] then
echo "ok"
fi

置換單字
echo "ABC" |tr "A" "R"

變數加總

times=0

until [ "$times" = 3 ];

do

echo "I love linux."

sleep 2

times=`expr $times + 1`

done



REF:http://b123.hlc.edu.tw/shellscript.htm

2008年4月16日 星期三

Ubuntu便民雜記

TAB 自動找可補的參數如 :make [按TAB] "出現可以補的參數"
#/etc/bash.bashrc
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
=============================================================

VirtualDub使用

REF:
http://club.ntpu.edu.tw/ntpuccc/lecture/vd2tmpg/index.htm
http://club.ntpu.edu.tw/ntpuccc/lecture/
VirtualDub直接輸出TMPGEnc編碼
北大卡漫社制作,相當細心的文件。

2008年4月15日 星期二

Win32截圖軟體-MWSnap, screen capture utility

臨事要用~~小工具,還不錯用唷!!
http://www.mirekw.com/winfreeware/mwsnap.html

GCC 函式追蹤功能

REF:
http://www.katdc.com/kosforum/download.htm
http://blog.linux.org.tw/~jserv/archives/001870.html
http://www-128.ibm.com/developerworks/cn/linux/l-graphvis/
http://www.study-area.org/cyril/opentools/opentools/gcc.html

透過 GCC Function instrumentation 的機制。該機制出現於 GCC 2.x
#include <stdio.h>
#define DUMP(func, call) \
printf("%s: func = %p, called by = %p\n", __FUNCTION__, func, call)

void __attribute__((__no_instrument_function__))
__cyg_profile_func_enter(void *this_func, void *call_site)
{
DUMP(this_func, call_site);
}
void __attribute__((__no_instrument_function__))
__cyg_profile_func_exit(void *this_func, void *call_site)
{
DUMP(this_func, call_site);
}

main()
{
puts("Hello World!");
return 0;
}
編譯與執行:
$ gcc -finstrument-functions hello.c -o hello
$ ./hello
__cyg_profile_func_enter: func = 0x8048468, called by = 0xb7e36ebc
Hello World!
__cyg_profile_func_exit: func = 0x8048468, called by = 0xb7e36ebc

2008年4月14日 星期一

Vertical Blanking Interval (VBI)

REF:http://chentravel.blogspot.com/2006/12/vertical-blanking-interval-vbi.html
垂直回掃期

我們通常收看的電視圖像是由電子槍發射的電子串高速轟擊顯像管上的螢光物質而產生的,電子串按從左至右,從上至下的方式掃瞄整 個屏幕,因為速度十分快,所以我們的眼睛感覺不到,當電子槍的掃瞄位置從左上角達到右下角時,必須由右下角回到左上角,開始下一次掃瞄,從右下角回到左上 角所花費的時間就是垂直回掃期,這一段時間對於設備來說是一個浪費,因此人們想了辦法來利用這一段時間,電視台可以利用這一時間發送一些不可顯示信息,如 果您使用過圖文電視(Teletext)您就會立刻明白,為什麼圖文電視卡要接收電視信號,電視卡可以解讀這一信息,而電視不能,這種信息就是利用垂直回掃期發送的,電視卡通 過RS-232端口將接收到的不可顯示信息傳送給計算機,由計算機加以處理,這就是圖文電視的原理,也就是說,電視台利用垂直回掃期發送一些不可顯示的信 息,而圖文電視卡將這種信息接收下來,經過解碼發送到計算機內由計算機處理。

這種信息傳送稱為VBI信息傳送,對於這種信息的傳送的一個 開放的國際標準,稱為北美基本圖文說明(North American Basic Teletext Specification,NABTS),它用於歐洲,南美和遠東地區,其它的標準還有WST,Gemstar和Nielsen。

2008年4月9日 星期三

ftp server: proftpd

~/sudo apt-get install proftpd
~/sudo /etc/init.d/proftpd start
standalone nor in inetd/xinetd
#記得要將自已的home設為根目錄
# chroot environment you would do this:
DefaultRoot ~

REF:
http://linux.vbird.org/linux_server/0410proftpd.php
http://gentoo-wiki.com/HOWTO_ProFTPD

2008年4月8日 星期二

Makefile 語法簡介

REF:
http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId=185
注意:
[1]
if [空白 -f foo空白 ]; then rm foo; fi
[2]
變數 $$i
for i in $(SUBDIRS); do
(cd $$i && make);
done



2008年4月7日 星期一

Makefile.am, Makefile.in, Makefile文件之間關係

REF:
http://cax.bloghi.com/2006/08/03/makefile-am-makefile-in-makefilea-a-a-e-a-c.html
http://www.ccw.com.cn/htm/app/linux/develop/01_7_25_7.asp



Makefile.am, Makefile.in, Makefile文件之間關係以及aclocal, automake, autoconf等命令作用的探究

aclocal # 產生 aclocal.m4
libtoolize --force
automake --add-missing # 根據Makefile.am生成Makefile.in
autoconf # 根據configure.in 生成configure
autoheader

為了弄清楚automake等一系列命令的作用,專門蒐集並閱讀了一些相關資料。並通過下面一個小例子,熟悉了一下這些GNU工具的使用:

例子:在/hello/目錄下創建一個hello.c文件,並編譯運行它:

#cd /hello/

(1) 編寫源文件hello.c:

include
int main(int argc, char** argv)
{
printf("Hello, GNU!n");
return 0;
}

(2) #autoscan
->生成 configure.scan 和 autoscan.log

(3) 將configure.scan 修改為 configure.in:

# Process this file with autoconf to produce a configure script.
AC_INIT(hello.c)
AM_INIT_AUTOMAKE(hello, 1.0)

# Checks for programs.
AC_PROG_CC

# Checks for library functions.
AC_OUTPUT(Makefile)

(4) #aclocal
->生成 aclocal.m4 和 autom4te.cache (生成aclocal.m4的過程中涉及到configure.in)

(5) #autoconf
->生成 configure (根據 configure.in, 和 aclocal.m4)

(6) 編寫Makefile.am:

AUTOMAKE_OPTIONS= foreign
bin_PROGRAMS= hello
hello_SOURCES= hello.c

(7) #automake --add-missing
->生成 Makefile.in, depcomp, install-sh, 和 missing (根據 Makefile.am, 和 aclocal.m4)

(8) #./configure
->生成 Makefile, config.log, 和 config.status