在 Ubuntu Linux 下製作 DVD

首要之務,當然是先作功課,運氣很好,在Digg看到了不錯的文章:Making DVD in Linux
文章裏面主要是介紹DVD styler這套軟體。
看到以後,當然是馬上來試試囉。很遺憾,在我的Ubuntu (Edgy)上裝不起來,官方也沒有對Ubuntu(Edgy)正式提供支援,他只支援到 Dapper 而已。
怎麼辦?就此打退堂鼓?
再次請Google大神出來幫忙,這時才發現,原來Ubuntu(Edgy)裏面已經有打包類似的軟體了,那就是DeVeDe
安裝方法:

sudo apt-get install devede vcdimager mencoder mplayer w32codecs dvdauthor gnomebaker

使用方法:

  1. 點取選單:應用程式 > 影音 ,執行 DeVeDe。
  2. 選取 Video DVD
  3. 右邊清單下有”新增”,會跳出另外一個對話盒,你可以從這邊去選取你要加入的影片,設置影片尺寸、縮放、輸出訊號(NTSC、PAL)等等。
  4. 加入以後,畫面下方會顯示你使用了多少空間。不過據我的經驗,整個放滿以後製作出來的 DVD ISO 檔才約 2.1G。點取右下角的”下一頁”之後,DeVeDe就會開始進行轉檔與製作 DVD ISO 。
  5. 最後再執行GnomeBaker來燒錄產生出來的 ISO檔案即可。

根據今天早上燒製出來的結果,確實可以拿到 DVD Player 上播放。實驗結果成功!
畫面:
Screenshot-DeVeDe (by elleryq)Screenshot-DeVeDe-File properties (by elleryq)

How to install Kyocera Mita KM-3035 in your Ubuntu Linux

公司用的印表機是Kyocera Mita KM-3035的四合一事務機,花了一點時間找到方法,讓它可以在 Linux 下使用。

  1. 請找到並下載 Kyocera_Mita_KM-3035_en.ppd. (用 Google 找!)
  2. 執行系統 > 管理 > 列印
  3. 選擇 “新增印表機”,選取”網路印表機”,然後再選取 HP JetDirect,填入 IP 位址,進入下一步
  4. 選擇”安裝驅動程式”,然後選到剛剛步驟一所下載的Kyocera_Mita_KM-3035_en.ppd,下一步
  5. 指定名稱、說明以後,選擇”套用”即可

接下來的操作其實很像 Windows,你可以用滑鼠右鍵選擇印表機,再選”屬性”去看印表機的各項設定,也可以列印測試頁。
如果覺得怪怪的,可以在終端機下執行 /etc/init.d/cupsys restart,讓 cups 重新載入設定。
我想其他類似 HP 的印表機應該也通用才對。

如何在Ubuntu Edgy上安裝Google toolbar for Firefox

前幾天剛裝好 Ubuntu,想把 FireFox 的一些 Addon 都裝起來,可是卻發現 Google toolbar for Firefox 裝不起來,老是告訴我版本不合。
我:”Google 大神啊~請告訴我為什麼?”
Google 大神啊:”你既有求於我,我必賞賜於你~這就是你要的解答~How to install Google Toolbar for Firefox
是的,國外有人將原來的 Addon 解開以後,修改了一下組態檔,重新包裝起來,再分享出來,安裝這個就可以啦~

聊 Linux 的安裝

以前最熟悉的是 Fedora Core/Red Hat,這套不用說了,算是很簡單的了。
最近呢,則有幸裝了 Debian 3.x,發現跟以前 2.x 比起來,真的是方便很多。
不僅僅是安裝過程有中文,選擇上也很直覺簡單,下載也只要小小的 109M 就可搞定,其他東西大可等到 Base 安裝完成以後,再用 apt-get 來安裝。
基本上跟 Ubuntu 不遑多讓。
裝完以後,突然又興起裝 Linux 熱,於是又下載了 Gentoo 與 OpenSUSE 來玩。
Gentoo 本身網路安裝的話,只要下載 5xM 就搞定,可是安裝與設定上,肯定是讓你頭痛。我以前有裝起來過一次,這次是試到一半就放棄繼續了。不過裝完以後據說效能很好,因為所有套件幾乎都重新在你機器上編譯過。記得官方網站也有提供比較肥大的光碟可以讓你下載,對初學者來說,這應該會比較省事。
OpenSUSE 有提供網路安裝的版本,昨晚試了一下,真是很遜,也無法選擇安裝 Base system 就好,基本上是要下載完所有光碟,會比較好裝。
如果你是初學者,個人是推薦 Debian / Ubuntu / Fedora Core / OpenSUSE 這幾套。

Ubuntu 的 Flash Video 沒聲音?

這幾天迷上Youtube,可是在我 Ubuntu 上的 Firefox 播放影片時,卻像啞巴一樣。
於是我丟 “ubuntu flash sound” 這幾個關鍵字給 Google,於是第一個結果就是我要的答案:
*macewan » Howto fix Firefox Flash Video Sound on Ubuntu Linux Dapper
方法很簡單,先安裝 alsa-oss,然後修改 /etc/firefox/firefoxrc,加上 FIREFOX_DSP=”aoss”。

$sudo install alsa-oss
$sudo vim /etc/firefox/firefoxrc

mencoder

