FbTerm - 支持UTF-8中文的字符终端¶
我在 树莓派Raspberry Pi 400 上使用 Raspbery Pi OS(Raspbian) ,由于硬件性能有限,并且想尝试古早的终端感觉(用最低的硬件实现最大的性能),所以尝试在完全终端的环境下工作。这就需要实现基本的在终端下输入中文和显示中文能力。默认tty终端只能显示一个字节字符,不支持UTF-8,所以只能显示英文。
FbTerm终端软件 提供了采用系统 framebuffer
的终端模拟器,最关键的是,它支持UTF-8字符集,也就是能够实现CJK字符显示。这对在终端环境实现中文输入是男的的支持。假如你是系统轻量级极致追求者,甚至想获得古早Unix字符终端体验,你可以尝试使用这个软件,实现在字符终端(无X.org)平台上实现中文输入。
根据资料 小企鹅输入法fcitx 可以在FbTerm上使用。
安装¶
Raspbery Pi OS(Raspbian) 发行版内置
fbterm
软件包可直接安装:sudo apt install fbterm
启动framebuffer¶
为了实现较好的字符终端体验,建议使用 framebuffer 设备
创建
/etc/udev/my-rules.d/framebuffer.rules
KERNEL=="fb0", OWNER="huatai", MODE="0640"
这样用户 huatai
就能够使用 fb0
(framebuffer设备)
另一种方式是将 huatai
用户假如 video
组:
sudo gpasswd -a huatai video
备注
如果用户没有framebuffer设备权限,可能会提示错误:
can't open buffer frame device!
mmap /dev/zero: Operation not permitted
Using VESA requires root privilege
设置允许使用系统快捷键资源:
sudo setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm
或者使用以下命令:
sudo chmod u+s /usr/bin/fbterm
备注
如果没有允许使用系统快捷键资源,启动 fbterm
会提示错误:
[input] can't change kernel keymap table, all shortcuts will NOT work!
默认启动时会自动生成
~/.fbtermrc
,通过修订该文件可以定制一些功能,例如字体大小和快捷键,我们需要修改输入法input-method
input-method=fcitx-fbterm
设置tty登陆后自动运行FbTerm¶
每次登陆 tty
要输入 fbterm
显然很麻烦,可以在环境变量中设置成自动执行:
修改
~/.bashrc
添加:if [ “$TERM” = “linux” ] ; then fbterm fi
安装fcitx输入法¶
最新的 fcitx5
没有提供 fbterm
支持,所以还是安装版本 fcitx-fbterm
sudo apt install fcitx fcitx-fbterm
这里安装会自动依赖安装 fcitx-pinyin
fcitx-table-wubi
fcitx-googlepinyin
等
备注
旧版本 fcitx
只需要 85MB 空间,比 fcitx5
动辄244MB安装空间要小很多
配置
~/.xinitrc
或~/.bashrc
或者标准环境配置文件/etc/environment
添加:
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
INPUT_METHOD=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus