LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 6071|回复: 29

fbterm + unimf 中文字符界面安装指南

[复制链接]
发表于 2009-3-31 20:06:57 | 显示全部楼层 |阅读模式
系统需求:
framebuffer 支持编译进内核 或者 KMS 支持编译进内核
基本系统
中文字体 随意
fontconfig http://cblfs.cross-lfs.org/index.php/FontConfig
freetype http://cblfs.cross-lfs.org/index.php/FreeType
启动参数加上 video=vesafb:ywrap,mtrr:3 vga=0x315(根据自己显卡调整),或者使用 KMS 支持(不需加 video=xxx vga=xxx,效果见附图)。

简单点说,如果您在 X 下可以正常显示中文,只要以 root 身份拷贝粘贴、或复制执行下面脚本,即可自动安装配置。
  1. #!/bin/sh
  2. #-----------------UserManual-----------------
  3. wget -c http://ucimf.googlecode.com/files/UserManual.pdf
  4. wget -c http://ucimf.googlecode.com/files/UserManual.txt
  5. #-----------------install--------------------
  6. cd
  7. wget -c http://ucimf.googlecode.com/files/libucimf-2.2.8.tar.gz
  8. tar -xvf libucimf-2.2.8.tar.gz
  9. cd libucimf-2.2.8/
  10. ./configure --prefix=/usr --sysconfdir=/etc
  11. make
  12. make install
  13. cd
  14. rm -rf libucimf-2.2.8/
  15. wget -c http://ucimf.googlecode.com/files/ucimf-openvanilla-2.10.5.tar.gz
  16. tar -xvf ucimf-openvanilla-2.10.5.tar.gz
  17. cd ucimf-openvanilla-2.10.5/
  18. ./configure --prefix=/usr
  19. make
  20. make install
  21. cd
  22. rm -rf ucimf-openvanilla-2.10.5/
  23. wget -c http://ucimf.googlecode.com/files/openvanilla-modules-0.8.0_9.tar.gz
  24. tar -xvf openvanilla-modules-0.8.0_9.tar.gz
  25. cd openvanilla-modules-0.8.0_9/
  26. ./configure --prefix=/usr --with-zh_CN
  27. make
  28. make install
  29. cd
  30. rm -rf openvanilla-modules-0.8.0_9/
  31. wget -c http://fbterm.googlecode.com/files/fbterm-1.5.tar.gz
  32. tar -xvf fbterm-1.5.tar.gz
  33. cd fbterm-1.5/
  34. ./configure --prefix=/usr
  35. make
  36. make install
  37. cd
  38. rm -rf fbterm-1.5/
  39. wget -c http://ucimf.googlecode.com/files/fbterm_ucimf-0.2.5.tar.gz
  40. tar -xvf fbterm_ucimf-0.2.5.tar.gz
  41. cd fbterm_ucimf-0.2.5/
  42. ./configure --prefix=/usr
  43. make
  44. make install
  45. cd
  46. rm -rf fbterm_ucimf-0.2.5/
  47. wget -c http://ftp.debian.org/debian/pool/main/d/dialog/dialog_1.1-20080819.orig.tar.gz
  48. tar -xvf dialog_1.1-20080819.orig.tar.gz
  49. cd dialog-1.1-20080819/
  50. ./configure --prefix=/usr
  51. make
  52. make install
  53. cd
  54. rm -rf dialog-1.1-20080819/
复制代码

