Fedora 12 大邁進

  趁著換新電腦,直接把系統換成Fedora 12,發現有很多東西已經簡化了好多,更容易處理了。接下來又要開始更新筆記了。


[FC12]NVIDIA顯示卡的驅動

參考資料來源: http://forums.fedoraforum.org/showthread.php?t=204752
    以下資料來自 Fedora 官網論壇的強者legih123linux, 我覺得很受用,在此在大意轉述成中文,希望和我一樣身受驅動不起來的痛苦者可以解脫. 以下的做法是針對 Fedora 12。
    Fedora 9、10、11可以參考http://forums.fedoraforum.org/showthread.php?t=204752 , 這裡面有列出使用方法。

不支援以下清單
RIVA TNT
RIVA TNT2/TNT2 Pro
RIVA TNT2 Ultra
Vanta/Vanta LT
RIVA TNT2 Model 64/Model 64 Pro
Aladdin TNT2
GeForce 256
GeForce DDR
Quadro
GeForce2 GTS/GeForce2 Pro
GeForce2 Ti
GeForce2 Ultra
Quadro2 Pro

支援的型號請參考這裡
http://us.download.nvidia.com/XFree86/Linux-x86_64/190.42/README/appendix-a.html



1. 首先要把rpmfusion的檔案倉庫加入到系統的檔案倉庫清單.
若是GeForce 6, 7, 8, 9 & 200 系統顯示卡的驅動方式
指令如下


# su rpm -Uvhhttp://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpmhttp://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm


如果電腦的RAM是4GB以上(含4G),請跟著PAE的部份做


# yum install kmod-nvidia xorg-x11-drv-nvidia-libs.i686


如果使用的是PAE Kernel的話


# yum install kmod-nvidia-PAE


若是GeForce FX 的顯示卡則使用以下的指令


# su rpm -Uvhhttp://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpmhttp://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
# yum install kmod-nvidia-173xx xorg-x11-drv-nvidia-173xx-libs.i686


PAE Kernel的部份需用


# su rpm -Uvhhttp://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpmhttp://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
# yum install kmod-nvidia-173xx-PAE


GeForce 4以下的顯示卡如下


# su rpm -Uvhhttp://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpmhttp://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
# yum install kmod-nvidia-96xx xorg-x11-drv-nvidia-96xx-libs.i686


PAE Kernel


# su rpm -Uvhhttp://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpmhttp://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
# yum install kmod-nvidia-96xx-PAE



2. 編輯grub.conf
    在開機指令的後面再加上 rdblacklist=nouveau ,可以直接執行以下指令,由指令來加入。


# su -
# sed -i '/root=/s|$| rdblacklist=nouveau|' /boot/grub/grub.conf
# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname-r)-nouveau.img
# dracut /boot/initramfs-$(uname -r).img $(uname -r)


如果使用PAE Kernel再加一個 add vmalloc=256m比較好,可以用以下指令添加vmalloc=256m到/boot/grub/grub.conf裡


# su -
# sed -i '/root=/s|$| vmalloc=256m|' /boot/grub/grub.conf


3. 避免SElinux不讓driver載入所以要執行以下指令。(或者是SElinux關閉)


# su
# setsebool -P allow_execstack on


4. 重新開機


 


 


PS.我的顯示卡是 NVIDIA GT9500EN


 


如果有朋友使用的筆記電腦是Sony品牌的話,請參考一下Spark網友的寶貴資料
http://spark-tux.blogspot.com/2010/02/sony-cw16.html


[FC 11]NVIDIA的Linux Driver,開啟硬體加速

  在我的PC裝上Fedora 11後,一直被一個問題困擾著。就是顯示卡的效能很差,彷彿沒有作用似的全用軟體在模擬著3D畫面。就連撥放個800X600的影片也很容易出現lag,而且cpu的使用率超高。如果想知道你的Linux是不是有開啟3D硬體加速,可以參考“今天的 Tetralet 又在唧唧喳喳了 - Linux 的模擬世界 (三) - 3D 硬體加速”這篇(如果系統裡找得到Xorg.conf的系統適用)。


  可是在Fedora 11下有另一個問題,就是在預設安裝下是沒有/etc/X11/Xorg.conf這個檔案的。原本以為是我裝錯了,在Fedora Forums爬了文才發現原來Fedora 11真的沒Xorg.conf,所以我也搞不清楚到底我的硬體加速有沒有開起來。


  所以我朝向另一個方向思考,把Fedora 11的Driver換掉,改用NVIDIA官版的驅動程式,以下的動作可能有無法啟動或是顯示卡無法正常運作的風險,要使用前最好能備份系統和做好心理準備。


NVIDIA驅動程式下載參考網址


請依各系統的顯示卡分別下載所需要的驅動程式,我的顯卡是GeForece 3 Ti-200,所以我就是下載“Legacy releases for GeForce 2 through GeForce 4 series GPUs”這一個,x86版本x86_64版本。這裡有一份各驅動程式有支援的清單


下載後會有一個名稱為“NVIDIA-Linux-x86-96.43.14-pkg1.run”的檔案,執請先讓檔案擁有執行的權限。使用以下指令


# chmod 755 NVIDIA-Linux-x86-96.43.14-pkg1.run


  到這一步後先別急著執行他,因為在X Server還在運作時是無法執行的。需要先將系統的Run Level設成3後,重新開機。這個動作會使得X Window完全沒有啟動,也就是進入完全的指令模式,看不到任何的視窗界面。所以如果是新手的話,最好能先有心裡準備。


  要將系統Run Level設定改變的話,需要變更“/etc/inittab”這個檔案,使用你熟悉的文字編輯器開啟“/etc/inittab”。尋找類似以下的內容:


# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon


這段的意義是指定開機時的Run Level為5,只要將內容的5改為3,如下:


# Run xdm in runlevel 5

x:3:respawn:/etc/X11/prefdm -nodaemon


存檔後重新開機就可以了。這裡千萬要注意別改成0或是6,若是改成0就會開不了機,因為Run Level 0是指關閉系統,而6是指重新開機,若錯改成6就會不停的重新開機。


  感謝SFC網友的提醒,這個部份是有比較簡單的方法,使用root權限直接執行


# init 3


接下來系統就會切換到runlevel 3


自動重新開機後,就會看到指令模式的登入畫面。將執行目錄切換到檔案“NVIDIA-Linux-x86-96.43.14-pkg1.run”存在的目錄,使用root權限執行“NVIDIA-Linux-x86-96.43.14-pkg1.run”。


# sudo ./NVIDIA-Linux-x86-96.43.14-pkg1.run


接下來安裝程式會自己搞定一切,包括設定出一個新的Xorg.conf,完成後再將“/etc/inittab”改回原來的 5 。再重新開機,應該就可以看到一個流暢的X window。記得一定要記得改回 5 哦!!!這樣才能回到X window的操作模式下。 接下來就可以下reboot重新開機或是執行 init 5 回到X Window下就完成了。




pidgin中文出現亂碼

pidgin一般使用時都還蠻正常的, 可是在某些情況下會出現對方傳來的訊息變成亂碼, 可是有些朋友的訊息卻不會. 這似乎是由於msn訊息的格式所造成的. 可以依以下的步驟處理.


