中文的locale在tty下查看以及输入中文一直是个头疼问题。FbTerm 是一个使用 frame buffer 设备或 VESA 显卡的终端模拟器,在Ubuntu下可与ibus或fcitx配合使用,实现中文输出和输入。
附件: 文件注释: console截屏 screen.png [ 51.09 KiB | 被浏览 10629 次 ]在Ubuntu下安装和使用fbterm虚拟控制台:
1 安装v86d实现控制台下vesa输出
代码: $ sudo apt-get install v86d为了方便你查看显卡可用的输出模式,可以安装hwinfo
代码: $ sudo apt-get install hwinfo $ sudo hwinfo –framebuffer这两个包在下面的脚本中会自动安装,如果你已经安装了,可以无视。
2 配置framebuffer。修改/boot/default/grub,在内核启动选项中加入framebuffer输出和分辨率的设置,在intramfs的模块中加入vesa的framebuffer及其设置,在intramfs的开机splash配置中开启framebuffer(可选)。
以上两个步骤非常重要,是能正常使用fbterm的基础,并且可以解决Ubuntu安装Nvidia二进制驱动后grub、开机动画和控制台分辨率过低的问题。下面这个脚本可以自动完成上面这两个步骤的所有配置工作(感谢D0rkye):
Syntax : [ ] [ [url=]Hide[/url] ] [ [url=]Select[/url] ] [ [url=]Expand[/url] ] Using bash Syntax Highlighting #!/bin/bash # ———————————- # Author: D0rkye # Homepage: # Most code probably by kyleabaker: … ot-screen/ # # Fix for Ubuntu 11.04, for BURG, and some extra bloat by Paolo Bernardi ( ) # ———————————-如果你看到有关burg的输出字样而你并没有安装burg,可以无视。
3 安装fbterm
代码: $ sudo apt-get install fbterm4 安装输入法的fbterm模块。我使用的是fcitx,就以fcitx为例。fcitx为fbterm提供的输入模块叫fcitx-fbterm。
代码: sudo apt-get install fcitx-frontend-fbterm也可以到其github主页上下载源码包并编译安装。
代码: $ git clone $ cd fcitx-fbterm $ mkdir build && cd build $ cmake .. $ make && sudo make install编译所依赖的包主要是fcitx的开发库,fcitx-libs-dev。
5 把用户加入到可以使用framebuffer输出的组,这个组叫video
代码: $ sudo adduser your_name video6 配置fbterm,fbterm默认的配置文件在~/.fbtermrc,打开后你可以修改虚拟终端输出分辨率,字体,字号,背景色,前景色,甚至可以选用背景图片。
在这里强调的是fbterm的一个安全特性,这个特性会让普通用户在控制台下无法使用系统快捷键,因此无法调出中文输入法。解决办法是:
代码: sudo setcap ‘cap_sys_tty_config+ep’ /usr/bin/fbterm或者:
代码: sudo chmod u+s /usr/bin/fbterm7 到这里,所有工作基本都做完了,接下来你可以按下ctrl+alt+F1,登录后输入fbterm,就可以正常显示中文了。fcitx-fbterm提供了一个脚本,可以直接打开fbterm并调用fcitx,命令名是fcitx-fbterm-helper
代码: $ env DISPLAY=:0 fcitx-fbterm-helper如果你使用纯shell,之前fcitx并没有启动,那么
代码: $ env DISPLAY=:0 fcitx-fbterm-helper -l一般情况下,也可以直接指定输入法并启动fbterm
代码: env DISPLAY=:0 fbterm -i fcitx-fbterm8 为了方便,可以在.bashrc加入一行,用来在登录tty的时候自动运行fbterm
代码: echo “[[ $(tty) == \/dev\/tty[0-9]* ]] && fcitx-fbterm-helper” >> ~/.bashrc,这样每次你从tty登录,会自动运行fbterm及fcitx-fbterm。
9 fbterm可以将要使用的输入法设置写入配置文件,在~/.fbtermc中写入
代码: input-method=fcitx-fbterm启动fbterm后就会启用fcitx输入,当然你也可以使用ibus-fbterm。
10 fbterm支持256色显示,这样看起来要漂亮一些。默认情况下,fbterm的运行环境是echo $TERM=linux,此时使用16位色;当echo $TERM=fbterm,则使用256色。例如
代码: TERM=fbterm vim ~/.fbtermrc则使用256色运行vim,这样你就可以使用vim的256色主题。一劳永逸的办法是在fbterm中运行
代码: export TERM=fbterm这样在本次fbterm会话中将一直使用256色。256色的背景/前景色定义与~/.fbtermrc中的16位色有所不同,具体参考man文档。
11 将灰白调回纯白。fbter默认将白色显示为灰色,看上去很别扭,在fbterm中运行
代码: echo -ne “\e]P7ffffff”12 鼠标支持。fbterm可以与gpm server配合用鼠标进行复制/粘贴。
代码: sudo apt-get install gpm sudo service gpm start切换到fbterm,移动鼠标就可以了。
13 fbterm设置背景图片的方法,参考 man fbterm的150行,关于快捷键安全特性,参考207行
_________________
添加ppa后只更新此ppa: update-ppa() { sudo apt-get update -o Dir::Etc::sourcelist=”sources.list.d/$1.list” -o Dir::Etc::sourceparts=”-” -o APT::Get:ist-Cleanup=”0″ } 写入~/.bashrc,source一下,就可以直接用,是不是很方便?觉得方便就按个赞。[转]