整理输入模块(可选)
  1. mkdir -v /usr/lib/openvanilla/OVIMGeneric/bak
  2. mv /usr/lib/openvanilla/OVIMGeneric/*.cin /usr/lib/openvanilla/OVIMGeneric/bak
  3. mv /usr/lib/openvanilla/OVIMGeneric/bak/{pinyin,wubi}*.cin /usr/lib/openvanilla/OVIMGeneric/
复制代码

运行
  1. export LANG=zh_CN.UTF-8
  2. export LC_ALL=zh_CN.UTF-8
  3. fbterm -i fbterm_ucimf
复制代码
  1. LANG=zh_CN.UTF-8 fbterm -i fbterm_ucimf
复制代码
普通用户需要把用户加入 video 组。

注意:
fbterm 安装时被设置 suid bit(机子上有 libcap 的话是另一种情况),当前 ucimf 依赖 root 权限设置键盘映射,仅执行 fbterm 则不需要 suid bit。

如果您以普通用户身份安装,请参考
http://groups.google.com/group/u ... ad/ec755f32322d9b48

注意:
有问题请先看安装脚本下载的 pdf 用户手册,再参考下面资源。
如果您使用发行版,请使用相应发行版的安装方式。
如果想按上面源码方式安装,请自行解决 编译环境、依赖问题 特别是头文件。


参考资源
http://code.google.com/p/ucimf/wiki/FAQ
http://code.google.com/p/ucimf/issues/list
http://groups.google.com/group/ucimf
http://code.google.com/p/ucimf/
http://code.google.com/p/fbterm/

工作在 ATI KMS 上的 fbterm + ucimf 效果图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-3-31 20:16:25 | 显示全部楼层
既然有比较好用的中文字符界面,那就该继续 完善 字符界面 下使用 中文用户名 登录的问题。
如何支持 中文用户名、中文主机名 http://www.linuxsir.cn/bbs/thread336648.html

问题是 fbterm 不支持 型如 chroot /path /bin/login 的命令
回复 支持 反对

使用道具 举报

发表于 2009-3-31 23:20:13 | 显示全部楼层
看来中文用户名的推广又进了一步 :)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-3 23:16:45 | 显示全部楼层

给 fbterm 写了个补丁,现在可以在命令行指定运行的程序

给 fbterm 写了个补丁,现在可以在命令行指定运行的程序,如:
  1. fbterm -i fbterm_ucimf -- vi newfile
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-4 11:50:32 | 显示全部楼层

现在可以从登录开始使用 fbterm + ucimf,并用中文用户名登录系统。

方法如下:
0、建立一个中文用户名的用户
debian、ubuntu 提供的 shadow 软件包打过补丁 506_relaxed_usernames,
可以直接建立 非ascii编码的用户名的用户,包括中文用户名的用户;
其他发行版可以自己给 shadow 软件包打补丁 506_relaxed_usernames,
或手工编辑 /etc/passwd /etc/group /etc/shadow /etc/gshadow 创建中文用户名的用户。

[color="Silver"]1、给 fbterm 打补丁(fbterm-1.5 不需打补丁)
fbterm-1.4_run_command.patch
fbterm-1.4_launch_from_non-current_vt.patch
并重新编译安装。

2、写一个登录脚本 /bin/login.sh
------------------------------
cat > /bin/login.sh << eof
#!/bin/sh
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export HOME=/root
exec /usr/bin/fbterm -i /usr/bin/fbterm_ucimf /bin/login
eof
chmod 700 /bin/login.sh
==============================

3、编辑 /etc/inittab
修改其中一行,
如 5:2345:respawn:/sbin/agetty -I '\033(K' tty5 38400
为 5:2345:respawn:/sbin/agetty -I '\033(K' tty5 38400 -n -l /bin/login.sh
如果不用登录脚本,应修改为
5:2345:respawn:/sbin/agetty -I '\033(K' tty5 38400 -n -l /usr/bin/env
- LANG=zh_CN.UTF-8 /usr/bin/fbterm -i /usr/bin/fbterm_ucimf /bin/login
但这样 init 会抱怨这一行参数太长,并拒绝运行。

4、init q,之后切换到 tty5 就可以用 Ctrl_Space 激活输入法,用中文登录系统。

[color="Silver"]遗留问题(已解决):
1、agetty timeout 不知怎样设置为无穷大(-t 参数不知行不行),
fbterm 启动时会刷新屏幕,不管当前使用的是不是启动 fbterm 的虚拟终端,甚至是 X,
这样会把 两个虚拟终端 显示混合在一起,X 下类似,
切换到 fbterm 所在虚拟终端,再切换回来则正常,超时则继续这样循环,
如果登录到 fbterm 所在虚拟终端,则一切正常。

2、想在登录脚本 /bin/login.sh 中做修正,
可不知道怎么得到当前正激活的虚拟终端设备号,
tty 命令只能得到 shell 运行的虚拟终端设备号。

补丁:
fbterm-1.4_run_command.patch(见上帖)
http://code.google.com/p/fbterm/issues/detail?id=15
fbterm-1.4_launch_from_non-current_vt.patch(见上帖)
http://code.google.com/p/fbterm/issues/detail?id=16

debian shadow 506_relaxed_usernames
http://ftp.debian.org/debian/poo ... w_4.1.1.orig.tar.gz
http://ftp.debian.org/debian/poo ... dow_4.1.1-6.diff.gz 补丁在这里
http://ftp.debian.org/debian/poo ... /shadow_4.1.1-6.dsc
这里有提取出来的单个文件
http://www.linuxsir.cn/bbs/attac ... d=48886&d=12233...

参考:
http://groups.google.com/group/u ... ad/baa5fd4dffdcb27d
回复 支持 反对

使用道具 举报

发表于 2009-4-5 21:50:40 | 显示全部楼层
fbterm下推荐使用文泉驿Unibit字体,其它字体感觉不是很清晰.
回复 支持 反对

使用道具 举报

发表于 2009-4-6 09:29:25 | 显示全部楼层
fbterm下普通用户无法启动svgalib程序,比如看pdf的svp,而root可以,请问怎么解决?谢谢。
回复 支持 反对

使用道具 举报

发表于 2009-4-6 09:45:42 | 显示全部楼层
我是新手,zhcon,cce尝试或好多,但是最终选择了fbterm。但是字体不会弄。现在是软件都装好了,中文显示和输入法都没问题。就是显示太难看了。
    不知道终端模式下的默认字体是什么,我想应该是bios里面自带的字体吧。不知道fbterm中可不可以采用那样的显示效果,或者是采用一个相似的字体。原因一个是我觉得这个字体好看一些,再就是启动fbterm后就不会感觉不适应了。
    希望中文采用simsun的字体,不知道怎么装到系统里,怎么使用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-6 09:52:16 | 显示全部楼层
Post by digwtx;1970269
fbterm下推荐使用文泉驿Unibit字体,其它字体感觉不是很清晰.


是个好主意,不过其英文字体挺丑的。

更好的做法是,设置 fongconfig,使 mono 字体英文使用 Dejavu Sans Mono 或 Bitstream Vera,中文使用 wqy 或 uming、ukai,然后分别配置 fbterm 和 ucimf 使用 mono 做字体。
具体配置可在论坛搜索 ~/.fonts.conf。
回复 支持 反对

使用道具 举报

发表于 2009-4-6 10:05:51 | 显示全部楼层
还有个问题,就是我按照说明启动fbterm,但是怎么也调用不了输入法
ucimf_fbterm好像有错误,但是编译的时候通过了,好奇怪。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表