Debian 8~10 (jessie~buster) 安裝筆記 中文環境篇
我在「基礎安裝篇」就提到我安裝 Debian 時,預設的 LANG 是 C 或 en_US 。就算裝了桌面軟體套件,也全是英文訊息介面,也沒有中文輸入法。所以接下來就要說明如何安裝正體中文語系環境。包含下列項目:
- 中文語系基本套件
- 選擇語系環境
- 中文輸入法: ibus, hime, fcitx
- 字型字體
Debian 10 於 2019-07-06 正式釋出。
Debian 8 於 2015-04-25 正式釋出。
中文語系所需套件
安裝時選擇預設英文語系的話,則安裝後,首先需要執行 dpkg-reconfigure locales
加選正體中文語系(zh_TW) 。然後再安裝下列選用性的軟體套件:
Debian 10 提供 Google 思源字體套件 (fonts-noto 等系列套件) 。安裝桌面環境時,就會順便安裝思源字體。文泉驛 (fonts-wqy) 和文鼎字體 (ttf-arphic) 不再是中文桌面環境所需字體套件。視個人需要安裝。
- xfonts-wqy : 文泉驛 X11 字體。
- fonts-wqy-zenhei : 文泉驛正黑體 (TrueType)。套件舊名 ttf-wqy-zenhei 。
- fonts-wqy-microhei : 文泉驛微米黑體 (TrueType)。套件舊名 ttf-wqy-microhei 。
- fonts-arphic-ukai : 文鼎楷書體 (TrueType)。套件舊名 ttf-arphic-ukai 。
- fonts-arphic-uming : 文鼎明體 (TrueType) 。套件舊名 ttf-arphic-uming 。
- fonts-noto : Google 思源字體 (Debian 10)。
- kde-l10n-zhtw : KDE 的中文語系訊息套件。
選擇語系環境
首先,以 KDE 系統工具調整個人的桌面語系環境。從「系統設定 -> 地域 -> 國家/地區與語言」(System Settings -> Locale -> Country/Region & Language) 。