到【模組】中,勾選「交談視窗用色」這個模組,然後到右下角進行模組細節設定,在對話盒中勾選「忽略收到訊息中的自訂格式」即可。


gmail出現system encountered a problem #500 的問題

    這陣子firefox在使用gmail時很容易出現system encountered a problem #500的問題,但是剛好firefox一連升級了幾次,所以有點摸不著頭緒是那裡出了問題,但是很明顯的並不是網路造成的。因為其他的連線都很正常,所以一直懷疑是不是升級失敗了。後來想想最近只有新裝了一個套件(cookiepie),就是可以進行多重登錄email信箱的套件。試著把他關掉後發現,這個錯誤就沒有了,google了一下才發現,原來受害者還不只有我而已。哈...遇到同樣問題的朋友也把cookiepie disable一下看看,等確定要用時再enable,不然就要等看看新版會不會把這個bug


Bash Shell下String變數的Substring

在Shell下如果要取字串中的一部份字串可用以下的寫法,
假設一字串為
kk1=abcde
如果要將bcd取出, 從a開始為第0個, b為第1個, 取三位.

echo ${kk1:1:3}

畫面就會出現
bcd


Linux C的localtime函式問題

  
剛好前陣子工作時遇到一個讓我找了一整天的BUG,在這裡跟大家分享一下,免得以後還有其他受到這個問題的殘害。在C語言的library中,在 linux 下的時區的設定是利用TZ這個環境變數來指定,如果TZ環境變數沒有設定,則會以/etc/localtime為主。
/etc/localtime檔案可能是個符號連結到一個時區設定檔,或是一個真實檔案。大部份linux系統會將環境變數指向
/etc/localtime,“TZ=/etc/localtime”,再藉由/etc/localtime來指向時區檔案。在C語言中,如果時區發現變化,會使用 tzset() 涵數讓系統重新讀取到新的時間,但這個動作並無法發揮作用,導致/etc/localtime產生變化後,而 localtime() 仍然會使用舊的時區來讀取時間。tzset() 會 reset 三個C的內部變數,分別為 tzname丶timezone丶daylight。在此提供一個方法避開這個問題,因為tzset()無法成功的 reset 這三個變數,使得 localtime() 察覺不到時區的變化。
範例如下:
    時間12:00
    環境變數:
    TZ=”/etc/localtime”
    時區檔案:
    /etc/localtime -> /mnt/html/zoneinfo/GMT+08:00
    透過date指令得到的時間為12:00
    透過localtime()涵數讀取到的時間為12:00

    現將/etc/localtime指向新的時區檔案:
    /etc/localtime -> /mnt/html/zoneinfo/GMT+06:00
    透過date指令得到的時間為10:00
    透過localtime()涵數讀取到的時間仍然為12:00
因為導致使用 localtime() 涵數的功能發生時間上的錯誤。解決方法如下:
 
 可以透過TZ環境變數的強制改變,來使 tzname丶timezone丶daylight 這三個內部變數更新到新的時區。 
 在/etc/localtime指到新的時區之後,先將TZ環境變數設為NULL。讓 localtime() 先讀取一次時間,此時會因為TZ設定
NULL而使得 localtime() 以UTC時區讀取時間,接著再一次將TZ環境變數指回 /etc/localtime,再一次使用 localtime() 涵數便可以得到正確的時間。範例如下:
    時間12:00
    環境變數:
    TZ=”/etc/localtime”
    時區檔案:
    /etc/localtime -> /mnt/html/zoneinfo/GMT+08:00
    透過date指令得到的時間為12:00
    透過localtime()涵數讀取到的時間為12:00

    時間12:00
    環境變數將TZ改為NULL:
    TZ=”NULL”
    時區檔案:
    /etc/localtime -> /mnt/html/zoneinfo/GMT+08:00
    透過date指令得到的時間為4:00
    透過localtime()涵數讀取到的時間為4:00

    再一步將環境變數將TZ改回/etc/localtime:
TZ=”/etc/localtime”
    透過date指令得到的時間為12:00
    透過localtime()涵數讀取到的時間為12:00

備註:
發生環境:Ubuntu丶Fedora
gcc version: 4.1.3
glibc: 2.3.6


GnuCash進階教學-股票篇(1)

GnuCash進階教學-股票篇(1)




在開始前再跟各位說明一次,記帳的方法有很多種,即使使用同樣的工具也有不一樣的用法,所以跟我的方法不同時,不一定就是錯的,只要符合記帳的原則而且自
己能夠明瞭,這樣也就足夠了,並不一定要完全依照我的方法來做。可以參考我的方法並發展出適合自己的方法是最好的。


股票帳號體系的新增




在開始學習記錄股票帳的方法前,要先看看你的帳號體系中的資產(Asset)丶支出(Expense)和收入(Income)是否有合適的帳號可提供操
作,在資產(Asset)中需要有放置股票和銀行的帳號,而支出(Expense)帳號中需要一個用來記錄交易稅和手續費,收入(Income)帳號中需
要有可以記錄股票相關收益。最簡單的方法可以透過“新增帳號體系”來新增(請參考Gnucash入門使用教學(一)),新增一個帳號類型名稱是
“Investment
Accounts”(投資帳戶),這個帳戶類型中會幫我們在資產(Asset)丶支出(Expenses)和收入(Income)分類中新增幾個帳戶,可
以在圖一中看到。“資產(Assets)=>投資(Investments)=>代理商帳戶(Brokerage
Account)=>股票(Stock)”和“支出(Expenses)=>傭金(Commissions)”會在這篇中提到的。

圖一


pic01

證券的新增




設定好帳戶之後,接下來就是設定股票名稱。在GnuCash中的概念,就是把股票當成商品來處理,所以要先在GnuCash中設定好股票的資料,我們目前
以台股的中華電(2412)來做範例(不是報名牌,名字沒做馬賽克是因為怕讀者混淆,不要去買賣之後虧錢來賴我哦..囧....)。

首先先到主畫面上方的功能選單中的“工具(T)”=>“證券編輯器(S)”,如下圖二

圖二
pic02


就會進到證券編輯視窗中,如下圖三

圖三
pic03


點選圖三視窗中下方的“新增(A)”按鈕,進行新增證券,接著會看到以下的圖四視窗。

圖四
pic04

圖四的視窗中分別在

方框1的全名填入你的證券名稱,例如中華電。


方框2的標記縮寫則填入2412.TW,這個欄位要特別提一下,這裡是一定要填2412.TW的,這是因為要配合方框4中的線上取得報價,除非你不想使用
這個功能,關於股票的價格你想手動輸入每日的價格,那方框2的欄位其實怎麼填倒無所謂。但是在yahoo的網頁上就是要透過2412.TW才能收到正確的
價格。


方框3的類型則輸入TSEC,這是因為我們買賣的是台股,所以填TSEC,就是指“臺灣證券交易所”。至於其他欄位就比較沒什麼特別,照著填就可以了。

按下確定後就可以看到“證券”視窗的結果如下圖五,

圖五
pic05

有看到多一個TSEC中華電的欄位出來就是表示新增成功了。




線上取得股票價格



以後若是隨時想知道當天的收盤價是多少錢,可以透過GnuCash的“價格編輯器”來取得線上的價格,這是相當方便的功能,不過這只有盤後的價格,並不是
盤中的即時價格,要注意哦!功能的啟動方法請看圖六:

圖六
pic06


