--搞自Arch Linux wiki
第一次使用ArchLinux時,用戶通常會遇上這些(典型)的問題:
Contents[hide] |
[edit] 怎么顯示中文的界面?
要正確實現(xiàn)中文,必需設(shè)置正確的locale和安裝合適的中文字體。
[edit] locale的設(shè)定
Linux中通過locale來設(shè)置程序運行的不同環(huán)境。一般常用的中文locale有:
zh_CN.GBK
zh_CN.GB2312
zh_CN.UTF-8
推薦使用UTF8的locale。需要注意的是,對于glibc(>=2.3.6),需要修改/etc/locale.gen文件來設(shè)定系統(tǒng)中可以使用的locale
en_US.UTF8 UTF-8
zh_CN.UTF8 UTF-8
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030
然后執(zhí)行l(wèi)ocale-gen命令,這樣便可以在系統(tǒng)中使用zh_CN.UTF8,zh_CN.GBK,zh_CN.GB2312,zh_CN.GB18030,en_US.UTF8等locale??梢酝ㄟ^locale命令來查看當(dāng)前使用的locale
locale
可以通過locale命令來查看目前可以使用的locale
locale -a
Archlinux中,通過rc.conf文件可以設(shè)置全局有效的locale:
LOCALE=en_US.UTF-8
對于個人用戶,還可以在.bashrc或.xprofile中設(shè)置自己的用戶環(huán)境,不同之處在于:
- .bashrc: 每次終端登錄時讀取并運用里面的設(shè)置。
- .xinitrc: 每次startx啟動X界面時讀取并運用里面的設(shè)置
- .xprofile: 每次使用gdm等圖形登錄時讀取并運用里面的設(shè)置
在終端(文字)界面下也可以顯示和輸入中文,但需要安裝cce和zhcon。更多的locale信息可以參見:
[edit] 安裝中文字體
除了設(shè)置好locale,你還需要安裝中文字體:
pacman -S ttf-arphic-uming
常用的免費(GPL或兼容版權(quán))中文字體有
ttf-arphic-ukai
ttf-arphic-uming
ttf-fireflysung
另外文泉驛的中文點陣字體也非常不錯,你可以從http://www.linuxsir.org 上的Archlinux版上下載文泉驛點陣字體的PKGBUILD來自行安裝。
系統(tǒng)字體將默認安裝到/usr/share/fonts,如果你沒有root權(quán)限或者只打算自己使用某些字體,你可以直接復(fù)制這些字體到.fonts(或者其他)目錄下面,并把該路徑加入/etc/fonts/local.conf中,參見后面章節(jié)。
已知問題:
- 官方軟件庫中沒有文泉驛字體包,你需要自己下載。
- ttf-fireflysung錯誤的依賴了xorg-clients-utils而不是xorg-fonts-utiles,參見bug報告:
參考網(wǎng)點:
[edit] fontconfig設(shè)置
安裝好字體以后,你可能對中文自己的顯示不太滿意。這時需要對fontconfig做某些設(shè)置。你可以在~/.fonts.conf中設(shè)定,也可以在/etc/fonts/conf.d中設(shè)定。
[edit] 重排字型的顯示順序
Serifs字型
<alias>
<family>serif</family>
<prefer>
<family>Bitstream Vera Serif</family>
<family>Times New Roman</family>
<family>Nimbus Roman No9 L</family>
<family>Luxi Serif</family>
<family>Times</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL New Sung</family>
<family>AR PL ZenKai Uni</family>
<family>Ming(ISO10646)</family>
<family>Kochi Mincho</family>
<family>Baekmuk Batung</family>
</prefer>
</alias>
Sans字型
<alias>
<family>sans-serif</family>
<prefer>
<family>Bitstream Vera Sans</family>
<family>Verdana</family>
<family>Arial</family>
<family>Tahoma</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL New Sung</family>
<family>AR PL ZenKai Uni</family>
<family>Helvetica</family>
<family>Ming(ISO10646)</family>
<family>Kochi Gothic</family>
<family>Baekmuk Dotum</family>
</prefer>
</alias>
Mononspace字型
<alias>
<family>monospace</family>
<prefer>
<family>Bitstream Vera Sans Mono</family>
<family>Courier</family>
<family>Courier New</family>
<family>Andale Mono</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL New Sung</family>
<family>AR PL ZenKai Uni</family>
<family>Ming(ISO10646)</family>
<family>Kochi Mincho</family>
<family>Baekmuk Batung</family>
</prefer>
</alias>
[edit] 關(guān)閉小號字體的AA(反鋸齒)
對于比較小的字體,閉小號字體的反鋸齒,會更加清晰。
<match target="font" >
<test compare="eq" name="family" qual="any" >
<string>AR PL New Sung</string>
<string>AR PL ShanHeiSun Uni</string>
<string>AR PL ZenKai Uni</string>
<string>AR PL Mingti2L Big5</string>
<string>AR PL SungtiL Big5</string>
<string>MingLiu</string>
<string>PMingLiu</string>
</test>
<test compare="more_eq" name="pixelsize" >
<double>8</double>
</test>
<test compare="less_eq" name="pixelsize" >
<double>15</double>
</test>
<edit name="antialias" >
<bool>false</bool>
</edit>
<edit name="hinting" >
<bool>true</bool>
</edit>
</match>
Tips:可以到這里得到更詳細的字體設(shè)置文檔和完整的中文字體配置范例
參考文檔
- Fontconfig用戶手冊 http://www.chinalinuxpub.com/read.php?wid=634
- 令Debian支援中文 http://wiki.linux.org.hk/w/Make_Debian_support_Chinese
- http://www.higherorder.org/wiki/Fontconfig
[edit] 怎么輸入中文?
安裝相應(yīng)的輸入法 scim 或者 fcitx。推薦使用scim:
pacman -S scim-pinyin
簡體中文的用戶推薦:
scim-pinyin 智能拼音
scim-tables 五筆
繁體中文的用戶推薦:
scim-chewing
要使用scim,還應(yīng)該設(shè)置以下的環(huán)境變量(以scim為例),(可在xinitrc, .bashrc或.xprofile中設(shè)置)
export XIM="SCIM"
export XMODIFIERS=@im=SCIM #設(shè)置scim為xim默認輸入法
export GTK_IM_MODULE=scim #設(shè)置scim為gtk程序默認的輸入法
export QT_IM_MODULE=scim #設(shè)置scim為gtk程序默認的輸入法
export XIM_PROGRAM="scim -d" #使可以自動啟動
已知問題:
- 由于SCIM的ABI兼容性問題,目前可能會造成一些軟件拒絕運行,這些軟件包括但不限于:Acrobat Reader, openoffice,直接從mozilla.org下載的firefox, thunderbird,以及realplay。權(quán)宜之計: 在程序的啟動文件頭輸入:
- 目前scim在QT程序中還不能做到光標(biāo)跟隨
Tip:為什么推薦使用SCIM?
- 因為到目前為止,SCIM是惟一的“傻瓜式”輸入法(感謝作者付出的很多努力,最終讓我們打包和維護相當(dāng)?shù)妮p松,而且對于用戶來說,也基本不需要什么設(shè)置)。
[edit] 中文顯示很模糊(淡),或沒有中文粗體?
在正常情況下,gnome本身已經(jīng)轉(zhuǎn)由cairo+pango來渲染字體,不存在這個問題了,但是你很可能在瀏覽一些網(wǎng)頁時,還會發(fā)生這些問題。
沒有中文粗體解決方法:
把下面的配置加入/etc/fonts/local.conf
<!--
Synthetic emboldening for fonts that do not have bold face available
-->
<match target="font">
<!-- check to see if the font is just regular -->
<test name="weight" compare="less_eq">
<const>medium</const>
</test>
<!-- check to see if the pattern requests bold -->
<test target="pattern" name="weight" compare="more">
<const>medium</const>
</test>
<!--
set the embolden flag
needed for applications using cairo, e.g. gucharmap, gedit, ...
-->
<edit name="embolden" mode="assign">
<bool>true</bool>
</edit>
<!--
set weight to bold
needed for applications using Xft directly, e.g. Firefox, ...
-->
<edit name="weight" mode="assign">
<const>bold</const>
</edit>
</match>
或者使用了下面的local.conf文件替換系統(tǒng)默認的local.conf文件。
cp local.conf /etc/fonts/
或者,自行編譯fontconfig2.3.92以上的版本,并打開local.conf中的autohint
KDE環(huán)境:對不起,我不知道,我已經(jīng)超過1年多沒有用KDE了。歡迎各位的補充其他環(huán)境:見上。
- 官方新版本的mozila firefox(大于1.5.0.1)已經(jīng)使用cairo+pango,但是在某些網(wǎng)站時會相當(dāng)?shù)穆?
[edit] 如何顯示影片的中文字幕?
[edit] mplayer
修改~/.mplayer/config
font=/usr/share/fonts/TTF/uming.ttf
subcp=cp936
可以使用下面的命令手動加載字幕
mplayer xxx.avi -sub xxxxx.srt
同時,你還可以設(shè)置mplayer自動加載字幕。如果你無法在gmplayer的選項中找到這個選項(天知道你會有這樣粗心),直接修改~/.mplayer/gui.conf如下:
sub_auto_load = "yes"
sub_unicode = "yes"
sub_pos = "100"
sub_overlap = "no"
sub_cp = "cp936"
font_factor = "0.750000"
font_encoding = "unicode"
- mplayer cvs(2005.12以后)已經(jīng)使用了gtk2的界面,但是很遺憾的是并沒有完全利用gtk2良好的國際支持,甚至沒有使用gtk.filechooser。
- 正體中文 codepage 為 cp950。
[edit] SMPlayer
SMPlayer 是一個基于QT的MPlayer前端。顯示中文字幕很方便。只要在設(shè)置對話框里設(shè)定缺省字幕編碼和字體即可。而且立即生效,無需重新啟動程序。
[edit] xine
xine也可以顯示中文字幕,但需要制作自己的中文字體。具體可以參考 http://forum.ubuntu.org.cn/about2760.html
[edit] gstreamer
在totem 1.4.0,由于使用gstreamer0.10,應(yīng)該是可以自動加載同名的srt字幕。
[edit] MP3文件在播放器中亂碼
對于所有用gstreamer做后端的播放器,如Rhythmbox,totem,設(shè)置如下的環(huán)境變量后即可正確讀取mp3中GBK編碼的id3 tag。
export GST_ID3_TAG_ENCODING=GBK:UTF-8:GB18030
export GST_ID3V2_TAG_ENCODING=GBK:UTF-8:GB18030
對于Beep media player,可以在pefenrence->plugins->media中選中MPEG Audio plugin然后點擊下方的Penfenrences,此時會出現(xiàn)一個對話框,選擇title,將Disable ID3v2和Convert non-UTF8 ID3 tags to UTF8前的選擇框選中。然后在ID3 encoding中填入 gbk。這樣bmp就能正確顯示GBK編碼的ID3 tag。
Quod Libet播放器支持tag編輯及設(shè)置id3v2編碼??梢栽趡/.quodlibet/config中設(shè)置
id3encoding = gbk
注意:Quod Libet默認支持utf8編碼
最為徹底的解決方法為將編碼為gbk的id3 tag轉(zhuǎn)化為utf8編碼。首先安裝mutagen,然后利用下面的命令轉(zhuǎn)化:
mid3iconv -e gbk test.mp3
[edit] windows分區(qū)下的中文文件是亂碼?
如果使用了hal,應(yīng)該是沒有問題了,但是如果沒有,請不妨試一下:
在/etc/rc.conf中的daemon一段中添加hal。
或者直接修改/etc/fstab,注意危險,你如果不懂,就不要學(xué)我:-)。如果locale是utf8,掛載windows分區(qū)時應(yīng)該做如下設(shè)置
/dev/hdc5 / reiserfs defaults iocharset=utf8 0 0
如果locale是GBK,則應(yīng)該是
iocharset=cp936
已知問題:
[edit] samba亂碼
用Arch作為samba服務(wù)器時,在 /etc/samba/smb.conf 中加入下面一行就可以解決Windows客戶端等亂碼問題:
unix charset=gb2312
[edit] ftp亂碼
很多ftp站點是GBK編碼,如果使用UTF8的locale,下載的文件名可能會亂碼。對于lftp,在.lftp/rc下做如下設(shè)置
set ftp:charset "gbk"
set file:charset "UTF-8"
對于gftp,可以在.gftp/gftprc中做如下設(shè)置即可正確顯示服務(wù)器端gbk編碼的文件名
remote_charsets=gb2312
但下載下來的文件名仍然是亂碼,此時需要打補丁。補丁地址為: http://www.teatime.com.tw/%7Etommy/linux/gftp_remote_charsets.patch
[edit] JAVA界面亂碼
對于java 1.5來說,只要在
/opt/java/jre/lib/fonts
中建立fallback目錄,然后鏈接或拷貝若干中文字體到該目錄就能使java程序正確顯示中文。例如,再已經(jīng)安裝 jre 和ttf-fireflysung 的情況下,執(zhí)行下面的命令即可:
ln -s /usr/share/fonts/TTF/odosung.ttc /opt/java/jre/lib/fonts/fallback/
[edit] Doc文件無法打開或顯示不正常?
安裝openoffice。
pacman -S openoffice-zh_cn
- 如果你打算使用英文版的openoffice,你只需要安裝openoffice-base包。
- 正體中文包 openoffice-zh_tw。
- 開啟 amd_64 的 openoffice 時可能發(fā)生異常,此時可安裝 libsndfile 進行修正。
已知問題:官方庫中的openoffice
[edit] 正確顯示中文PDF文件
[edit] Evince
pacman -S evince xpdf-chinese-simplified
[edit] xpdf
pacman -S xpdf-chinese-simplified
[edit] kpdf
[edit] arcobat
安裝AUR里的acroread7-chsfont即可。
Tips: Evince,Xpdf,Kpdf都能正確顯示大部分中文PDF文件,但是一些沒有內(nèi)嵌中文字體的PDF文件需要CMap文件, 文本編碼, 和其他各種配置信息等才能正確顯示。這些附加信息包含在xpdf-chinese-simplified中,xpdf-chinese- simplified可以不依賴Xpdf而獨立安裝,但是Arch 中 xpdf-chinese-simplified依賴于Xpdf這個包,這個依賴性的處理不太合理,用戶可以自行修改?;蛘呓o包維護者提交解決方法
[edit] vim亂碼
如果locale是utf8編碼,用vim顯示gbk編碼的文件可能會亂碼。因此需要在.vimrc做如下設(shè)置
"Chinese GBK support
set fileencodings=utf8,gbk
[edit] Latex中如何使用中文
首先需要安裝CJK包,然后需要安裝合適的字體。具體可以參考
[edit] 如何使用字典
首先請先安裝stardict
pacman -S stardict
stardict默認是不帶字典的,需要去http://stardict.sourceforge.net/ 下載字典安裝。安裝方法如下
tar -xjvf testdict.tar.bz2
mv testdict /usr/share/stardict/dic
推薦使用
- xdict英漢字典
- Merrian Webster 10th dictionary
- 牛津現(xiàn)代英漢雙解辭典(正體中文)
- 朗道英漢詞典(正體中文)