安裝必要解碼器,例如 mac(for ape decoder), flac 等
ps. mac 在 gentoo-taiwan 的 overlay 中才有
一般下載到的APE都是一個.ape加一個.cue成對的文件,cue中保存了CD音軌信息。
轉換方法是下面這條命令:
shntool split -f image.cue -t '%n.%t' -o flac image.ape
即得到flac格式的音樂文件並按照cue文件信息,分割成每首歌曲一個文件。
或是直接轉換整個檔案:
shntool conv -o flac xxxxx.ape
或是選用最大壓縮比:
shntool conv -o "flac ext=flac flac -s -8 -o %f -" xxxxx.ape
2008年12月30日 星期二
2008年12月28日 星期日
2008年12月20日 星期六
解決 hal 無法自動 mount ntfs-3g 的問題
在 kde 中點選自動掛載後,會出現下面的錯誤訊息:
org.freedesktop.Hal.Device.UnknownFailure: TODO: have to rethink extra options
此時新增以下檔案即可解決問題
nano /usr/share/hal/fdi/policy/10osvendor/20-ntfs-config-write-policy.fdi
參考: [SOLVED] Can't automount external drive w/ NTFS partition
org.freedesktop.Hal.Device.UnknownFailure: TODO: have to rethink extra options
此時新增以下檔案即可解決問題
nano /usr/share/hal/fdi/policy/10osvendor/20-ntfs-config-write-policy.fdi
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<match key="volume.fstype" string="ntfs">
<match key="@block.storage_device:storage.hotpluggable" bool="true">
<merge key="volume.fstype" type="string">ntfs-3g</merge>
<merge key="volume.policy.mount_filesystem" type="string">ntfs-3g</merge>
<append key="volume.mount.valid_options" type="strlist">locale=</append>
</match>
</match>
</device>
</deviceinfo>
參考: [SOLVED] Can't automount external drive w/ NTFS partition
linux 下用 nvidia vdpau 播放高畫質 HD 電影
安裝 180 以後的驅動程式
到 ftp://download.nvidia.com/XFree86/vdpau/ 下載 mplayer-vdpau-3219724.tar.bz2
解壓縮後直接執行 ./checkout-patch-build.sh 他就會自動下載並編譯好
執行編譯好的 mplayer-vdpau-3219724/mplayer-vdpau/mplayer
他支援 h264, mpeg1/2, wmv 三種格式
mplayer -vc help | grep vdpau 可以看到
播放方法為 mplayer -vc ffh264vdpau -vo vdpau xxxxxx.mkv
如果看不到 OSD 字型,請 ln -s /usr/share/fonts/arphicfonts/odosung.ttc ~/.mplayer/subfont.ttf 即可 (注意看畫面上給你的錯誤訊息就會知道需要這個檔)
不過目前測試播放影片好像會頓頓的,畫面會突然頓一下並回到 500ms 以前的畫面然後才繼續
可能是 av 不同步或是還有其他問題吧
不過至少已經可以硬解 h264 了,真愛 nvidia !!
參考連結:
我的优化PC:在Linux下进行高清VDPAU解码测试
到 ftp://download.nvidia.com/XFree86/vdpau/ 下載 mplayer-vdpau-3219724.tar.bz2
解壓縮後直接執行 ./checkout-patch-build.sh 他就會自動下載並編譯好
執行編譯好的 mplayer-vdpau-3219724/mplayer-vdpau/mplayer
他支援 h264, mpeg1/2, wmv 三種格式
mplayer -vc help | grep vdpau 可以看到
播放方法為 mplayer -vc ffh264vdpau -vo vdpau xxxxxx.mkv
如果看不到 OSD 字型,請 ln -s /usr/share/fonts/arphicfonts/odosung.ttc ~/.mplayer/subfont.ttf 即可 (注意看畫面上給你的錯誤訊息就會知道需要這個檔)
不過目前測試播放影片好像會頓頓的,畫面會突然頓一下並回到 500ms 以前的畫面然後才繼續
可能是 av 不同步或是還有其他問題吧
不過至少已經可以硬解 h264 了,真愛 nvidia !!
參考連結:
我的优化PC:在Linux下进行高清VDPAU解码测试
解決安裝 OpenDesktopFont 後 標楷體 不管任何大小都開啟 antialias
安裝好 OpenDesktopFont-1.4.2 後,會發現 標楷體 字型看起來很破碎...
不管任何大小的字型似乎都沒有內嵌點陣字體
而且開啟 antialias 後字型反而比較能夠看
而一般字體反而不開 aa 會比較清楚好看
因此呢我們必須針對 標楷體 而外處理
在 kde 字型那邊設定好 aa 後,需要額外編輯 ~/.fonts.conf 如下
<match target="font" >
<test compare="more_eq" name="size" qual="any" >
<double>8</double>
</test>
<test compare="less_eq" name="size" qual="any" >
<double>15</double>
</test>
<test compare="not_eq" name="family" qual="any" >
<string>標楷體</string>
</test>
<edit mode="assign" name="antialias" >
<bool>false</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
</match>
記得把檔案轉成 utf8 格式,並改成唯讀以免被改掉
不管任何大小的字型似乎都沒有內嵌點陣字體
而且開啟 antialias 後字型反而比較能夠看
而一般字體反而不開 aa 會比較清楚好看
因此呢我們必須針對 標楷體 而外處理
在 kde 字型那邊設定好 aa 後,需要額外編輯 ~/.fonts.conf 如下
<match target="font" >
<test compare="more_eq" name="size" qual="any" >
<double>8</double>
</test>
<test compare="less_eq" name="size" qual="any" >
<double>15</double>
</test>
<test compare="not_eq" name="family" qual="any" >
<string>標楷體</string>
</test>
<edit mode="assign" name="antialias" >
<bool>false</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
</match>
記得把檔案轉成 utf8 格式,並改成唯讀以免被改掉
running 32bit apps on 64bit kernel with nvidia
當記憶體大於 4G 的時候,32bit 的 kernel 雖然可以透過啟動 64G 來 access 所有 memory
但是 PAE 會降低系統效能,此外好像 64bit kernel 的選項比較新 (...好吧,是心理作用...)
非常不准的效能測試:
====== 重點開始 ======
Step 1. 建立 cross compile 環境
# emerge crossdev
# crossdev -s1 -t x86_64
Step 2. 編譯 64bit 的 kernel
編輯 kernel 的 Makefile , 增加下面兩行:
Step 3. 編譯 nvidia drivers
到 ftp://download.nvidia.com/XFree86/Linux-x86_64 和 Linux-X86 下載 NVIDIA-Linux-xxxx-pkg1.run
分別以 NVIDIA-Linux-xxxx-pkg1.run -x 解壓縮
複製 X86_64 的 NVIDIA-Linux-x86_64-180.16-pkg1/usr/src/nv/nv-kernel.o 到 X86
( 為什麼知道是這個檔?看 make module 他會說 32bit 無法連結到 64bit 於 nv-kernel.o )
修改 Makefile ,尋找 "make CC="
(可於此執行 make module 就會看到他是這樣呼叫 kernel make 的)
改成 "make CROSS_COMPILE=x86_64-pc-linux-gnu-"
( CC=$(CC) 記得刪掉 )
如常執行 ./nvidia-install 即可
ps. 最好先移除之前安裝的 driver
但是 PAE 會降低系統效能,此外好像 64bit kernel 的選項比較新 (...好吧,是心理作用...)
非常不准的效能測試:
hdparm -tT /dev/sda
發現 32bit with PAE 大約 36xx MB/Sec 而 64bit 可以跑到 40xx MB/Sec
很爛的測試,知道更好的方法請告訴我...
====== 重點開始 ======
Step 1. 建立 cross compile 環境
# emerge crossdev
# crossdev -s1 -t x86_64
Step 2. 編譯 64bit 的 kernel
編輯 kernel 的 Makefile , 增加下面兩行:
ARCH=x86接下來如常編譯與安裝即可
CROSS_COMPILE=x86_64-pc-linux-gnu-
Step 3. 編譯 nvidia drivers
到 ftp://download.nvidia.com/XFree86/Linux-x86_64 和 Linux-X86 下載 NVIDIA-Linux-xxxx-pkg1.run
分別以 NVIDIA-Linux-xxxx-pkg1.run -x 解壓縮
複製 X86_64 的 NVIDIA-Linux-x86_64-180.16-pkg1/usr/src/nv/nv-kernel.o 到 X86
( 為什麼知道是這個檔?看 make module 他會說 32bit 無法連結到 64bit 於 nv-kernel.o )
修改 Makefile ,尋找 "make CC="
(可於此執行 make module 就會看到他是這樣呼叫 kernel make 的)
改成 "make CROSS_COMPILE=x86_64-pc-linux-gnu-"
( CC=$(CC) 記得刪掉 )
如常執行 ./nvidia-install 即可
ps. 最好先移除之前安裝的 driver
2008年12月19日 星期五
linux flash 中文亂碼 的解決
安裝了flash播放器,播放正常,但中文全是亂碼,解決方法如下:
打開配置文件:
cd /etc/fonts/conf.d/
sudo vim 49-sansserif.conf
修改edit節點,將<string>sans-serif</string>
改為 <string>sans</string>
<match target="pattern">
<test qual="all" name="family" compare="not_eq">
<string>sans-serif</string>
</test>
<test qual="all" name="family" compare="not_eq">
<string>serif</string>
</test>
<test qual="all" name="family" compare="not_eq">
<string>monospace</string>
</test>
<edit name="family" mode="append_last">
<string>sans-serif</string> <--- <string>sans</string>
</edit>
</match>
打開配置文件:
cd /etc/fonts/conf.d/
sudo vim 49-sansserif.conf
修改edit節點,將<string>sans-serif</string>
改為 <string>sans</string>
<match target="pattern">
<test qual="all" name="family" compare="not_eq">
<string>sans-serif</string>
</test>
<test qual="all" name="family" compare="not_eq">
<string>serif</string>
</test>
<test qual="all" name="family" compare="not_eq">
<string>monospace</string>
</test>
<edit name="family" mode="append_last">
<string>sans-serif</string> <--- <string>sans</string>
</edit>
</match>
2008年12月14日 星期日
Linux 下類似 Windows API Hook 的 LD_PRELOAD 技術
Modifying a Dynamic Library Without Changing the Source Code / 在不更動原始程式碼的前提下,修改動態程式庫
詳細參考以下文章
如何得知某個 so 有哪些 function call:
readelf -s /lib/libm.so.6
會列出所有 Symbol table in '.dynsym'
2008年12月12日 星期五
linux 中使用 pptp client 連線到windows vpn server 包含 mppe-128 支援
先說一下 Windows VPN ( PPTP ) Server 連線所需要的通訊協定
* 驗證身份使用 MS-CHAP V2
* 加密使用 MPPE
* 壓縮使用 MPPC
要成功建立連線,至少必須支援 MPPE 才行 ( MPPC 似乎選擇性的?? )
安裝所需軟體:
pptpclient
ppp
kernel 必須支援的選項:
CONFIG_PPP
CONFIG_PPP_ASYNC
CONFIG_PPP_MPPE
在 Gentoo 中 ppp 有一個 mppe-mppc 的 USE,如果需要啟動 MPPC 的話才要使用這個 ( not sure !)
設定 ppp
連線模式與帳號密碼
使用 CHAP 認證,修改 /etc/ppp/chap-secrets 依序輸入 "帳號、*、密碼",例如:
username_ppc52776 * password_ppc52776
peer 雛型可先用 pptp-command 建立 ( /etc/ppp/peers/sinica )
然後加入關鍵的一行設定
pty "pptp 140.109.17.129 --nolaunchpppd"
一定要有這行可以正常連線 !!
再加上給該 tunnel 的額外設定
ipparam sinica
之後可以先用
# pppd call sinica logfd 2 nodetach
看看有沒有辦法正常連線
Using interface ppp1
Connect: ppp1 <--> /dev/pts/7
CHAP authentication succeeded
MPPE 128-bit stateless compression enabled
local IP address 140.109.17.146
remote IP address 140.109.17.141
這樣就表示可以了
測試成功了,往後要連線就可以用
# pon sinica
斷線用
# poff
我的設定檔:
route 設定
編輯 /etc/ppp/ip-up.d/sinica.sh
ps.
在 Linux NAT 下, 若要用 PPTP 連遠端的 VPN Server,
必需加掛這兩個 pptp module
modprobe ip_nat_pptp (這個似乎不一定要?)
modprobe ip_conntrack_pptp
否則 Windows 在連線時會出現此錯誤:
錯誤 721: 遠端電腦沒有回應。請按 [其他資訊] 或搜尋這個錯
誤碼的說明及支援中心,以取得進一步的協助。
(參考來源:http://pank.org/blog/2008/09/pptp-under-linux-nat.html)
* 驗證身份使用 MS-CHAP V2
* 加密使用 MPPE
* 壓縮使用 MPPC
要成功建立連線,至少必須支援 MPPE 才行 ( MPPC 似乎選擇性的?? )
安裝所需軟體:
pptpclient
ppp
kernel 必須支援的選項:
CONFIG_PPP
CONFIG_PPP_ASYNC
CONFIG_PPP_MPPE
在 Gentoo 中 ppp 有一個 mppe-mppc 的 USE,如果需要啟動 MPPC 的話才要使用這個 ( not sure !)
設定 ppp
連線模式與帳號密碼
使用 CHAP 認證,修改 /etc/ppp/chap-secrets 依序輸入 "帳號、*、密碼",例如:
username_ppc52776 * password_ppc52776
peer 雛型可先用 pptp-command 建立 ( /etc/ppp/peers/sinica )
然後加入關鍵的一行設定
pty "pptp 140.109.17.129 --nolaunchpppd"
一定要有這行可以正常連線 !!
再加上給該 tunnel 的額外設定
ipparam sinica
之後可以先用
# pppd call sinica logfd 2 nodetach
看看有沒有辦法正常連線
Using interface ppp1
Connect: ppp1 <--> /dev/pts/7
CHAP authentication succeeded
MPPE 128-bit stateless compression enabled
local IP address 140.109.17.146
remote IP address 140.109.17.141
這樣就表示可以了
測試成功了,往後要連線就可以用
# pon sinica
斷線用
# poff
我的設定檔:
pty "pptp 140.109.17.129 --nolaunchpppd"
lock
refuse-eap (預設會用這個做 auth, 但是現在已經都不能用了)
#require-mschap-v2 (這個要拿掉,不然會變成你要求對方也要跟你認証)
require-mppe-128
name crchang
ipparam sinica
route 設定
編輯 /etc/ppp/ip-up.d/sinica.sh
#!/bin/sh
# $1 = interface name (e.g. ppp0)
# $2 = tty device
# $3 = speed
# $4 = local IP address
# $5 = remote IP address
# $6 = ipparam (user specified parameter, see man pppd)
if [ "$6" == "sinica" ]; then
#vpn server ip 必須還是走本來的 gateway
route add -host 140.109.16.129 gw 192.168.1.10
#屬於中研院網域的 ip 走這個 ppp0 出去而非預設的 eth0
route add -net 140.109.0.0/16 dev $1
fi
ps.
在 Linux NAT 下, 若要用 PPTP 連遠端的 VPN Server,
必需加掛這兩個 pptp module
modprobe ip_nat_pptp (這個似乎不一定要?)
modprobe ip_conntrack_pptp
否則 Windows 在連線時會出現此錯誤:
錯誤 721: 遠端電腦沒有回應。請按 [其他資訊] 或搜尋這個錯
誤碼的說明及支援中心,以取得進一步的協助。
(參考來源:http://pank.org/blog/2008/09/pptp-under-linux-nat.html)
2008年12月3日 星期三
在 firefox 中關聯 ed2k 到 sancho
sancho 是一個連接 mldonkey 下載 p2p 的介面軟體。由於某些原因,firefox 並不能自動把 ed2k 地址關聯到 sancho中.
我們可以手動完成這一工作。 在 firefox 地址欄中輸入 about:config
新建一個String,名字為 network.protocol-handler.app.ed2k,值為 /opt/bin/sancho
這樣就OK了。這時候點擊一個ed2k鏈接將會出現一個啟動相應應用程序的提示。點擊啟動後, 這個 ed2k 鏈接將會被加入下載隊列。前提是 sancho 必須是已經開啟著的。
如果你想在點一個ed2k鏈接的時候不出現提示,那麼新建一個Boolean,名字為network.protocol-handler.warn-external.ed2k,值為 false
Gentoo Portage 使用小技巧
當使用 Portage 安裝套件時,常常會遇到被 Mask 或是某些 USE 不能使用的窘境
例如 mplayer 的 USE="(-real) 和 realcodecs 整個被 mask
解決方法可以設定 Portage 的行為來強迫使用被 mask 的 package 和 USE
首先說明 /etc/portage 下的設定檔功能:
因為以後的版本被 mask 的理由可能會變,最好還是 check 一下比較保險
例如 mplayer 的 USE="(-real) 和 realcodecs 整個被 mask
解決方法可以設定 Portage 的行為來強迫使用被 mask 的 package 和 USE
首先說明 /etc/portage 下的設定檔功能:
- /etc/portage/package.use: 可以設定特定 package 每次安裝時要套用哪些 USE,例如
app-cdr/k3b -encode -dvdread -mp3 表示安裝 k3b 時都會優先使用後面的 USE 設定 - /etc/portage/package.mask: 如果你不想安裝某些套件可以在這邊設定
=media-libs/mesa-7.0.3_rc2 不安裝 mesa-7.0.3_rc2 這個套件 - /etc/portage/package.unmask: 如果想強迫某個被 mask 的套件來安裝的話再此設定
=media-video/realplayer-11.0.1.1056-r2 強迫安裝特定版本前面要加 = 的符號
=media-libs/realcodecs-11.0.1.1056* 後面可以用 * - /etc/portage/profile/package.use.mask: 路徑不一樣要注意喔,內容寫法也不一樣!!
media-video/mplayer -real 這邊 -real 表示要把被 mask 的 real 變成可以安裝
media-libs/win32codecs -real 這個檔寫法相反請注意
因為以後的版本被 mask 的理由可能會變,最好還是 check 一下比較保險
2008年9月29日 星期一
alsa 設定 bluetooth 或是 usb audio 的 dmix
pcm.bluetooth {
type bluetooth
device 00:12:C8:90:AA:3B
}
pcm.bt {
type dmix
ipc_key 1111
ipc_perm 0660
slave {
pcm "bluetooth"
#pcm ""
#period_time 0
#period_size 1024
#buffer_size 4096
}
}
#設定預設的音效裝置,如果不是第一個的話
pcm.!default {
#設定預設播放和錄音的裝置不同
type asym
playback.pcm "usb"
capture.pcm "hw:0,0"
}
pcm.usb {
type dmix
ipc_key 1024
slave {
#pcm "hw:1,0"
pcm {
type hw
card 1
}
period_time 0
period_size 1024
buffer_size 4096
rate 48000
}
}
ctl.usb {
type hw
#card名稱可由 /proc/asound/cards or aplay -l 得知,或是可以寫死 card 1
card "PCM2702"
# card "Intel"
}
#預設會控制的音效裝置
ctl.!default ctl.usb
type bluetooth
device 00:12:C8:90:AA:3B
}
pcm.bt {
type dmix
ipc_key 1111
ipc_perm 0660
slave {
pcm "bluetooth"
#pcm ""
#period_time 0
#period_size 1024
#buffer_size 4096
}
}
#設定預設的音效裝置,如果不是第一個的話
pcm.!default {
#設定預設播放和錄音的裝置不同
type asym
playback.pcm "usb"
capture.pcm "hw:0,0"
}
pcm.usb {
type dmix
ipc_key 1024
slave {
#pcm "hw:1,0"
pcm {
type hw
card 1
}
period_time 0
period_size 1024
buffer_size 4096
rate 48000
}
}
ctl.usb {
type hw
#card名稱可由 /proc/asound/cards or aplay -l 得知,或是可以寫死 card 1
card "PCM2702"
# card "Intel"
}
#預設會控制的音效裝置
ctl.!default ctl.usb
2008年6月9日 星期一
linux 如何做到 port mirror (類似 switch 的 port monitor)
全文參考 http://phorum.study-area.org/index.php/topic,52160.0.html
2008年3月15日 星期六
[教學] 自製 FileZilla 3 可攜版
FileZilla 是一款免費的 FTP 連線軟體,目前已經出到版本 3 了,跟之前版本相比,這個版本有許多的改變,不過也因為這是個全新的版本,所以一些舊版有的功能,在新版都還看不到。 有不少人為舊版本的 FileZilla 製作可攜版本 (Portable),可是為什麼到現在都還沒發現 FileZilla 3 的可攜版呢?那是因為,你可以自己做阿!接下來我就一步步告訴各位如何自製可攜版的 FileZilla 3。
首先到 下載頁面 下載最新版本,我們要的是 win32.zip 版本。
下載之後將它解壓縮到你喜歡的地方,解開之後裡頭有一個「docs」目錄,將裡頭的「fzdefaults.xml.example」複製出來,放到跟主程式「filezilla.exe」同一個目錄下。
將「fzdefaults.xml.example」重新命名為「fzdefaults.xml」,也就是把結尾的「.example」去掉。然後用文書編輯器(像是記事本、PSPad、UltraEdit、Notepad++ 等等)開啟這個檔案。
找到「$SOMEDIR/filezilla/ 」,將它改成「. 」並存檔。
這樣就完成囉!以後包含站台資訊等等所有設定就都會存在跟主程式同一目錄下了。 怎樣,很簡單吧 :-)
原始文章:http://blog.pixnet.net/Nelson/post/11582987
首先到 下載頁面 下載最新版本,我們要的是 win32.zip 版本。
下載之後將它解壓縮到你喜歡的地方,解開之後裡頭有一個「docs」目錄,將裡頭的「fzdefaults.xml.example」複製出來,放到跟主程式「filezilla.exe」同一個目錄下。
將「fzdefaults.xml.example」重新命名為「fzdefaults.xml」,也就是把結尾的「.example」去掉。然後用文書編輯器(像是記事本、PSPad、UltraEdit、Notepad++ 等等)開啟這個檔案。
找到「
這樣就完成囉!以後包含站台資訊等等所有設定就都會存在跟主程式同一目錄下了。 怎樣,很簡單吧 :-)
原始文章:http://blog.pixnet.net/Nelson/post/11582987
2008年3月3日 星期一
訂閱:
文章 (Atom)