方格精選

樹莓派 (Raspberry Pi) tty 以 Fbterm 和 fcitx 輸入中文

更新於 2021/01/13閱讀時間約 5 分鐘
tty 無法顯示中文

背景

在 Linux 預設情況下有提供六個命名為 tty1~tty6 的「文字介面」供使用者登入,切換的方式是按:[Crtl] + [Alt] + [F1~F6],在 Raspberry Pi OS 也承襲的這樣的設定,其中 tty1 會自動登入 (預設為pi),而 [Crtl] + [Alt] + [F7] 則是切換回「圖形介面」
然而,雖然現行版本的樹莓派 OS 圖形介面中顯示繁體中文 (zh_TW.UTF-8) 沒有任何問題, 但在 tty1~tty6 等文字介面中卻無法正常顯示及輸入中文

原因

上網找了一下原因,原來是因為預設的 tty 只能顯示一個位元組,不支援 UTF-8 多位元組,所以僅能顯示英文沒辦法使用漢字。為此,我們可以藉由運行 FBTerm 環境獲得一個支持顯示 UTF-8 字體的純終端,而且 FBTerm 目標是與 Linux 核心終端一樣迅速,除此之外,FBTerm 還可以自訂配置字型樣式及大小、預設前/背景色,讓視覺使用上更加舒服,同時也避免孩子 (使用者) 因為字太小而過於靠近螢幕,而造成近視或不良坐姿問題。
另外,據網路資料顯示, fcitx 系統的輸入法在 FBTerm 上比較正常,所以一併進行 fcitx 中文注音輸入法的安裝。

以下紀錄我的安裝步驟:

FBTerm

安裝

sudo apt-get install fbterm

執行

fbterm -s 20
安裝好之後就可以執行一下測試看看。參數 s 表示 font-size。
在 FBTerm 環境成功顯示中文字型
若出現顯示:
can't open buffer frame device!
mmap /dev/zero: Operation not permitted
Using VESA requires root privilege
表示當前登入的使用者沒有在 video群組中,所以必須以 root 權限執行。若想將非root的使用者能使用fbterm,則將該帳號名稱,如user_name加入video群組 ( /dev/fb0 所屬群組):
$ sudo adduser [ user_name ] video
而針對成功執行 FBTerm 出現的錯誤訊息:
[input] can't change kernel keymap table, all shortcuts will NOT work! ...
則是輸入下方指令,使其能使用系統快捷鍵資源
$ sudo setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm

編輯 FBTerm 設定檔

FBTerm 除了 font-size 以外還有許多參數可以設定,但若是每次都要重新 key in 未免也太累人了,不如把相關設定寫入設定檔保存起來。
設定檔存放的位置在 ~/.fbtermrc 。可以用 nano 開啟修改其中參數進行設定
$ nano ~/.fbtermrc
fbtermrc

登入 tty 後自動執行 FBTerm

偷懶就要極致~目前 tty 登入後還要 key in “fbterm” 才會啟動 FBTerm,能不能讓它登入後就自動執行呢?當然可以
$ sudo nano ~/.profile
在最後面加入:
# 確認如果在 tty 底下就執行 fbterm
if [ “$TERM” = “linux” ] ; then
fbterm
fi
搞定!!
如果目的只是要能在 tty 顯示中文,到這裡就OK了;
但如果還想要輸入中文就要繼續下面 fcitx 安裝的步驟

Fcitx 輸入法

安裝

$ sudo apt-get install fcitx fcitx-chewing fcitx-frontend-fbterm
fcitx        fcitx 輸入法主程式
fcitx-chewing    新酷音輸入法;類似微軟新注音的輸入法
fcitx-frontend-fbterm 使 fcitx 在 fbterm 下執行
安裝完成後,重新啟動樹莓派
重新啟動後,若看到桌面右上角的狀態列中多了一個小鍵盤圖示,就表是安裝成功了
Fcitx 圖示

Fcitx 設定

點選桌面左上角[開始選單]>[偏好設定]>[ Fcitx 設定]啟動設定程式
Fcitx 設定
打開設定程式後,在「輸入法」頁籤中可以看到已經安裝好的「新酷音」輸入法。
若有安裝其他輸入法,可以在此頁中調整輸入法順序
在「全域設定」頁籤,可以設定啟動輸入法的快捷鍵,預設的快捷鍵跟 Windows 作業系統一樣都是按 Ctrl + 空白鍵 啟動。
其餘設定這邊就不在贅述,大家就自己試試看唄~

啟用 Fctix 輸入法

使用 FBTerm 時,如果沒有啟用 Fctix 的話,按下 Ctrl + 空白鍵 依然是不會有任何效果的。因此,最後一步便是設定 FBTerm 預設啟用 Fctix 輸入法
開啟 FBTerm 設定檔
$ nano ~/.fbtermrc
修改 input method
input-method=fcitx-fbterm
按 Ctrl + S 存擋後離開 ( Ctrl + X )
如此,便完成了所有的 Fcitx & Fbterm 安裝及設定
可以在樹莓派文字介面 ( tty ) 中,舒服地顯示及輸入中文囉~