最後,編輯 $HOME/.xsessionrc ,加入下列兩行可以得到更好的中文語系支援效果。
export LANG=zh_TW.utf8 export LANGUAGE=zh_TW
詳細原因請參考「Debian 如何選擇登入桌面後的語系環境」。
中文輸入
中文輸入法框架有很多種,如 ibus, gcin, hime, scim, fctix 。ibus 在 KDE 環境似乎有些適應不良。 Debian 8 時,使用 hime 。 Debian 10 時,使用 fcitx 。
ibus
- ibus ibus-qt4 ibus-gtk
- ibus-array : 行列30,這是我的慣用輸入法。
- ibus-table-array : 通用表格式行列30,不好用,缺簡碼、符號。
- ibus-pinyin : 拼音與注音兩種。
- ibus-anthy : 日文輸入。
在某次更新後,我的 KDE 突然發生啟動任何應用程式,都會當掉的情形,具體來說是應用程式啟動時突然整個桌面都失去反應,但滑鼠指標還是可以移動。我試著重裝 xorg 和 kde 都無法解決。但移除 ibus 後就正常了。後來試了 scim 和 fcitx 也都會出現這種情形。
接著,我嘗試不要啟動 KDE 時自動載入輸入法,而是啟動後再手動載入輸入法引擎。此時也正常。
我懷疑是自動載入輸入法引擎的指令稿有問題。所以我移除 im-config 套件,並手動刪除以下檔案,就解決問題了。
- $HOME/.xinputrc
- /etc/X11/xinit/xinput.d/*
- /etc/X11/Xsession.d/70im-config_launch
再自己編輯啟動指令稿 $HOME/.xsessionrc 加入下列設置
export LANG=zh_TW.utf8 export LANGUAGE=zh_TW export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus
最後,我要用 KDE 的「系統設定 -> 啟動與關閉 -> 自動啟動」的設定功能,增加一個桌面程式,程式名稱處直接輸入「ibus-daemon -d -x」,以便在進入 KDE 桌面後,自動啟動 ibus 。
我之所以要這麼麻煩地指示 ibus-daemon 的啟動方式,皆因在我的系統中,如果 ibus-daemon 的執行順序在 kwin 之前的話, firefox 就不能輸入中文 (其他桌面應用程式倒是正常)。如果我把 ibus-daemon 啟動指令寫在 /etc/X11/Xsession.d/ 或是 ~/.xsessionrc 中,則 ibus-daemon 的執行順序都會排在 kwin 之前。
參考 I18n/ibus - Debian Wiki 和 Kimpanel - KDE UserBase Wiki 。
hime
在「基礎安裝篇」中,我提到 ibus 和 gedit 互衝的狀況。因此我最後改用 hime 輸入法框架了。使用時非常順暢,甚至可說非常接近 Windows XP/7 上的中文輸入體驗。
- hime hime-data hime-tables hime-gtk3-immodule
- hime-qt4-immodule : Debian 8~9
- hime-qt5-immodule : Debian 10
- hime-tables : 包含行列30、詞音。
- hime-anthy : 日文輸入。
我移除 ibus 後,再安裝 hime hime-data hime-tables hime-gtk3-immodule 套件。配合 KDE 使用的 Qt 庫版號, Debian 8~9 安裝 hime-qt4-immodule , Debian 10 安裝 hime-qt5-immodule 。 hime-tables 是常用中文輸入法表格。包含行列30、詞音等。我另外還需要日文輸入 hime-anthy 。注意,選取安裝 hime ,可能會連帶選取 im-config 套件。但基於上節 ibus 的設置經驗,我懷疑 im-config 有 Bug ,所以我手動移除了 im-config 。反正我也不需要切換輸入法。
如果你有安裝 im-config ,那麼可以用它的工具設定載入輸入法引擎的動作,而不需要自己編輯 .xsessionrc 。但我選擇自己動手做。手動設定時,只要在 $HOME/.xsessionrc 加入下列設置,就可以在登入 KDE 後自動載入 hime 輸入法。不需要像 ibus 那樣還要額外安排 ibus-daemon 的啟動步驟。
export LANG=zh_TW.utf8 export LANGUAGE=zh_TW export GTK_IM_MODULE=hime export XMODIFIERS=@im=hime export QT_IM_MODULE=hime
fcitx
在 Debian 10 的 KDE 桌面環境中,某些軟體看不到 hime 的選字區。所以改用 fcitx 輸入法引擎。 我安裝的 fcitx 套件是:
- fcitx
- fcitx-frontend-qt5
- fcitx-frontend-gtk2
- fcitx-frontend-gtk3
- kde-config-fcitx
fcitx-table-array30: 行列30輸入法字根表。因為這個字根表不含一級簡碼,很難用。我自己轉了一份:「Fcitx行列30字碼表添加一級簡碼」。- fcitx-chewing : 酷音輸入法。
自己編輯啟動指令稿 $HOME/.xsessionrc 加入下列設置:
export LANG=zh_TW.utf8 export LANGUAGE=zh_TW export GTK_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx export QT_IM_MODULE=fcitx
在 KDE 的「系統設定 -> 啟動與關閉 -> 自動啟動」的設定頁面,增加一個桌面程式,選擇 fcitx 。以便在進入 KDE 桌面後,自動啟動 fcitx 。 最後,從「系統設定 -> 區域設定 -> 輸入法」的設定頁面,設定你慣用的輸入法內容。

字型字體
文鼎楷書體和文鼎明體的字體不符合教育部頒標準字體 (某些字的筆劃不一樣)。如果你需要一個符合標準字體的印刷字型,可以考慮行政院主計處全字庫字體,有正宋體和正楷體。參見「利用 X 字體別名,讓 Linux 桌面環境顯示文件中的標楷體、細明體」關於全字庫正楷體與正宋體的說明。
文泉驛和文鼎的字體都按 Unicode 規範提供了超過六萬字的中、日、韓字碼(CJK),足以應付大部份人的需求。如果你遇到需要細明體或微軟黑體的文件,可參考「利用 X 字體別名,讓 Linux 桌面環境顯示文件中的標楷體、細明體」的說明。但 Debian 沒有參考文件中提到的 30-cjk-aliases.conf 文件。我在此提供一份完整的字體設置文件,請放在 /etc/fonts/conf.d/90-chinese-aliases.conf 。
Debian 10 - 90-chinese-aliases.conf
Debian 10 的 fontconfig 設置方式有變。現在 alias 一次只能設定一個字型,不允許寫一組。 但是成員 accept 仍然允許列出多個候選字型。其次, alias 要加上屬性 binding="same" 。
另外,或許是 fontconfig 改變設置之故,有些軟體的字型渲染方式似乎認不得此處的別名設置。 我在 Windows 環境用 LibreOffice 編輯的文件,其中的新細明體、標楷體、微軟正黑體字型,在 Debian 10 的 LibreOffice 開啟時都能正確地以替代字型呈現。 但是 Firefox 和 Chromium 瀏覽器卻多少都有幾個字型沒有按別名替代。這一方面還要持續調校。

上圖右邊的字型選擇框的「標楷體」是以斜體字呈現,這表示這個字型不是這台主機實際安裝的字型,而是借用別的字型渲染。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/conf.d/90-chinese-aliases.conf -->
<fontconfig>
<description>Chinese font families alias</description>
<!-- 設定正體中文視窗明體字的替代品 -->
<!-- 若有全字庫宋體,就用宋體;否則用思源字體 -->
<alias binding="same">
<family>細明體</family>
<accept>
<family>TW-Sung</family>
<family>全字庫正宋體</family>
<family>Noto Serif CJK TC</family>
</accept>
</alias>
<alias binding="same">
<family>MingLiu</family>
<accept>
<family>TW-Sung</family>
<family>全字庫正宋體</family>
<family>Noto Serif CJK TC</family>
</accept>
</alias>
<!-- 若有全字庫宋體,就用宋體;否則用思源字體 -->
<alias binding="same">
<family>新細明體</family>
<accept>
<family>TW-Sung</family>
<family>全字庫正宋體</family>
<family>Noto Serif CJK TC</family>
</accept>
</alias>
<alias binding="same">
<family>PMingLiu</family>
<accept>
<family>TW-Sung</family>
<family>全字庫正宋體</family>
<family>Noto Serif CJK TC</family>
</accept>
</alias>
<!-- 设定简体中文视窗宋体字的替代品 -->
<alias binding="same">
<family>SimSun</family>
<accept>
<family>Noto Serif CJK SC</family>
</accept>
</alias>
<alias binding="same">
<family>NSimSun</family>
<accept>
<family>Noto Serif CJK SC</family>
</accept>
</alias>
<!-- 指定思源字體或「文泉驛正黑(WenQuanYi Zen Hei)」作為 SimHei 的替代品 -->
<alias binding="same">
<family>SimHei</family>
<accept>
<family>Noto Sans CJK SC Regular</family>
<family>WenQuanYi Zen Hei</family>
</accept>
</alias>
<!-- 指定思源字體或文泉驛正黑作為「微軟雅黑體」的替代品 -->
<alias binding="same">
<family>微软雅黑</family>
<accept>
<family>Noto Sans CJK SC Regular</family>
<family>WenQuanYi Zen Hei</family>
</accept>
</alias>
<alias binding="same">
<family>Microsoft YaHei</family>
<accept>
<family>Noto Sans CJK SC Regular</family>
<family>WenQuanYi Zen Hei</family>
</accept>
</alias>
<!-- 指定思源字體或文泉驛正黑為「微軟正黑體」的替代品 -->
<alias binding="same">
<family>微軟正黑體</family>
<accept>
<family>Noto Sans CJK TC Regular</family>
<family>WenQuanYi Zen Hei</family>
</accept>
</alias>
<alias binding="same">
<family>Microsoft JhengHei</family>
<accept>
<family>Noto Sans CJK TC Regular</family>
<family>WenQuanYi Zen Hei</family>
</accept>
</alias>
<!-- 指定「思源黑體」為「文泉驛正黑」的替代品 -->
<!--
<alias binding="same">
<family>WenQuanYi Zen Hei</family>
<family>文泉驛正黑</family>
<family>WenQuanYi Micro Hei</family>
<family>文泉驛微米黑</family>
<accept>
<family>Noto Sans CJK TC Regular</family>
</accept>
</alias>
-->
<!-- 指定「文鼎楷書體」為「標楷體」的替代品 -->
<alias binding="same">
<family>標楷體</family>
<accept>
<family>TW-Kai</family>
<family>全字庫正楷體</family>
<family>AR PL UKai TW</family>
</accept>
</alias>
<alias binding="same">
<family>DFKai-SB</family>
<accept>
<!-- 若有全字庫正楷體,就用正楷體;否則用文鼎楷書體 -->
<family>TW-Kai</family>
<family>全字庫正楷體</family>
<family>AR PL UKai TW</family>
</accept>
</alias>
</fontconfig>
Debian 8 - 90-chinese-aliases.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- /etc/fonts/conf.d/90-chinese-aliases.conf -->
<!-- 設定正體中文視窗明體字的替代品 -->
<alias>
<family>MingLiU</family>
<family>細明體</family>
<family>PMingLiU</family>
<family>新細明體</family>
<family>AR MingtiM BIG-5</family>
<accept>
<!-- 若有全字庫宋體,就用宋體;否則用文鼎明體 -->
<family>TW-Sung</family>
<family>全字庫正宋體</family>
<family>AR PL UMing TW</family>
<family>AR PL ShanHeiSun Uni</family>
</accept>
</alias>
<!-- 设定简体中文视窗宋体字的替代品 -->
<alias>
<family>SimSun</family>
<family>NSimSun</family>
<family>SimSun-18030</family>
<family>NSimSun-18030</family>
<family>宋体</family>
<family>AR MingtiM GB</family>
<accept>
<family>AR PL UMing CN</family>
<family>AR PL ShanHeiSun Uni</family>
</accept>
</alias>
<!-- 指定「文泉驛正黑(WenQuanYi Zen Hei)」作為 SimHei 的替代品 -->
<alias>
<family>SimHei</family>
<accept>
<family>WenQuanYi Zen Hei</family>
</accept>
</alias>
<!-- 指定「文泉驛正黑」作為「微軟雅黑體」的替代品 -->
<alias>
<family>Microsoft YaHei</family>
<family>微软雅黑</family>
<accept>
<family>WenQuanYi Zen Hei</family>
</accept>
</alias>
<!-- 指定「文泉驛正黑」為「微軟正黑體」的替代品 -->
<alias>
<family>Microsoft JhengHei</family>
<family>微軟正黑體</family>
<accept>
<family>WenQuanYi Zen Hei</family>
</accept>
</alias>
<!-- 指定「文鼎楷書體」為「標楷體」的替代品 -->
<alias>
<family>DFKai-SB</family>
<family>標楷體</family>
<accept>
<!-- 若有全字庫正楷體,就用正楷體;否則用文鼎楷書體 -->
<family>TW-Kai</family>
<family>全字庫正楷體</family>
<family>AR PL UKai TW</family>
<family>AR PL ZenKai Uni</family>
</accept>
</alias>
</fontconfig>
Google 最近也釋出了一組字體,叫「思源黑體」。Debian 10 開始提供 Google 思源字體套件 (fonts-noto 等系列套件) 。這套字型是開源軟體字型,但不是自由軟體字型。因為它不是 GPL 授權,可以預見它不會被收錄到 Debian main 套件群組。
相關文章
- Debian 8~10 安裝筆記 基礎篇
- Debian 8 (jessie) 安裝筆記 Firefox 與 Iceweasel
- 視訊加速篇 - VAAPI。
- 視訊加速篇 - VDPAU (NVidia顯卡用戶專用)。 Debian 8 起提供的 vlc 已支援 vdpau 。
- KDE - 關閉 baloo, nepomuk 與 akonadi