點選“價格編輯器”之後會出現以下圖七的視窗:

圖七
pic07


接著按下圖七中的“取得報價”,只要網路連線是正確的,應該幾秒鐘就可以得到圖八的畫面:

圖八
pic08

由圖八中可以看出2412中華電在2009/4/24的盤後收盤價格是59.5元。很方便吧!在摸索出這個功能之,我都是要查虧損時就要手動輸入目前的價
格,才能準備算出目前的虧損,現在這個功能摸索出來後,就不用一筆筆手動查詢價格後再進行輸入的苦工了,這真的是非常“甘”心的功能啦。


買賣證券的記帳方法




接下來要進入今天的正題,進行股票買賣時要如何入帳。在GnuCase中是以每個帳戶為基準來統計,所以如果想要統計每隻股票的損益,則必須為每隻股票建
立一個獨立的帳戶,這對常在買賣不同股票的人來說使用起來是不太方便,但是為了要分別統計每隻股票的損益,這也是必須的做法。前面提到的只是建立一個中華
電的商品,而現在要建立的則是中華電的帳戶。首先回到“帳號”總覽頁面中(如圖九),在Investments=>Brokerage
Account=>Stock的目錄下再新增一個中華電的帳戶,注意母目錄要設在Stock下哦!(新增方法請參考Gnucash入門使用教學(一)

圖九
pic09


新增的帳戶資訊填入自己看得懂的敍述就可以了,但在“證券/貨幣”這個欄位請不要手動填入,請點選旁的“選擇”鈕來輸入,畫面如圖十:

圖十
pic10



按下圖十的“選擇”鈕後就會出現圖十一的畫面:

圖十一
pic11

在圖十一的類型中透過下拉式選單選擇到我們先前輸入的TSEC中,證券欄位就可以在下拉式選單中找到剛剛輸入的2412.TW(中華電)了。

最後按下確定回到圖十的畫面,圖十的“證券/貨幣”欄位就會自動選好中華電了。再按下圖十畫面的確定鈕就完成這個帳戶的就設置了。


在“帳號”總覽的視窗裡就會看到Stock下多了一個帳號名稱“中華電”,而類型是“股票”的帳戶了。如下圖十二:

圖十二
pic12


完成帳戶新增後點兩下中華電來開啟這個頁面,進行買入股票的登記。如下圖十三

圖十三
pic13

圖十三的欄位填法:在輸入之前先選上方的“分割”鈕,備忘錄中填入“買入中華電”,1號欄填入“Assets:Investments:
Brokerage
Account:Stock:中華電”後面填入“1000”股,再後面一格填入股價“59.5”元,GnuCash會自動算出59,500元,再在2號欄
填入其他費用,就是手續費加其他雜七雜八的稅,帳號欄位填入“Expenses:Commissions”這是先前新增出來專門用來記錄股票買賣時的雜
費。後方在買的欄位裡填入220元(這個數字是我假設的,自己算清楚後再填入正確的的數字就可以了)。最後3號欄則填入那個銀行付的錢,例如在這個例子裡
我是用“Assets:Current
Assets:銀行:台X銀行”,那麼所有的費用共59720元就會在“台X銀行”帳戶中被扣除了。這就是買股票的記錄方法。



而賣股票就剛好相反,如下圖十四
pic14

在輸入之前先選上方的“分割”鈕,備忘錄中填入“賣出中華電”,1號欄填入“Assets:Investments:Brokerage
Account:Stock:中華電”後面填入“-1000”股,是負1000股哦,就是賣出去的意思,然後會變成紅字,再後面一格填入賣出股價
“60.5”元,GnuCash會自動算出60,500元,再在2號欄
填入其他費用,就是手續費加其他雜七雜八的稅,帳號欄位填入“Expenses:Commissions”。後方在買的欄位裡填入300元(這個數字是我
假設的,自己算清楚後再填入正確的的數字就可以了)。最後3號欄則填入那個銀行收的錢,例如在這個例子裡
我是用“Assets:Current
Assets:銀行:台X銀行”,那麼所有的費用共60200元就會付到“台X銀行”帳戶中。這就是買股票的記錄方法。記得數字的位置千萬別寫錯,不然就
是買跟賣的差別了哦!



其實講的不是很清楚,一部分原因是在下正在適應新工作,所以無法投入大量的時間,而且又有些朋友都在問股票方面的問題,所以先丢出初稿。以後有時間再來潤
餘,補其不足。有在使用的朋友透過這樣的簡介,相信很容易找到更進階的方法,這只是簡單的記錄,如果想記錄下每隻股票在不停的買賣之間倒底幫你賺了多少,
又虧了多少,還有幾個手續要做,這個就留著以下再說明吧!








bash中的重新導向運算元

一般在指令的使用上常會用到重新導向運算元,linux下的重導運算元分為以下幾種


< 把檔案內容重新導向為標準輸入
> 把標準輸出重新導向到檔案內容中(若檔案已存在,原先的內容會被覆蓋)
>> 把標準輸出重新導向到檔案內容中(若檔案已存在,新的內容會加在舊的之後)
2> 把標準錯誤訊息重新導向到檔案內容中(若檔案已存在,原先的內容會被覆蓋)
2>> 把標準錯誤訊息重新導向到檔案內容中(若檔案已存在,新的內容會加在舊的之後)
&> 把標準輸出和錯誤訊息重新導向到檔案內容中(若檔案已存在,原先的內容會被覆蓋)

GnuCash進階教學-個人借貸篇

    每個人在生活中總會遇到一些同事朋友之間的小額借貸,而這些小額的金流在GnuCash中怎麼記錄較好呢?其實是見人見智,在這裡提供簡單的範例供各位參考。
  
借出去的錢對我們而言仍然是資產(Assets),但已不是現金資產(Cash)了,而算是應收帳款。表示這筆錢是要在未來收回的,所以叫應收帳款,因此
我們需要在資產(Assets)類別下新增一個應收帳款。先在帳號頁面中先在“Assets”帳號上點一下左鍵,然後在上方的圖示選單中點選“新增”,如
下圖一所示:
pic01

接著會出現像下圖二的視窗:
pic02
在帳號類型中(紅框1)選擇A/應收,母帳號則選定在Assets(方框2),帳號名稱就暫定為應收款項(方框3),然後按下確定鈕。

接下來以同樣的方法再新增一個子帳號在應收款項的下一層,如下圖三:
pic03
母帳號選定在“應收款項”下,帳號類型一樣設成“A/應收”,帳號名稱設為“借出款項”。

    這樣大致就完成了借出款項的帳號設定了,大體的帳號結構如下圖四所示。
pic04


接下來就是用實例來說明,例如說今天早上張三來借了1500元,下午李四又借走了1000元。因為都是從現金的部份支出的,所以我們切到Cash in Wallet的頁面中來做記錄,如下圖五:
pic05
紀錄方法如紅框所示,描述中寫入自己的註解“借款給張三”,而轉帳欄則是選擇“Assets:應收款項:借出款項”,預算欄填入1500元。注意別填到收到欄中哦,這樣反而是你跟張三借了1500元,只要看看結算的地方金額是比上一欄多還是少就知道是不是填錯了。
同樣的方法,請自行填入李四借了1000元的紀錄。完成後,切換到帳號頁面中就可以看到目前借出的款項有多少,應收款項有多少了。如下圖六:
pic06
這樣的紀錄方式,可以讓我們在帳號這個頁面中很清楚的就看出總共已借出的款項為2500元,也可以在借出款項上快點兩下,叫出“借出款項”這個帳號,可以清楚的看出什麼時候借給何人多少錢。如下圖七:
pic07

在報表中的資產負債表也可以清楚的看出這個結果。下圖八
pic08


過這樣紀錄有一個缺點就是不易看出究竟誰還了多少,誰還欠我多少。要達到這樣的目錄其實不難,只要在“借出款項”帳號下再新增一個“張三”帳號和“李四”
帳號。在圖五記錄時就直接將轉帳欄分別填入“Assets:應收款項:借出款項:張三”和“Assets:應收款項:借出款項:李四”,如下圖九
和資產負債表pic09

    假設張三在3/18/2008時還我700元,就在“Cash in Wallet”帳號中輸入資料如下圖十:
pic10
日期3/18/2008,描述寫得讓自己看得懂就好,轉帳一樣是“Assets:應收款項:借出款項:張三”,但後面要在收到欄輸入700元。就可以看到現金的結算從24,555.00上升到25,255.00。接下來再看看帳號頁面的數據:圖十一
pic11
可以很清楚的看到張三還欠800元,而李四則是還欠1000元。


  
以上就是借出款項的記錄方法,這是沒有收利息的情況下,如果各位在借出款項時是有談妥利息的話,可以在收入“Income:Interest
Income”帳號新增一個“借出款項利息收入”,由這個帳號紀錄金流到現金“Cash in
Wallet”中就可以了。在檢視和報告中就可以看到利息的收入有多少了。


貸款則是大同小異,借出款項使用資產(Assets)下的應收款項,而貸款是在負債(Liabilities)下新增一個“應收款項”的帳號來達成。

出的利息則在支出帳號新增一個利息支出來記錄就可以了。當然為了省事也可以不設應收款項和應付款項這個帳號,而直接使用借出款項和借入款項。記帳的彈性很
大,沒有什麼絕對的對錯,只要數目上正確,自己能確檢討自己的收支也就差不多了。如果是公司行號要報帳使用,才比較有必要研究什麼項目必須在什麼分類下。


相關閱讀
[FC8]GnuCash-Linux下相當強大的記帳軟體
將MS money的資料匯入到Gnucash中
Gnucash入門使用教學(一)
Gnucash入門使用教學(二)
Gnucash入門使用教學(三)
Gnucash入門使用教學(四)
GnuCash進階教學-個人借貸篇



要轉貼本文請附上網站連結和作者,禁止引用於商業性質。

轉換windows和linux下的文字檔案格式

在windows或dos環境下編輯的文字檔案和在linux或unix環境下編輯的文字檔案,其實在檔字的結構上是有一點點的不同。不同的地方是在於對
於斷行符號的區別,在檔案格式裡linux/unix下分行只有存入一個"0a"的16進位碼,而windows/dos下的分行是會在檔案中寫入"0d
0a",兩個bytes的。也就造成了有時文字檔在處理上的小麻煩。在linux下有專門針對這個問題而出現的兩個小程式:

dos2unix
unix2dos

從名稱上就可以看出他的功能了。其中dos2unix就是把windows/dos的文字檔格式轉換成linux/unix下的。而unix2dos剛好相反。

最簡單的用法就是直接把要轉換的檔名當做參數放進去就好了。


# dos2unix a.txt
or
# unix2dos a.txt

Linux下透過藍芽連線3G手機上網



許多3G手機在Linux下並沒有提供相關軟體可供使用者簡便的上網,其實在Linux的環境下透過藍芽連線把手機當成GPRS/HSDPA數據機來使用
並不困難,只要簡單的幾個指令就可以把手機跟電腦連接上。當然前提是你的Linux環境下要有基本的藍芽指令可以使用,可以在終端介面中下達
“hcitool”丶“sdptool”和“rfcomm”這三個指令看看是否存在系統中,如果沒有的話請安裝“bluez-utils”套件。



第一步先確認藍芽功能是否正常運作,是否可以順利搜尋到手機的存在,終端機的指令如下:

# hcitool scan
如果電腦和手機的藍芽都正常運作的話會出現搜尋到手機的藍芽位置和手機的名稱,結果如下
Scanning ...
00:12:D2:7E:1E:61 3gMobile
出現類似這樣的結果時就表示電腦有搜尋到手機的存在,當然你看到的結果並不會和我的完全一樣,如果找不到的話,請檢查一下手機的藍芽是否沒開,或是開了但沒設成開放模式。第一步成功後,接著進行第二步。
第二步是查詢手機使用撥接網路功能的藍芽頻道

# sdptool search DUN
Inquiring ...
Searching for DUN on
00:12:D2:7E:1E:61 ...
Service Name: Dial-Up Networking
Service RecHandle: 0x10003
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 2 <= 請注意這一行
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
有看到中間我註明的那一行了嗎?就是寫著Channel的這一行,這是告訴我們手機的撥接網路用的藍芽頻道是“2”
知道要使用的頻道是“2”後,接著進行第三步,將手機連上電腦的連接埠。

# rfcomm connect rfcomm0 00:12:D2:7E:1E:61 2
以上參數中的2就是指上一步所顯示的Channel: 2,如果在上一步中的Channel顯示是1的話,這裡就要改1,這是要隨著上一步的結果而變更的。
Connected /dev/rfcomm0 to
00:12:D2:7E:1E:61 on channel 2
Press CTRL-C for hangup

果看到出現這樣的結果就是已經連上囉!表示手機已經連接到/etc/rfcomm0了。到目前為止這三步都很簡單,而且是透過指令模式進行,幾乎每個版本
的Linux都可以透過這三步將手機以Modem的形式連接到/etc/rfcomm0。接下來就是在連接上網的ppp設定了,因為每個ppp軟體設定的
方式都不太相同。





以上是完成了3g手機以modem的形式連接到電腦上。
我個人是使用kppp來進行連線的,kppp的設定可以參考“[FC6]Huawei E612 在linux環境下3G上網”這一篇來做設定。只是有些許的不同,以下將不同的地方加以說明。

在“編輯數據機”這一步,如下圖
pic03
注意圖中“數據機裝置”中的內容,因為前面我們是將手機連接到/etc/rfcomm0,所以在這裡也必須要選到/dev/rfcomm0,不然會連不通的哦!其他的步驟是相同的。可以開始享用手機帶來的3G上網囉!



外有些朋友會在連線時出現問題,以kppp來說,如果連上時kppp會告訴你ppp因不明原因錯誤中斷,如果確定你的3G服務有開而且餘額足夠(有些人是
用預付卡的,我在國外就是這一類型的),其中有部份是因為手機上網必須要針對不同的電信業著而有些設定上的不同。像是APN(Access Point
Name希望我沒拼錯),中文是存取點名稱。中華電信的APN是“internet”,每家電信業者的APN都不太相同,這個必須要打電話到電信業者的客
服部請教會比較清楚。在linux下設定APN,可以透過在“編輯數據機指令”這一步中更改。如下圖:
pic05
看到由上方往下數的第三行,“起始字串2:”。請在這裡加上一串數據機指令,“at+cgdcont=1,"IP","internet","",0,0”,最前面和最後的引號就不用加進去了,記得拿掉哦!中間部份紅字的internet就是APN,把電信業者告訴你的APN(存取點名稱)套進去,整個指令放在“起始字串2:”後面的方框內。然後按確定。再進行一次連線,差不多就OK囉!


實用的Linux電子書丶電子雜誌

很多Linux新手總是在找合適的書來上手,其實網路上不乏這類的材料,只是大部份仍以英文居多。以下將整理一些我在網路上看到的Linux電子書和電子雜誌,如果有朋友知道其他的而不在這份清單上的話,歡迎告知,我會將他整理進來。

至於關於Linux的網站,真的族繁不及備載,似乎不需要我來做整理,只要google一下就會出一大堆了,而且有些網站根本就是Linuxer們的聖經網站,這裡就不做整理了。

雜誌類
<開源>電子雜誌
官方網址:http://bbs.linuxpk.com/thread-12999-1-1.html
語系:簡中
這本雜誌的內容除了技術文章之外,關於Linux業界的消息也佔了蠻大的篇幅。

Full Circle Magazine
官方網址:http://www.fullcirclemagazine.org/
語系:英文,法文,簡中,繁中
這是一本以Ubuntu為基礎的電子雜誌

TUX
官方網址:http://www.tuxmagazine.com/
語系:英文
也是一本相當適合新手入門的好雜誌,在2005年丶2006年時仍是免費的,現在似乎沒有在發行了,取而代之的是另一本需要付費的電子雜誌了,但官方網站上仍有許多文章提供免費的PDF下載,也有舊期的雜誌可供下載。有興趣的朋友可以參考看看。



書籍
Linux 101 Hacks
官方網址:http://www.thegeekstuff.com/2009/02/linux-101-hacks-download-free-ebook/
語系:英文
書中列出了101種Linux的使用技巧,作者本身也在自己的Blog上提供Linux的一些教學。在下載這本書時會需要密碼,正確的密碼應該會在作者Blog中最新的那篇文章的最下面找找看。

Linux Starter Pack
官方網址:http://www.tuxradar.com/linuxstarterpack
語系:英文


Ubuntu Pocket Guide and Reference
官方網址:http://lifehacker.com/5139752/ubuntu-pocket-guide-available-as-a-free-download
語系:英文
一本相當基礎的Ubuntu教學,從最基本的安裝開始教起,使用的字句也都相當簡單,有基本的英文閱讀能力應該就能上手的。作者著作這本書除了在Amazon可以買到實體書之外,在自己的Blog中還提供了免費的PDF電子檔供大家下載,真的是佛心來著呀!感恩呀!






於在閱讀簡中的部份,會有一些用語上的差異,可能造成無法理解,如果能力允許的話,還是直接看英文比較好。不要問我為什麼繁中語系的書和雜誌這麼少,至少
目前是這樣,想要有多一點這方面的資料,還需要你我多多努力,除了學習之外,在學成之後閒瑕之餘,也請各位多多回饋,你說是吧!


gnome-mplayer - DVD功能支援更完整的mplayer視窗界面軟體

    常使用mplayer和gmplayer的人應該有發現,雖然mplayer對DVD有相當完整的支援,但是都必須透過指令參數來下達,mplayer的
參數相信多到差不多可以寫本書來介紹了。大部份的使用者除了裝mplayer之外,都會再另外安裝一個mplayer-gui也就是一般常說的
gmplayer,使用圖形界面來操作mplayer對一般的使用者來說是比較明智的。可惜的是gmplayer不支援DVD中的選單,而在linux下
的播放軟體,能支援撥放DVD選單的軟體目前還是少數,kaffeine和VLC media
player都是有支援的。但這兩個並不是使用mplayer來做播放引擎,在播放的過程中比較起來還是mplayer的操作靈活性和穩定性較佳。在偶然
的情況下發現原來我還有另一個選擇,一個名為gnome-mplayer的套件。他支援了DVD的選單功能,而且也可以直接透過滑鼠來點選選單。真的是一
大福音。

安裝方法直接透過yum安裝即可


# sudo yum install gnome-mplayer


    可以透過選單就開啟DVD的選單,也可以透過點選的方式來開啟存在硬碟中的DVD檔案。不過還是有點小缺點,我發現在gnome-
mplayer在使用方向鍵來做快轉和倒轉時似乎有點問題,還有某些影片下使用“j“來做字幕切換時,似乎不太順,有時會不成功,必須透過選單點選的方式
較為穩當。但是瑕不掩瑜,真的很好用,現在播放DVD時,gnome-mplayer就是我的首選播放程式。


[FC8]設定kde環境中預設browser的方法

如果在KDE的環境下需要使用指定的瀏覽器來開啟網頁,也就是要改變KDE環境下的預設browser,可以由以下地方找到變更的方法。

先叫出“控制中心”(如果找不到,請執行“kcontrol”指令),尋找“KDE元件”這個項目。接著展開他的細項,會看到一個“元件選擇程式”。在這個部份裡即可針對幾個KDE環境下常用的程式做預設值的改變。其中的“網頁瀏覽器”就是這次要更改的目標。

改好後,下次在KDE環境中啟動browser時就會呼叫出我們需要的瀏覽器了。

KDE 3.5
Fedora Core 6, Fedora Core 7, Fedora Core 8都適用。


bash命令視窗下的快速鍵

    以下表列是從“Ubuntu Pocket Guide and Reference”書中整理出來的,雖然這本書是在說Ubuntu的,但是bash下的東西是相通的,透過一些簡單的組合快速鍵,會讓整個操作更流暢。

    這本書有實體書和PDF格式電子檔,實體書在Amazon買得到,而PDF電子檔在作者的Blog中有提供下載點,電子版是免費的,對Ubuntu有興趣的朋友可以下載來看,或從Amazon訂購實體書。雖然是用英文寫的,但是全篇是針對新手而寫的,使用的字句都不難,也可以練練英文,真的不錯,值得推薦。










































































Key combinationDetails
Up/down cursor keyScroll through command history
Ctrl+left/right cursor keyMove cursor from word to word
TabAutocomplete command or filename/path
Ctrl+AMove to beginning of line
Ctrl+EMove to end of line
Ctrl+W/Alt+BackspaceDelete word behind cursor
Alt+DDelete word in front of cursor
Ctrl+UDelete to beginning of line
Ctrl+KDelete to end of line
Ctrl+YRestore text you’ve deleted
Ctrl+LClear screen (actually, this simply moves the prompt
to the top of the screen; existing commands are still visible
if the terminal window is scrolled)
Ctrl+CQuit current program
Ctrl+ZSwitch current program to background (see Job
Management section)
Ctrl+RSearch through command history
Ctrl+DLogout (technically, terminate input)
Ctrl+TSwap the two characters behind cursor


vim的功能鍵說明

這篇是一邊跟著vim本身提供的教學做一邊寫下的vim筆記

vim其實本身自帶了一個教學功能,對於新手來說真的是很有幫助。他是一步步的教導該如何使用vim。

個vim的教學程式是包含在vim-common內的,這個教學的教材內容是有多國語言版本的,也包含了中文,甚至有正體中文和簡體中文。可惜的是正體中
文的教材內容只有big5編碼,而簡體中文的教材是gb2312編碼。以現在較新的linux版本而言,系統預設都是utf8,所以在使用前我們要先做個
小動作,就是改教材的編碼。

先到“/usr/share/vim/vim71/tutor”下找一個檔名為
“tutor.zh.big5”和“tutor.zh.euc”這兩個檔案。如果你的系統裡沒有這個目錄,試著在“/usr/share/vim/”目錄
下找個以vim開頭後面又有跟著數字的目錄。先將“tutor.zh.euc”複製一份起來,再使用“iconv”指令將“tutor.zh.big5”
轉換成utf8編碼並且用“tutor.zh.euc”為檔案存起來。


# echo tutor.zh.big5 | iconv -f big5 -t utf8 -o tutor.zh.euc

在做以上動作時,必須要有root的權限哦!!!這樣就完成了

使用以下指令啟動教學程式


# vimtutor zh


接下來就昰各位自己跟著教程好好學了。這裡以下是我的筆記,也算是功能鍵的記錄


移動游標


h
j
k
l


<ESC> :q! <Enter>  =>
離開並且放棄修改

<ESC> :wq <Enter> => 存檔後離開

正常模式下
VIM刪除類命令
x刪除一個字
i在游標所在處插入輸入字元
dw從游標處開始刪除一個單字/詞
d$刪除從游標處開始到該行行末
dd刪除游標所在處的一整行
u撤消最後執行的指令
U撤消一整行所有修改的指令
Ctrl - R 撤消以前的撤消命令,恢復以前的操作結果
置入類命令
p將最後一次刪除的內容置入光標之後的下一行
替換類命令
r輸入 r 和一個字符替換光標所在位置的字符。
R可連續替換多個字符。
更改類命令
cw要改變一個單字/單詞的部分或者全部
定位及文件狀態
CTRL-g顯示當前編輯文件中當前光標所在行位置以及文件狀態信息。
SHIFT-G輸入您曾停留的行號,然後按下
SHIFT-G。就可以到達指定的行號。注意︰輸入行號時,行號是不會在屏幕上顯示出來的。若未輸入行號直接按SHIFT-G,將會到達文件的最後一行。
搜索類命令
//字串,繼續往下找相同字串按 n ,往上找則按 Shift - N。
?逆向查找字串。
設置類命令
:set ic在搜索字串時下達此指令可使搜尋的字串怱略大小寫,ic即Ignore Case的縮寫。
:set hlshlsearch
:set isincsearch
配對括號的查找
可以查找配對的括號 )、]、}
修正錯誤的方法之一
:s/old/new/g將一整行的old替換為new。
:s/old/new可以替換 old 為 new,但只替換游標所在行的第一個符合條件的字串。
:%s/old/new/g將整個文件中的old改為new。
:#,#s/old/new/g#為行號,在兩個行號之間進行替換old為new。
:%s/old/new/gc進行全文替換時詢問用戶確認每個替換需添加 c 選項
在 VIM 內執行外部命令的方法
:!外部命令執行該外部命令。
:w filename將文件存檔為檔名filename
選擇性的保存命令
:#,# w FILENAME將兩行之間的內容以檔名FILENAME存檔。
提取和合並文件
:r filename讀取filename的文件內容,並從所在位置處開始置入。
打開類命令
o在游標的下方開出新的一行並進入編輯模式
O在游標的上方開出新的一行並進入編輯模式
插入類指令
a在游標後插入內容
A在游標所在行的行末插入內容
<F1> or :help開啟說明文件,要結束此說明文件請使用 : q
e打開指定的文件檔名