參考資料

  1. http://fygul.blogspot.com/2019/05/tty-fbterm-yong.html
  2. http://www.renn999.cc/archives/926/
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
大樹爸爸的沙龍 的其他內容
在圖形介面&文字介面中快速簡單截圖的方法,使用 Scrot 和 fbgrab
放了一個連假,但因為疫情爆發,不敢隨意帶孩子出門,跟孩子們一起做了一款簡單的桌遊,沒想到她們還蠻喜歡的,分享給各位爸爸媽媽囉~ 《開飯了!誰是大胃王》數學益智 自製桌遊 適合 3 ~ 6 歲,學習認數字、比大小、個位數加法、湊成 10 等數學概念
運算思維是面對問題時的一種積極的態度與方法,其中包含著一些原則概念,本篇列舉幾個最主要的核心概念,嘗試以簡單的例子一起來認識這些名詞所代表的涵義。
你的孩子有學程式語言嗎?近年來全球掀起一股程式設計的教育浪潮,各國均將它納入課綱,台灣自然也不例外。但是,我們可曾認真想過為什麼要讓孩子學習程式設計嗎?程式設計終究只是教育的工具之一,「為何而教?」遠比如何教更加重要。整理出 3 個我為什麼教女兒程式設計的理由。
在圖形介面&文字介面中快速簡單截圖的方法,使用 Scrot 和 fbgrab
放了一個連假,但因為疫情爆發,不敢隨意帶孩子出門,跟孩子們一起做了一款簡單的桌遊,沒想到她們還蠻喜歡的,分享給各位爸爸媽媽囉~ 《開飯了!誰是大胃王》數學益智 自製桌遊 適合 3 ~ 6 歲,學習認數字、比大小、個位數加法、湊成 10 等數學概念
運算思維是面對問題時的一種積極的態度與方法,其中包含著一些原則概念,本篇列舉幾個最主要的核心概念,嘗試以簡單的例子一起來認識這些名詞所代表的涵義。
你的孩子有學程式語言嗎?近年來全球掀起一股程式設計的教育浪潮,各國均將它納入課綱,台灣自然也不例外。但是,我們可曾認真想過為什麼要讓孩子學習程式設計嗎?程式設計終究只是教育的工具之一,「為何而教?」遠比如何教更加重要。整理出 3 個我為什麼教女兒程式設計的理由。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
說明自由走動式' 運用藝術媒材社會計量的目標、一般性運用原則、延伸與提醒、問句舉例。
Thumbnail
Fluxus,又稱激浪派,是在 1960 年代興起的前衛運動,強調將藝術與日常生活緊密聯繫。無論是實物作品還是表演作品,激浪派的作品往往展現了對藝術本身的批判態度,並將過程置於成品之上。
Thumbnail
本文介紹了作者使用 Rust 重寫的一個專案,目的是為了在樹梅派上取得 LAN IP,並透過 Telegram 機器人發送訊息。作者首先提到在樹梅派上使用 Python 版本時遇到的問題,之後才開始討論為什麼選擇了 Rust 重寫的理由。
Thumbnail
這一個內容其實是我在聽股癌 EP387的時候的內容,當中提到為什麼指數投資者不需要做停損的原因,會認為本來就有一個汰弱留強的機制在那邊,如果不清楚你自己投資要什麼的人,買ETF就不需要額為的停損操作。 當然這是因為聽他 Podcast的人很多人屬於買指數跟聽氣氛沒有在交易的人
Thumbnail
等了四年,樹莓派5終於在2023年亮相啦!這一款咱們期待已久的開源、低價開發板,真的是讓人眼睛一亮呢! 首先來看看,樹莓派5在性能上的提升。這次的CPU採用了四核A76架構,最高頻率竟然達到了2.4Ghz,而GPU也從VideoCore VI升級到了VideoCore VII,還支援OpenGL
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
說明自由走動式' 運用藝術媒材社會計量的目標、一般性運用原則、延伸與提醒、問句舉例。
Thumbnail
Fluxus,又稱激浪派,是在 1960 年代興起的前衛運動,強調將藝術與日常生活緊密聯繫。無論是實物作品還是表演作品,激浪派的作品往往展現了對藝術本身的批判態度,並將過程置於成品之上。
Thumbnail
本文介紹了作者使用 Rust 重寫的一個專案,目的是為了在樹梅派上取得 LAN IP,並透過 Telegram 機器人發送訊息。作者首先提到在樹梅派上使用 Python 版本時遇到的問題,之後才開始討論為什麼選擇了 Rust 重寫的理由。
Thumbnail
這一個內容其實是我在聽股癌 EP387的時候的內容,當中提到為什麼指數投資者不需要做停損的原因,會認為本來就有一個汰弱留強的機制在那邊,如果不清楚你自己投資要什麼的人,買ETF就不需要額為的停損操作。 當然這是因為聽他 Podcast的人很多人屬於買指數跟聽氣氛沒有在交易的人
Thumbnail
等了四年,樹莓派5終於在2023年亮相啦!這一款咱們期待已久的開源、低價開發板,真的是讓人眼睛一亮呢! 首先來看看,樹莓派5在性能上的提升。這次的CPU採用了四核A76架構,最高頻率竟然達到了2.4Ghz,而GPU也從VideoCore VI升級到了VideoCore VII,還支援OpenGL