突然對作 DVD 有興趣,畢竟也是要好好利用 Notebook 送的 PowerProducer 軟體與 DVD 燒錄機啊。
以前都是把 mpeg 檔轉成 mpeg4,現在可要反過來了,讓 PowerProducer 可以順利轉成 DVD。

VirtualDub是很方便,只是懶得裝 Codec,也懶得裝大堆頭的 Codec 套件。(自從用了可以通吃的VLC media player以後,就懶了…)
是故,在這方面 Linux 的 MPlayer 就顯得可愛多了。
不但能播放還可以轉檔,摸蜆兼洗褲,一舉兩得。

這裡就貼一下我用來轉 mpeg4 以及現在轉 mpeg 的指令用法:

  • 轉 mpeg 為 mpeg4
    #!/bin/sh
    # usage: mpg2mp4.sh your_mpg your_avi
    VBITRATE=500
    mencoder "$1" -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3
    mencoder "$1" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=$VBITRATE:vpass=1 -oac copy -o "$2"
    mencoder "$1" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=$VBITRATE:vpass=2 -oac copy -o "$2"
    rm -f frameno.avi
    rm -f *.log
    
  • 從 mpeg4 轉 mpeg(可合成字幕)
    #!/bin/sh
    # usage: mp42mpg.sh your_avi your_srt your_mpg
    # msjh.ttf 是微軟提供的中黑體,此處你可改用別的字體。
    # -subcp 是字幕檔所使用的編碼,如果字幕檔是 unicode,可以直接把 -subcp cp950 改為 -unicode,這邊設為 -subcp cp950 表示是 big5。
    mencoder -ovc lavc -oac lavc -of mpeg -mpegopts format=dvd:telecine -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:aspect=16/9 -ofps 24000/1001 -sub $2 -subcp cp950 -o $e -font ~/.fonts/msjh.ttf -subfont-text-scale 3 $1
    

官方的說明文件還蠻清楚的,有不知道怎麼轉的,不妨直接看說明文件。

參考資料:

以 script 產生 5000 首 mp3

5000 首 mp3 ?!
去哪裡生啊,靈機一動,不如使用 script 來產生,快又有效。
最早的一個版本是拿一個樣板的 mp3 來複製,可是又怕內容有版權問題,所以後來改用 Text to Speech 的軟體來將文字轉成聲音…
我的環境:Fecora Core 5
會用到的套件:Festival (text2wave)、lame (轉 wave 為 mp3)、id3tag (為轉好的 mp3 上 id3 tag)。
程式碼如下:

#!/bin/sh
#
# run2.sh
# This script is used to generate short songs.
# You can decide how many songs should be generated by modify LIMITSONGS variable.
#
# Dependency:
# festival (Text to speech by text2wave)
# lame (convert wave to mp3)
# id3tag (tag the generated mp3)
#
# Tested environment:
# Fedora Core 5
#
ITER=1
LIMITSONGS=5002
((TOTAL=LIMITEDSONGS – 1))
while (($ITER text.txt
text2wave -F 19200 -o $WAVEFILE text.txt
lame $WAVEFILE $NEWFILENAME
id3tag –artist=$ARTIST –album=$ALBUM –song=$TITLE –genre=classic –track=$ITER –desc=”generated by script.” –total=$TOTAL $NEWFILENAME
((ITER = ITER + 1 ))
rm -f $WAVEFILE
done
rm -f text.txt
echo “done.”

LIMITESONGS 用來控制要產生的數量。
TEXT 則是要說的文字,目前 festival 還不支援中文,所以只能放一些英文字串。
托福,也因此我學到 bash script 裡面可以運算變數內容,作加減乘除,以前我以為只能運算文字內容而已,真的是不經一事不長一智。

SELinux tip

今天要用到時,才驚覺以前的筆記居然不見了…,努力回想了好一陣子,才想起來。
一般來說,如果不熟的話,最好是關掉 SELinux 選項。
那我為甚麼要用?…..別問了吧….
SELinux 的 policy 真的是複雜,複雜到我實在是不太想看下去。
這裡有個簡單的方法可以幫你產生 policy,首先,先去執行被 SELinux 阻擋的程式,然後執行
#audit2allow -d -o xxx.policy
這會產生 xxx.policy
接著把這個檔案複製到 /etc/selinux/targeted/src/policy/domains/misc/local.te
切到 /etc/selinux/targeted/src/policy/
執行 make reload
這樣就大功告成了。
p.s. 我的環境是CentOS 4.3,RHEL、WHEL、Fedora應該都差不多。

Firewall: lokkit 的設定

進入 console mode 之後,輸入 setup
選到 Firewall configuration (或直接輸入 lokkit)
再選 customize,至此即可設定允許哪些協定進入你 linux 防火牆。
到 Allow incoming 那邊,將協定勾選(按空白鍵勾選,Tab鍵切換)。
如果沒有列出來的,你可能要在 Other Ports 那欄自行輸入。
格式大致是這樣:
protocol_name:[tcp|udp]
拿我家裏的 server 來說,除了勾選 HTTP、SSH 之外,我還自行輸入了
pop3:tcp https:tcp netbios-ssn:tcp microsoft-ds:tcp netbios-ns:udp netbios-dgm:udp
不知道有哪些 protocol 的話,可以用 netstat -a 自己去看。
我也是嘗試之後,才發現 Other ports 那欄的輸入格式可以參考 netstat -a 的結果。