刪除命令 d 的格式

[number] 

object    
或者     d 
[number]   object

    number - 代表執行命令的次數(可選項,預設設置為 1 )。

    d - 代表刪除。

    object - 代表命令所要操作的對象(下面有相關介紹)。


  一個簡短的對象列表︰

    w - 從當前光標當前位置直到單字/單詞末尾,包括空格。

    e - 從當前光標當前位置直到單字/單詞末尾,但是 *不* 包括空格。

    $ - 從當前光標當前位置直到當前行末。



正常模式的命令格式

     
[number]   command 
object   
或者     command
[number]   object

     其意是︰

       number -
代表的是命令執行的次數

       command -
代表要做的事情,比如 d 代表刪除

       object -
代表要操作的對象,比如 w 代表單字/單詞,$ 代表到行末等等。

              
$ (to the end of line), etc.


[FC8]設置屬於自己的鍵盤捷徑

    蠻多人喜歡直接用鍵盤來操作,因為在某些操作上使用鍵盤比使用滑鼠還來得快迅而且簡便,不用在選單中不斷的切換,只需要一組捷徑就可以很快的叫出所需要的
功能。在windows下也有許多捷徑可以使用,linux中也有這樣的設定,而且在設定上比windows還靈活,自由度更大。你可以在以下的選單中做
出自己專用的捷徑,讓你的工作更有效率。
啟動"kde控制中心"=>“區域性與易用性”=>“鍵盤捷徑”


