让linux console支持中文显示和fcitx输入法

闲的蛋疼。。。所以想让console支持中文(其实就是UTF8编码的支持),据说有内核的显示补丁。。。但是太高端了。。俺不会。。。。但是找了半天总算没白费时间。。。让俺知道了有framebuffer这东东。。。。。也找到了这篇文章http://forum.ubuntu.org.cn/viewtopic.php?f=8&t=382065,俺基本参照的这上面的来的。。。。。但是开始部分的那个脚本俺没用!因为这部分基本上和解决显卡驱动造成开机画面分辨率过低的方法差不多

在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(可选)。

3 安装fbterm

代码:
$ sudo apt-get install fbterm
4 安装输入法的fbterm模块。我使用的是fcitx,就以fcitx为例。fcitx为fbterm提供的输入模块叫fcitx-fbterm。
代码:
sudo apt-get install fcitx-frontend-fbterm
5 把用户加入到可以使用framebuffer输出的组,这个组叫video
代码:
$sudo usermod -a -G video your_username
6 配置fbterm,fbterm默认的配置文件在~/.fbtermrc,打开后你可以修改虚拟终端输出分辨率,字体,字号,背景色,前景色,甚至可以选用背景图片。
在这里强调的是fbterm的一个安全特性,这个特性会让普通用户在控制台下无法使用系统快捷键,因此无法调出中文输入法。解决办法是:
代码:
sudo setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm

或者:
代码:
sudo chmod u+s /usr/bin/fbterm
到这里,所有工作基本都做完了,接下来你可以按下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-fbterm
还有一些其他设置 将灰白调回纯白。fbter默认将白色显示为灰色,看上去很别扭,在fbterm中运行
代码:
echo -ne "\e]P7ffffff"

鼠标支持。fbterm可以与gpm server配合用鼠标进行复制/粘贴。
代码:
sudo apt-get install gpm sudo service gpm start
切换到fbterm,移动鼠标就可以了。
我自己写了一个脚本zhterm.sh代替了,代码如下 #! /bin/bash export DISPLAY=:0 fcitx-fbterm-helper -l $chmod 755 zhterm.sh && sudo mv zhterm.sh /usr/bin 最后如果想要在进入虚拟终端的时候就启用fbterm的话,可以将下面的代码加到.bashrc里面 if [ "$TERM" = "linux" ]; then     zhterm.sh fi 另外还有一些软件比如fbgrab(截屏) fbi(看图) fbgs(看pdf) console播放视频 mplayer -vo fbdev xxx.mp4 若要指定大小则 mplayer -vo fbdev2 xxx.mp4 -vf scale=1360:768 想看那种字符型的视频的话: mplayer -caca xxx.mp4
相关文章
相关标签/搜索