fontconfig command

介紹幾個X11上面對於fontconfig好用的指令

$ fc-cache -fv 更新目前字型資料庫,通常會先把xx.ttf搬到 ~/.fonts/下再執行
$ fc-list 顯示目前安裝的字體有多少個
$ fc-list :lang=zh 顯示目前安裝的字體屬於中文的有多少個
$ fc-match 查詢目前fontconfig幫你選到的字型是那個
$ fc-match -s 列出除了選到的字型外,其它後補字型的排序
$ fc-match -s sans-serif 列出選到無襯線字體的字型排序
$ fc-match -s serif 列出選到襯線字體的字型排序
$ fc-match -s monospace 列出選到等寬字體的字型排序

大約這幾個就夠用了,以下補充一下,在X11下因為中英文混雜,也許使用的中文字型內含的英文字太難看,或是根本沒有英文字型,所以會造成讓fontconfig選字上的困難,預設fontconfig會先看locale所以讀到若是utf8的話,會讓中文字型優先,因此會使用中文字型內含的英文字,因此如果要使用其它的英文字型的話,必須要讓英文優先順序先選,選完一定沒有中文字型,之後在來選中文字型,就可以讓好看的英文字母來配需要中文顯示的中文字型

$ vim ~/.fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias binding="strong">
<family>sans-serif</family>
<prefer>
<family>Bitstream Vera Sans</family>
<family>AR PL New Sung</family>
</prefer>
</alias>
<alias binding="strong">
<family>serif</family>
<prefer>
<family>Bitstream Vera Serif</family>
<family>AR PL New Sung</family>
</prefer>
</alias>
<alias binding="strong">
<family>monospace</family>
<prefer>
<family>Bitstream Vera Sans Mono</family>
<family>AR PL New Sung</family>
</prefer>
</alias>
</fontconfig>

以上有看到使用到「 binding="strong" 」主要目的是讓fontconfig強制選字排序,忽略locale中要先選utf8的字型。

synergy usage

有一個很好用的軟體可以透過網路來模擬KVM,讓兩台不同的電腦連在一起,然後用同一組鍵盤和滑鼠就可以控制了,但是對於螢幕當然是沒有辦法一定要各自有自己的螢幕,但是可以省掉一組鍵盤滑鼠,還算不錯用

以下內容是將兩台電腦(一台 winxp,另一台freebsd)連結在一起

step1) 安裝軟體

winxp 的部份先去下載 http://synergy-foss.org/pm/projects/synergy/tabs/download
然而在freebsd的部份用ports來安裝
# cd /usr/ports/sysutils/synergy
# make install clean

step2) 軟體設定

在winxp方面只要設定好電腦的名稱就行了,它的名字必須對映到設定檔裡面的screen name,所以將winxp的synergy名稱設為winxp-desktop
而freebsd方面我們要當成主控端,因此要寫一個.synergy.conf的設定檔放在家目錄下面
$ cd ~
$ vim .synergy.conf

section: screens
Enya.arkbsd.org:
winxp-desktop:
end

section: links
winxp-desktop:
right = Enya.arkbsd.org
Enya.arkbsd.org:
left = winxp-desktop
end

注意在screens那邊第一行和第二行順序沒有差異,但是必須要對映到正確的電腦名稱
Enya.arkbsd.org 對應到我freebsd hostname 如果不知道的話,用uname -n來查詢
winxp-desktop 對應到windows的電腦名稱,也就是剛剛設過的名稱

在links那邊是要設定當滑鼠移到螢幕邊界的時候要到那一台電腦
winxp-desktop在Enya.arkbsd.org的左邊
反過來說Enya.arkbsd.org在winxp-desktop的右邊
以像上面範例的格式填好之後,設定檔就完成了

step3) 執行軟體

必須先執行server端的程式這樣client才可以連結的到,我們主控端是在freebsd而被控端是winxp的電腦
$ synergys
完成freebsd 主控端的啟動
接著在啟動winxp上的被控端,輸入主控端的ip之後就可以完成聯結了,可以使用滑鼠移出螢幕來確認看看

youtube-dl

如果要下載youtube的影片的話,可以使用這個由python所寫成的簡單下載程式,而且還支援續傳,雖然是文字介面,但用起來還算方法

step 1)

# cd /usr/ports/www/youtube_dl
# make install clean

step 2)
$ youtube-dl -b -o Linux_WM_show.flv "http://www.youtube.com/watch?v=0ABzP9X0zwI"

參數
-b best rate
-o output file name
"URL"
irssi 註冊nick使用者

/set nick NAME
/msg -OFTC nickserv info 查看nick有沒有人註冊
/msg -OFTC nickserv help 查看註冊說明
/msg -OFTC nickserv register your_password your_email
之後去收信,會有一封確認信,在將信內容的指令貼到irssi中就完成了
若這個nick己經有人使用的話,重新使用/set nick NAME設定其它的nick


irssi 刪除己註冊過的nick使用者

/msg -Freenode nickserv drop your_nickname your_password
/msg -Freenode nickserv info your_nickname 查看相關資訊


irssi 己註冊使用者開始連線各伺服器和頻道

/set nick NAME
/set theme red
/network add -autosendcmd "/^msg nickserv identify your_password;wait 2000" Freenode
/network add -autosendcmd "/^msg nickserv identify your_password;wait 2000" OFTC
/server add -auto -network Freenode irc.freenode.net 6667
/server add -auto -network OFTC irc.oftc.net 6667
/channel add -auto #yzugeek OFTC
/channel add -auto #yzugossiping OFTC channel_password
/channel add -auto #awesome OFTC
/channel add -auto ##freebsd Freenode
/channel add -auto #python.tw Freenode
/channel add -auto #ubuntu-tw Freenode
若使用的gtk顏色為深色系的話,那有的時候在輸入文字要選字的時候幾乎是看不到的,因為預設ibus-table輸入選字欄位是黑色字,因此可以透過以下的方法來修改成白色,比較容易看的清楚

$ sudo vim /usr/local/share/ibus-table/engine/table.py

463 attrs.append ( ibus.AttributeForeground (0x7700c3, 0, len(_phrase)) )
464 elif candi[-1] > 0:
465 # this is a sys phrase used by user:
466 attrs.append ( ibus.AttributeForeground (0x000000, 0, len(_phrase)) )
467 else:
468 # this is a system phrase haven't been used:
469 attrs.append ( ibus.AttributeForeground (0x000000, 0, len(_phrase)) )
470 self._lookup_table.append_candidate ( ibus.Text(_phrase + _tbks, attrs) )
471 self._lookup_table.show_cursor (False)

在 ibus.AttributeForeground的0x000000可以改成自己喜歡的色碼,範例如下:

463 attrs.append ( ibus.AttributeForeground (0x7700c3, 0, len(_phrase)) )
464 elif candi[-1] > 0:
465 # this is a sys phrase used by user:
466 attrs.append ( ibus.AttributeForeground (0xeeeeee, 0, len(_phrase)) )
467 else:
468 # this is a system phrase haven't been used:
469 attrs.append ( ibus.AttributeForeground (0xeeeeee, 0, len(_phrase)) )
470 self._lookup_table.append_candidate ( ibus.Text(_phrase + _tbks, attrs) )
471 self._lookup_table.show_cursor (False)

完成之後重新啟動一下ibus就行了

speed up firefox

在網址列輸入about:config來開啟設定

network.http.pipelining true
network.http.proxy.pipelining true
network.http.pipelining.maxrequests 8
browser.backspace_action 0
nglayout.initialpaint.delay 0
browser.cache.disk.parent_directory /tmp