用Avidemux來截取DVD字幕和轉檔成srt格式

   
目前在Linux環境下要將DVD字幕抓出來然後轉換成srt格式,似乎沒有太多的選擇。這裡介紹其中的一種-使用Avidemux來做這件事。
Avidemux除了是個簡單易用的影像編輯和轉檔軟體之外,還內含了一個簡單的OCR,除了可以做字幕的截取外,還可以做到簡易的辨視功能。因為在
DVD內的字幕其實是以影像的形態存在的,所以一般都會先將DVD內的字幕以VobSUB格式先抓出來,再透過OCR功能轉換成我們可以看得懂的srt格
式。其實以VobSUB格式抓出來的字幕檔,已經可以直接拿來用了,但是srt格式的佔用空間小和容易編輯,使得大家都愛用,而且srt格式的被支援度比
VobSUB格式還高。以下介紹分成兩部份,第一步先轉成VobSUB格式。然後再轉換成srt格式。

首先開啟Avidemux,然後在選單中的“Tools”裡點選“Vob -> VobSUB”選項,如下圖所示:圖一
pic01


然後會出現一個像下圖一樣的視窗:圖二
pic02
可以直接在紅框中填入檔案位置和名稱,或透過旁邊的“Browse..”按鈕來選取所需要的檔案。
第一個紅框請選出DVD中要抓取字幕的VOB檔(副檔名是VOB)。
第二個紅框請選出DVD中要抓取字幕的IFO檔(副檔名是IFO)。
第三個紅框請填入抓出來的字幕檔要存放在那個目錄和要命名的檔名。
最後請按下確定,順利的話就會接著看到以下的畫面。圖三
pic03
    看到上圖中的畫面就表示已經開始抓取字幕了,等到100%完成時,截取成VobSub格式字幕檔的這個步驟就完成了。如果還需要轉成srt格式的話,請再接下去。


