詳情可以參考 /etc/inputrc 內的註解,如果改 /etc/inputrc,影響的是所有人。
如果只想改自己的,那就複製 /etc/inputrc 到 ~/.inputrc,然後編輯 ~/.inputrc 即可。
改完之後,記得要重新登入。
參考資料:
以 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 的結果。
XWindows bootstrap
這是我的環境: Fedora Core 5, GNOME
簡單紀錄一下這幾天 Trace 的結果.
當你開機後預設模式是圖形(怎麼知道預設模式是甚麼??請參考 /etc/inittab.)的時候,順序大致是這樣子的:
1. Kernel
2. /etc/rc.d/rc.sysinit
3. /etc/rc.d/rc, /etc/rc5.d/ 下的 script
4. /etc/rc.local (其實是在 /etc/rc.d/rc.local)
5. prefdm, 這會把預設的 desktop manager 叫起來 (怎麼知道預設 desktop manager 是甚麼?請參考 /etc/sysconfig/desktop)
6. 登入以後,會執行 /etc/X11/xinit/Xsession
7. /etc/X11/xinit/xinitrc
8. /etc/X11/xinit/xinitrc-common
9. /etc/X11/xinit/xinitrc.d/* 下的 script, 這裡面的 xinput.sh 會把輸入法叫起來.
10. 完成.
為甚麼我沒事要去 Trace? 因為前一陣子我升級 Fedora Core 4 到 5 之後,GNOME 就爛掉了,無法登入.
搞了幾天,都不知道為甚麼,只能以克難的方式,先在 $HOME 佈置 .Xsession, .Xclients 來應急.
今天 Trace 之後,終於發現問題所在.
原因是 /etc/gdm/custom.conf 裡 BaseXsession 預設為 /etc/X11/xdm/Xsession.
gdm 登入後會去執行這個 script, 而 xdm/Xsession 只會跑 xdm 的一些東西,所以就只會登入到很簡陋的 xdm 畫面.
呼~~終於解決了.
參考資料:
Upgrade FC4 to FC5
公司用的 distribution 是 Fedora Core 4, 最近 Fedora Core 5 release 了,就想來升級看看.
世界上真的有很多人想法跟我一樣,用 yum 來升級就好了.
這篇寫的很詳細:How to upgrade from FC4 to FC5 via yum?
主要步驟:
- 下載 fedora-release-5-5.noarch.rpm,然後安裝
- 先更新 yum: yum update yum
- 接著 upgrade: yum upgrade
比較麻煩的是步驟 2與步驟 3,這邊你可能會遇到蠻多麻煩,說有 dependency 問題,這時候就得參考這篇,他有提供一個perl script來解決這種鳥問題.
我自己的方法是,紀錄這些套件,把他們移除掉,等升級完再安裝回去.
現在我已經升級完啦,接下來就是調校了~
參考資料:
Ubuntu live cd on Averatec 6200
前一陣子有想把 Linux 裝到我的 notebook – Averatec 6200 (其實是 MSI M630)上.
正巧Ubuntu Linux又挺紅的,就決定用他.所以就下載了Ubuntu Linux的 Live CD,先行嚐鮮.
可是,怎麼弄都無法從 Live CD 開機,這是一個警訊,表示 Notebook 可能有些麻煩需要克服.
這時候想到,之前有看過一個網站,有提供很多 Notebook 與 Linux 相容問題的網站.利用Google找了一下,很輕易就找到了,就是這裡 Linux on Laptops. 遺憾的是,裡面並沒有 Averatec 6200 的資訊.
時光荏苒,匆匆數周又過去.
今天晚上,再次用 Live CD 開機,並仔細看了一下開機選項 (按 F2, F3, F4, F5, F6, F7 都可以看到不同的選項), 然後輸入這行指令進行開機:
live vga=771 noapic nolapic gdth=disable:y
這次很順利就開起來囉~ 🙂
接下來就是無線網路問題啦~
Ubuntu Linux可以辨認到我的無線網路Driver, 所以接下來就是軟體設定問題.
摸索了一陣(會這麼久,其實有一部分也是因為我忘記我自己的 key index 與 key, :p ),最後在 /etc/network/interfaces 裡面作下列設定
iface ra0 inet dhcp
#
wireless-essid your_essid
# keys
wireless-key1 your_key_1
wireless-key2 your_key_2
wireless-key3 your_key_3
wireless-key4 your_key_4
# 請根據你的 key 索引值來調整
# adjust the value according your key index.
wireless-defaultkey 1
# 我用的是restricted(受限制的),如果沒用的話,把這行註解掉吧
# I use restricted, you can comment this line.
wireless-keymode restricted
auto ra0
再重新啟動 networking service 就可以了.
sudo /etc/init.d/networking restart
參考資料:
freenx on Fedora Core 4
以前裝過,可是忘記了
現在又想用,結果搞了半天,好不容易設定成功了,把方法記起來.
$su root
#yum install freenx
由於這一版的 freenx 使用的目錄有點改變
所以到 /var/lib/nxserver/ 下,多增加一個軟連結
#cd /var/lib/nxserver
#ln -s nxhome home
接著改一下設定
#cd /etc/nxserver
#cp node.conf.sample node.conf
打開 node.conf
把 SERVER_NAME 與 SSHD_PORT 這兩行前面的註解拿掉.
重新啟動 nxserver
#nxserver –restart
確定 user 是否已經自動幫你加入了,看有沒有自己的 linux 帳號
#nxserver –listuser
如果沒有的話,那麼就得新增 user
#nxserver –adduser your_name
#nxserver –passwd your_name
安裝 Windows 版的 nxclient, 這可以到NoMachine網站下載.
下載完成以後就進行安裝,基本上都是 step by step, 沒啥困難的.
主要的幾個設定就是 ip, port, 還有 key
接著回到 server, 處理 key 的部份
這邊我不清楚是否要重新產生,不過我還是做了.
#nxkeygen
產生完畢後,切換到 /var/lib/nxserver/home/.ssh,將 client.id_dsa.key 檔案的內容複製出來,這邊就不仔細描述複製的方法了,總之你自己看著辦.
#cd /var/lib/nxserver/home/.ssh
#cat client.id_dsa.key
把這內容貼到 nxclient for Windows 的 key 裡面 (在 configuration 的時候會有個按鈕叫做 “key”,點下後可以貼東西 )
保存設定以後,輸入你的帳號與密碼,再進行連結,這樣就大功告成了.
參考資料:
*HOWTO FreeNX Server – Gentoo Linux Wiki
*NX/FreeNX HOWTO
*Linux-Tip.net – Remote access with FreeNX in 5 steps
*FedoraNEWS.ORG – HOWTO setup Freenx on Fedora
升級到CentOS 4.2
gpdf 無法顯示帶有中文的 pdf 文檔
在網路上搜索了一下,找到這篇文章。
想不到真是超簡單的,只要安裝 xpdf 就好了。
如果需要更詳盡的設定,就把 /etc/xpdfrc 複製到 ~/.xpdfrc,然後修改 ~/.xpdfrc 即可。