選取選單中“Tools”內的“OCR (VobSub -> srt)”選項。如下圖:圖四
pic04

接著會出現以下視窗:圖五
pic05
請先點選紅框1的“Select idx file:”
然後會看到如下圖的視窗:圖六
pic06
再點選紅框中的“Select .idx”按鈕,選出剛剛抓出來的那個VobSub字幕的其中一個副檔名是idx的檔案。
如果檔案沒錯的話,圖六會出現變化,如下圖:圖七
pic07

以看到從圖六變成圖七那樣,可以選取要轉檔的字幕語言。這個會跟DVD的字幕國家一樣,如果DVD中就只有兩種語言,在這裡也將只會有兩種可以選。在這裡
先以英文做範例。請在“Select Language:”的下接式選單中選en(如果你的也有的話),然後按下確定。接下來會回到圖五。
pic05
圖五中的2號紅框是要填入轉換出來的srt檔要放在那裡,請同時填入位置和檔名(或用旁邊的“Browse...”來選也可以)
如果是第一次使用的話,3號紅框就不用填了,這個框框內所指的GlyphSet就是辨視圖檔時用到的資料庫,用來存放每個影像的字體和對應的字元,這個檔案內容越完備,待會要手動輸入的機會就越少。接下來選確定。

然後就會看到一個名叫Mini OCR的視窗跑出來。圖八
pic08
1號紅框顯示的就是系統現在分辨不出來,需要你在2號紅框內手動輸入這個字,輸入後他會把這個字記下來,下次出現就不會再問你了。如果發現1號紅框中的字被拆解得不完整,可以選下方的“Skip Glyph”來跳過這個不完整的字。

整個過程跑完後,最後會出現這個視窗。圖九
pic09

時候要存下的檔案就是在圖五中的3號紅框裡可以用的檔案,也就是說,Avidemux把這次辨視過程中學到的新字都放進去了,下次再辨視其他的字幕檔時,
只要在圖五的3號紅框中選出現在存的這個檔,這次的學習成果就可以一直的應用下去,最後隨著字庫越來越大,需要手動輸入的機會就越來越少,轉換所需的時間
也就相對減短了。

    因為一開始並沒有字庫檔,在轉換英文字幕時,只有26個字母和大小寫符號等變換,所以需要手動輸入的次數並不會太多。可
是中文就不同了,一開始真的很累,幾乎每個字都要輸入,而且Mini
OCR對中文的拆字不是很好,常會把一個字拆成好幾個。這個還有待改善。在英文辨認的過程中,很容易發生大寫的i和小寫的L或數字1搞混,數字0和字母O
搞混。因此出來的字幕檔還是會有很多錯字的,要解決這個很容易的,只要用Open office
writer開啟srt字幕檔,然後使用“拼字檢查”工具,這些問題很快的就會被改過來了。

    Avidemux也有附上一個小工具,可以編修字庫檔。在選單中的“Tools”內的“Edit Glyph”就是了。可以用來把字庫檔中學錯的字給刪除,或重新改成正確的字。


使用mplayer播放一般影片檔時可切換多個字幕檔較簡單的方法

一般在觀看DVD時是可以即時切換多國語言的字幕,但是當播放的不是DVD,而是一般的AVI影片檔或其他格式的影片檔時,似乎gmplayer預設只認
得和影片檔同樣檔名的字幕檔。所以除了使用指令參數"-sub"同時載入多個字幕檔外,就是要透過選單中的載入字幕功能一個個的去選。可是一但使用
mplayer指令後,想達到跟gmplayer(可透過界面操作mplayer)同樣效果的話,需下達的指令多到難以記下,而且需視情況而加以改變。
gmplayer一樣透過選選點點就可將設定處理好,不過似乎還不夠簡便,一個個選還是有點麻煩。在這裡提供一個小秘方。

在偶然的情況下發現gmplayer預設會讀取和影片檔相同主檔名的srt字幕檔之外,如果在srt字幕檔的主檔名(副檔名srt不可以哦)前後加上非字母和數字的符號字(前提是系統願意接受,像* ?之類的就不被系統接受為檔名)也會被同時載入。


下做個簡單的示範。假設影片檔名稱為video.avi,那麼預設的srt字幕檔應該是video.srt。一般常見到的多國語言字幕檔的命名格式來看的
話,英文字幕的命名應該是video.eng.srt,而正體中文的字幕檔名應該是video.cht.srt。可惜gmplayer的只會載入
video.srt,而不會去載入video.eng.srt和video.cht.srt。可是如果把video.cht.srt改名為
video.srt,而video.eng.srt改名為video_.srt。結果會變成gmplayer在啟動播放video.avi的同時會載入
video.srt和video_.srt兩個字幕檔,只要在播放的過程中按鍵盤的小寫"j"就可以達到切換字幕的目的。

如果你想同時載入的字幕有很多個,可以在字幕主檔名的前後加上多個字符。範例如下...


video__.srt
_video.srt
video#.srt
video###.srt

都會被同時載入。
目前我在Linux環璄下可使用的符號如下


~`!@#$%^&()-_=+[]{};',.

不過為了保險起見,儘量使用底線符號"_",他是這些字符中最常在檔名中出現的字。所以安全性也較高。

只要透過改檔名就可以讓gmplayer同時載入多個字幕檔,應該夠簡單了吧!


Comix - Linux下看漫畫圖檔的程式

    Comix是一個專門為了看漫晝圖檔而設計的程式,跟一般的看圖軟體不一樣的是Comix多了一些對於用電腦看漫畫的使用者來說很貼心的小功能,讓看漫畫
圖檔時更方便,也有一般在看實體書的雙頁瀏覽功能。在使用時可以直接讀取以zip丶rar丶tar等多種壓縮格式的檔案,不必手動解壓,可以把每一集用一
個壓縮檔來管理。還有局部放大鏡功能,常在電腦上看漫書的人不可少的好工具。本文並沒有要做教學的部份,只是簡單的介紹給大家這個簡單易用的方便軟體。

安裝方法可以直接透過fedora的檔案套件庫安裝。非常容易安裝的。


# sudo yum install comix

 


mplayer按鍵功能說明

基本功能
<- - 方向鍵左鍵,倒轉10秒
-> - 方向鍵右鍵,快轉10秒
up - 方向鍵上鍵,快轉1分鐘
down - 方向鍵下鍵,倒轉1分鐘
pgup - 快轉10分鐘
pgdown - 倒轉10分鐘
> - 撥放清單中的下一個影片
< - 撥放清單中的上一個影片
p or sapce - 暫停,按任意鍵後可繼續播放
+/- - 將聲音的播放延遲/提早0.1秒(影音出現不同步時,可直接調整)
o - 切換顯示在螢幕上的影片撥放資訊
x/z - 延遲/加速字幕0.1秒(字幕和影片出現不同步時,可直接進行微調,當使用的是別人製作的字幕檔時特別好用。)
r/t - 將字幕的位置往上/下移
/ or * - 改變音量的大小
9 or 0 - 改變音量的大小
q or ESE - 停步播放並且關閉mplayer
f - 全螢幕撥放的切換

進階功能
[ or ] - 增加或減少10%目前的播放速度
{ or } - 減半或加倍目前的播放速度
( or ) - 調節左右聲道的輸出
. - 步進模式,就是一格一格的播放(當有特定的畫面想要捕捉時特別好用)
Backspace - 恢復為正常的播放速度
a - 切換字幕的位置(上/中/下)
j - 切換DVD字幕的語言
m - 靜音
T - 將播放視窗停留在最上層
d - 切換frame dropping的功能(如果電腦比較慢的話,啟動此功能可讓影片播放比較順,但畫面容易出現不流暢的情形)
F - 強制使用sub格式的字幕
v - 切換是否顯示字幕
I - 在畫面上顯示撥放的檔案名稱
A - 切換DVD撥放的角度(必須要影片有支援多角度)

以下指令須視播放採用的模式或硬體的支援而定,不一定都支援
1 or 2 - 調整對比度
3 or 4 - 調整亮度
5 or 6 - 調整暖色程度
7 or 8 - 調整色彩飽和度

用ffmpeg來切割mp3

常在聽mp3或其他格式音樂的朋友,有時會有特別喜歡的片段,例如副歌的部份會想拿來做手機的鈴聲。這時候就需要一些處理音效的軟體,例如之前提過的Audacity。其實還有更簡便的方法,只要系統中有安裝好的ffmpeg,一行指令就OK了,相當簡單。讓我們分成兩步驟來完成他吧!

第一步先用播放軟體將想要處理的音樂檔案聽一次,把想獨立出來部份的時間記下來,看是幾分幾秒到幾分幾秒。記好後,第一步也就完成了。

第二步就是下指令了。


# ffmpeg -i input.mp3 -ss hh:mm:ss -t hh:mm:ss -acodec copy output.mp3

參數說明:
-ss : 指定從那裡開始
-t : 指定到那裡結束
-acodec copy : 編碼格式和來源檔案相同(就是mp3)


這方法不只是MP3可以用,其他的許多格式也都適用,只是輸出檔案的副檔名就要跟著改一改了。

以下舉個例子,如果我想把aa.mp3中的1分12秒到1分42秒的地方切出來,然後存成bb.mp3,指令如下


# ffmpeg -i aa.mp3 -ss 00:01:12 -t 00:01:42 -acodec copy bb.mp3


就是這麼簡單,而且處理速度超級快。一下子完成了。


ffmpeg常用轉檔參數

把影像檔案轉換成avi格式

# ffmpeg -i filename.flv -f avi -vcodec libxvid -acodec libmp3lame -ar 22050 filename.avi
參數說明:
-i : 指輸入的檔案名稱,只要系統中有相對應的codec,就能使用多種格式。
-f : 強迫輸出的檔案格式。
-vcodec : 指定影像的編碼格式,這裡的libxvid指的是一般所說的xvid。
-acodec : 指定聲音的編碼格式,libmp3lame就是常用的mp3格式。
-ar : 指定聲音的取樣頻率,一般預設是44100。(因為我是用在手機上,所以設比較低。)


把影像檔案轉換成3gp格式


# ffmpeg -i filename.avi -s qcif -vcodec h263 -acodec libfaac -ac 1 -ar 8000 -r 25 -ab 32  filename.3gp

參數說明:
-i : 指輸入的檔案名稱。
-s : 畫面的解析度。qcif指的是176x144,直接輸入長和寬也可以,格式是 wxh。
-vcodec : 指定影像的編碼格式。
-acodec : 指定聲音的編碼格式,libfaac就是指aac格式。
-ac : 設定聲音的聲道數。1指是的單聲道。
-ar : 指定聲音的取樣頻率。
-r : 設定fps。
-ab : 指定聲音的bitrate。


把影像檔轉換成flv格式


# ffmpeg -i filename.mpg -ab 56 -ar 22050 -b 500 -r 15 filename.flv

參數說明:
-i : 指輸入的檔案名稱。
-ab : 指定聲音的bitrate。
-ar : 指定聲音的取樣頻率。
-b : 指定影像的bitrate
-r : 設定fps。



將聲音檔案轉成mp3


# ffmpeg -i filename.wav -acodec libmp3lame -ar 44100 -ab 128k filename.mp3
參數說明:
-i : 指輸入的檔案名稱。
-ar : 指定聲音的取樣頻率。
-ab : 指定聲音的bitrate。
-acodec : 指定聲音的編碼格式,libmp3lame就是常用的mp3格式。如果輸出的檔案有指定mp3的話,其實這裡省略沒關係。
如果覺得原本的聲音檔音量太小的話,可以再加一個 -vol 200 的參數,會讓輸出的mp3音量變成200%,就兩倍大聲。200是百分比,可以隨意調整的。


以上幾個是很常用的格式,整理下來做成筆記,也供各位需要轉檔的人參考。
話說回來,在windows下,每次要轉檔都得想看看要找什麼軟體,比較好用的大都是要花錢買的,不過如果會用ffmpeg的話,差不多快天下無敵了,ffmpeg提供的轉檔格式和設定多到難以捉摸。現在想到要轉檔時,反而想到的是找找看ffmpeg的參數怎麼下。

當然也是有人做了一些介面來操作ffmpeg,不過對於喜歡簡便又不用裝太多東西的我來說,寫成shell script就很好用了。

也可以輸入影片檔案,指定輸出為聲音檔案。ffmpeg會幫你把影片中的聲音分離出來。


讓Linux視窗環境下可以使用視窗鍵

讓Linux視窗環境下可以使用視窗鍵


   
視窗鍵又叫Windows key或是Meta
key,這個鍵在Linux下一般是用不到的,而在Windows系統中這個鍵主要是做快捷鍵的使用。用習慣的人會覺得很好用,可以快速的啟動預先設定的
程式。而在Kde的環境下,也支援自己設定程式選單中每個程式的快捷鍵,因此如果多了這個鍵來做搭配,可以設定的快捷鍵數量將更有彈性。
   
但似乎並不是在每種Linux環境下都會主動認得Windows key,以我使用的環境而言,FC8丶KDE桌面管理有時會認得Windows
key,有時卻沒有反應,使得原先設定好的快捷鍵都失去作用。不過可以經由以下的步驟讓X11認得Windows
key,首先找到/etc/X11/xorg.conf這個檔案。要更動這個檔案內容需要有root的權限,開啟xorg.conf檔案的內容,在其中尋
找一段內容如下

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        ...
        ...
EndSection

然後在EndSection的上面再加上一行
Option  "XkbOptions" "altwin:super_win"
完整內容如下
Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        ...
        ...
        Option  "XkbOptions" "altwin:super_win"
EndSection

完成後記得存檔,在下次開機後,Windows key就能正常的被系統認得了。


xmms的選單在zh_TW.utf8環境下無法顯示

xmms的選單在zh_TW.utf8環境下無法顯示


   
xmms是個很方便且類似winamp的音樂檔案播放器,有著廣大的使用者群。雖然有些小小的瑕疵,但仍是個瑕不掩瑜的好東西。不過在
zh_TW.utf8的環境下選單會出現一些問題,無法正常顯示。在這裡提供一個最簡單的解法,在執行xmms時改用以下指令就可以讓選單正常的顯示出中
文了。


# env LC_ALL=zh_TW.big5 xmms




   
這是因為xmms對於zh_TW.utf8的中文設置有問題,導致無法正確顯示,但是zh_TW.big5的中文設置仍是正常的,所以可以改用這個指令讓
xmms使用big5的環境而不需要變動到系統的部份。


    如果想要用英文界面當然也沒有問題,英文界面則使用以下的指令。


# env LC_ALL=en_US xmms

掛載 Synology 分享的 NFS 後無法使用 Gnome nautilus 無法寫入檔案

最近遇到一個奇怪的問題,我在 Fedora 的環境下 Mount Synology 分享出來的 NFS 空間時,發現 Gnome nautilus 檔案總管無法寫入或變更檔案就像沒有寫入權限一般。但若是使用 Shell 指令操作時,卻又一切正常。百思不得其解,在 google 了...