DeLi Linux 0.8 中文环境配置

这是DeLi Linux 系列日记的第5篇,上一篇是:DeLi Linux 0.8 软件安装。这也是这个系列日记的最后一篇。

在这篇日记里,主要介绍怎么样在 DeLi Linux 0.8 上配置一个好用的中文使用环境,包括控制台和X Window 中文使用环境。控制台环境主要介绍:Zhcon中文控制台环境(输入法)Screen(全屏窗口管理器), W3m浏览器, Vim文本编辑器的安装及使用;X Window 环境主要介绍: Fcitx输入法, Firefox1.5浏览器, Dillo2浏览器及中文字体(如文泉驿)的安装及使用。

因为需要从源码编译安装,所以先安装开发包,用: pacman -S devel 命令安装全套开发包。如果你的硬盘空间比较紧张,好像只安装一个binutils也行,你可以试试: pacman -S binutils 。

如果你使用中文,并且需要让一台非常古老的机器(如486)重新恢复活力,控制台环境是一个理想的选择。你用486 + Linux 机器可以做些什么呢?请参见我的一篇日记:呵呵,微软也开始打windows广告了,百度广告;我和linux。先介绍控制台环境。

1、Zhcon 中文控制台环境(有五笔和拼音等多种输入法)
DeLi Linux 0.8 已经默认包含了 Zhcon,登录控制台后,输入“ zhcon ”命令即能启动。不过,我曾经在一台486机器上执行zhcon失败,手工编译后能够成功执行。你如果遇到这种情况,请在这里下载并重新编译zhcon。一点需要注意的地方是,在执行“ ./configure ”之前,先执行“ export CXXFLAGS="$CXXFLAGS -liconv -lintl" ”,否则你将通不过编译。参见:Need help, I can't get a chinese console under DeLi Linux 0.7.90。关于zhcon的使用,请用“ CTRL+ALT+H ”调出它的帮助菜单。
这里要注意的是,在DeLi Linux 0.8里安装的zhcon必须使用root帐号登录才能启动,然后你可以执行“ screen ”在一个控制台开启多个虚拟的终端(这样你用不着再登录一个控制台以执行多个程序),然后从root帐号执行“ su 你的普通用户名 ”来执行普通用户操作。另外, DeLi Linux 0.8 的zhcon下面的鼠标不能工作,我到现在也不知道原因。

2、 Vim 文本编辑器
DeLi Linux 0.8 自带的vi 是e3vi,对中文的支持可能不太好。它自带的nano编译器在zhcon的utf8环境下也可以很好输入中文(用 zhcon --utf 命令启动zhcon),但是w3m浏览器在zhcon的utf8环境下工作有点问题,不知道是zhcon的问题还是w3m的问题。我在控制台下面是把在 DeLi Linux 0.7.2 里带的vim-7.1用日记“用DeLi Linux 0.8 软件安装”里使用的方法移植到DeLi Linux 0.8里,下载地址: http://www.delilinux.de/packages/deli/ap/vim-7.1-i386-1.tgz 。然后,在你的家目录(如你的用户名是 delier,那么就是/home/delier 下面)下面建一个 .vimrc文件,这里是一个我在网上抄的支持中文的.vimrc文件,你可以试一下:

set encoding=gb2312
syn on
set guifont=Luxi\ Mono\ 11
set tabstop=4
set shiftwidth=2
set autoindent
set backspace=2
set smartindent
set ai!
set nu!
set showmatch
set ruler
set incsearch
set vb t_vb=

2、W3m 浏览器
在DeLi Linux 里没有自带 W3m 浏览器,所以需要自己从源码编译安装。使用w3m需要先编译安装gc,我试了一下,好像是新版的(如:6.8)在DeLi Linux上不能使用,gc6.2的可以使用。在 http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ 处下载gc6.2并用默认的选项编译安装。
然后在 http://prdownloads.sourceforge.net/w3m/ 处下载w3m-0.5.2。在编译 w3m 之前,先设置环境变量:
export LD_LIBRARY_PATH="/usr/lib:/usr/local/lib"
否则你可能不能编译成功。
用默认选项编译安装w3m后,在/lib中加了一个libgc.so.1到/usr/local/lib/libgc.so.1.0.2的符号链接:
ln -s /usr/local/lib/libgc.so.1.0.2 /lib/libgc.so.1
这样w3m浏览器就安装成功了。
下面简单介绍一下在deli linux 0.8控制台下使用w3m的几个注意点。
先在/usr/bin下面建立一个w3m的软链接: ln -s /usr/local/bin/w3m /usr/bin/w3m ,否则你在root帐户下面用“ su ”命令切换到普通用户下面执行w3m就会找不到命令。
用“ w3m http://www.yoururl.com ”打开网址,U 键输入你要到的网址。 H 键调出帮助菜单。
O 键调出设置菜单,然后进行一下必要的设置。注意,每一节设置完成后都需按下面的“OK”确定。“Display Settings”的“Render frames automatically”请选“YES”,以支持框架网页;“External Program Settings”的“Editor”请改为“/usr/bin/vim”,以使用我们前面移植安装的vim作为编辑器;“Cookie Settings”里的“Enable cookie processing”和“Accept cookies”选择“YES”,以默认接受所有网站的cookie,否则你可能不能登录一些网站,如果不接受特点网站的cookie请在“Domains to reject cookies from”添加相应域名,W3m的Cookie设置我也不是非常明白,所以仅供参考;然后比较重要的是“Charset Settings”一节的设置(我也是摸索出来的,仅供参考),先将“System charset follows locale(LC_CTYPE)”设为“NO”,查看简体中文网站把“Display charset”设为“Chinese (EUC-CN, GB2312) ”,查看繁体中文将“Display charset”设为“Chinese Taiwan (Big5, CP950) ”并在设置完成后按“CTRL+F3”将zhcon的环境切换为繁体中文;如果在 X Window 的xterm中使用w3m,需要把“Display charset”设为“Unicode (UTF-8) ”。

另外,在控制台环境下可以用mutt + esmtp + fetchmail + procmail 的组合进行电子邮件的收发,详细设置参见:用 MUTT 收发电子邮件(更正版);用mp3blaster听mp3等等(mutt和mp3blaster我没有在DeLi Linux 0.8上试过)。

下面介绍一下DeLi Linux 0.8 X Window 中文使用环境的配置
(部分内容摘自DeLi Linux 的wiki 页: 国际化和本地语言支持

1、语言环境设置:
当用 ”delisetup” 设置的时候选择 “zh_CN.UTF-8”,在文件”/etc/profile”的后面应该有像下面这样的两行:

export LANG='zh_CN.UTF-8'
unicode_start

如果你喜欢英文的程序菜单和桌面,也可以把“ zh_CN.UTF-8 ”改为“ en_US.UTF-8 ”,后面介绍的fcitx同样可以在英文环境下使用,但是必须要有中文字体。

2、添加一个好看的中文字体

拷贝一个 *.ttf 中文字体到一个字体目录,例如:一个文泉驿字体: ”/usr/share/fonts/wenquanyi/wqy-zenhei/wqy-zenhei.ttf”。然后以 root 用户和非 root 用户和身份执行 ” fc-cache -fv ”。
同样的方法拷贝一个中文点阵字体到上面的字体目录(因为我后面介绍的从DeLi Linux 0.7.2移植来的firefox1.5 因没有编译xft字体支持需要点阵字体才能很好的显示中文字体),我这里选择文泉驿的文泉驿点阵宋体,是把Ubuntu下安装的这个点阵字体目录wqy-bitmapfont拷贝到“ /usr/share/fonts/wenquanyi/ ”下面。为了让firefox1.5能够使用这个点阵字体,需要在/etc/X11/xorg.conf中添加如下内容:

Section "Files"
FontPath "/usr/share/fonts/wenquanyi/wqy-bitmapfont"
EndSection

3、安装一个中文输入法

例如,一个小巧快速的中文输入法软件”fcitx“,你自己编译它,或者直接用下面的命令安装一个现成的二进制包:

pacman -U http://39file.googlepages.com/fcitx-3.1-1.pkg.tar.gz

或者,你可以用命令”makepkg -c“编译一个fcitx的pacman包,我从archlinux那里借用了一下”PKGBUILD”脚本: http://repos.archlinux.org/viewvc.cgi/fcitx/repos/extra-i686/PKGBUILD?revision=356&view=markup 。 我注释掉了这行:”arch=(”i686” “x86_64”)”和这行”depends=(’libxft’ ‘libxpm’)”。

然后,在 ”~/.xinitrc” 的最后一行之前添加几行,这个文件的最后部分正像这样:

# start some nice programs

export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx
fcitx&
exec icewm-session

用这种方法,当执行”startx”时,”fcitx”中文输入法将自动启动。
另外,如果你使用的是语言环境是前面设置的“ export LANG='en_US.UTF-8' ”,那么,需要在 ~/.xinitrc 里面启动fcitx之前添加一行(如在export XMODIFIERS="@im=fcitx" 前面): export LC_CTYPE="zh_CN.UTF-8"

另外,我发现,尽管是用fcitx中文输入法,在我的赛扬400的机器上在 X Window 下面输入中文仍不是非常流畅(如刚用CTRL+Space切换输入法开始输入汉字时就有明显的延迟)。我曾经尝试在 DeLi Linux 0.8 上安装Xcin + Crxvt,Chinput 等输入法(输入环境),但是没有成功。所以,如果你没有解决 X Window 下面输入法的问题,你的电脑特别古老,但是你需要大量的输入文字,那么,建议你把控制台下面的中文输入环境配置好,你一定可以体会到运指如飞的感觉(我原来在486机器上写博客就是这样的。不过,我的486机器现在暂时退居二线了 🙂 )。实际上,前面介绍的zhcon中文控制台环境你简单学习一下就应该可以用了。

4、改变 GTK 程序的字体大小

在 GTK 程序里字体有点小(如菜单的)。创建一个文件”~/.gtkrc-2.0”,这里是一个示例文件,它使用12号大的“文泉驿正黑体”作为这些 GTK 程序的默认字体:

style "gtk-default-zh-cn" {
font_name = "wenquanyi zen hei 12"
}
class "GtkWidget" style "gtk-default-zh-cn"

5、改变 icewm 的字体大小

“icewm” 的字体也有一点小。把”/usr/share/icewm/preferences”拷贝到”~/.icewm/”里面,取消字体设置行的注释,例如,取消”# MenuFontNameXft=”sans-serif:size=10:bold” ”这行的注释,并把大小改成“12”,像这样” MenuFontNameXft=”sans-serif:size=12:bold” ”,这将使icewm菜单的字体大一点。

6、安装中文支持好的网页浏览器

DeLi 0.8 带的网页浏览器 netsurf 可以显示简单的网页(包括中文网页),但是,不能用“fcitx”中文输入法在它的输入框中输入中文。Skipstone几乎是一个全功能的网页浏览器并有好的中文支持。首先,执行 “su” 变成root用户,然后执行 “pacman -S skipstone” 安装 skipstone 网页浏览器。
不过,对于老旧电脑来说,skipstone浏览器仍然显得太笨重了。我简单测试了一下几个浏览器的内存占用情况,用命令 " pmap `pidof program name`|tail -1 " 得到的数据如下:

打开 http://www.google.com/
dillo-i18n-0.8.6 27516K
dillo2 26616K
firefox-1.5 29656K

打开 http://www.learndiary.com/
dillo-i18n-0.8.6 31516K
dillo2 28240K
firefox-1.5 36388K
skipstone1.0.0 51768K

所以,我下面介绍一下如何把 DeLi Linux 0.7.2下面的firefox1.5移植到DeLi Linux 0.8里,用的方法请参见:DeLi Linux 0.8 软件安装里有关“移植 deli0.7.2 中的 firefox 1.5 的一些注意事项”。因为DeLi Linux 0.7.2 里面的firefox1.5没有编译加入xft字体支持,所以浏览中文网页字体不太好看,甚至个别字显示不出来。我解决这个问题是使用中文点阵字体(如:wenquanyi bitmap 字体)。前面介绍字体安装时已经安装了文泉驿的点阵宋体字。你在firefox的“Edit”->“Preferences”->“Content”把中文字体和“Other Languages”都设置为“wenquanyi-wenquanyi bitmap song-iso10646-1”。然后你就可以使用漂亮的文泉驿点阵宋体字了 🙂 。
我发现在 DeLi Linux 0.7.2现在的软件仓库里的firefox1.5我不能使用,要在DeLi Linux 0.7.2 的 Big ISO 文件里的才行。如果你遇到类似的情况而又不能得到老的 DeLi Linux 0.7.2 光盘ISO,可以在这里下载我传到google论坛的firefox-1.5.0.12-i386-1.tgz(来自DeLi Linux 0.7.2的Big ISO 文件)。

如果你只是浏览一下图片和文字,快速的Dillo浏览器绝对让你使用老旧电脑上网也有飞一般的感觉。Dillo2在2008年10月释出,采用FLTK图形库,应该比原来的Dillo0.8.x 更快,资源更省。你可以在它的主页下载最新的dillo2.0源码和在这里下载它需要的FLTK v2.0.x-r6483(dillo2.0推荐的版本)图形库。按照说明,分别以默认方式编译安装。在终端输入dillo就可以浏览网页。把/usr/local/etc/dillorc拷贝到 ~/.dillo 目录下,修改其中的vw_fontname和fw_fontname为中文字体就可以显示中文了。在这里得到 Dillo2 的使用帮助。

7、一些技巧

使 xterm 能够显示中文

Xterm 的默认字体不能完全显示中文。按住“CTRL”键,不要松开,用鼠标在xterm窗口上单击右键,它将显示一个弹出菜单,也不要松开鼠标右键,向下移动鼠标的箭头选择“Large”,松开 “CTRL”键和鼠标右键。现在它可以完全显示中文了。 另外,在 xterm 后面加一个 “ -fa xx ”也可以完美的显示输入中文(如执行: xterm -fa w ),那个 -fa 后面应该是字体的名字,不过,我在 DeLi Linux 0.8 试了一下不管输入什么都可以起作用,但是却不能指定特定的中文字体,我也不知道原因 🙁 。

Abiword 显示和输入中文

默认情况下,Abiword 不能显示中文,在你打开一个中文文本文件后,按 CTRL+A 全选所有文字,然后选择一个中文字体,中文文本将被正确显示。

在你输入中文之前,先选择一个中文字体。

在 Gnumeric 上激活中文输入法

左键单击公式输入框,按 CTRL+SPACE,可以激活fcitx的中文输入法。

一些 X 程序启动慢
如 xterm, xcalc, xfontsel 等程序,启动时特别慢,同时cpu占用几乎100%,受在Ubuntu上安装wine的启发得到解决方法,执行: sudo sed -i -e '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE 就行了。实际上就是删除了其中的GBK字体内容。不过,如果你按前面的方法安装了文泉驿点阵宋体后,不执行这一步也不会出现X程序启动慢的问题,原因应该就是文泉驿点阵字体包括了GBK字体。

好了,DeLi Linux 中文环境的设置就介绍到这里,以后如果有什么心得或教训我会补充的。DeLi Linux 系列日记到此结束。欢迎交流。祝好运。

DeLi Linux 0.8 软件安装

这是DeLi Linux 系列日记的第4篇,上一篇是:DeLi Linux 0.8 设置;下一篇将是:DeLi Linux 0.8 中文环境配置

在这篇日记里,主要介绍怎么样在 DeLi Linux 0.8 上安装软件,包括Pacman 软件包管理器安装, ABS 源码安装, 把DeLi Linux 0.7.2上的软件移植到 DeLi Linux 0.8 上 和一般源码安装。

DeLi Linux 0.7.x 系列是采用一个叫作deliget 的程序从因特网上的软件仓库进行二进制包的安装和借用 crux 的ports系统进行源码安装。DeLi Linux 0.8 借用了 Arch Linux 的强大的pacman 包管理系统和ABS系统进行软件的安装。关于pacman 的用法请“man pacman”或参见:使用 Pacman,或者Arch Linux 的wiki上的pacman页;ABS系统的使用请参见 Arch Linux 的Wiki的ABS页面。不过,请注意,DeLi Linux 0.8并没有完全使用Arch Linux的ABS系统,下面我就只介绍一下怎样在DeLi Linux 0.8 用ABS风格的源码安装。

以重新编译安装 skipstone 浏览器为例(实际上在DeLi Linux 0.8的软件仓库里有这个软件,用pacman -S skipstone 就可以安装,而我刚开始时以为没有这个软件的二进制包,所以使用了一下DeLi Linux 0.8的makepkg 源码安装方法,其属于ArchLinux 的ABS系统)。

首先,在这里下载 ports20085029.tar.gz;
执行 “ su ”变成 root 用户;
使用命令“ tar xfvz ports20085029.tar.gz -C /usr”把“ports20085029.tar.gz”解压缩到一个目录里(例如:/usr/);
输入 “ export ABSROOT="/usr/ports" ”;
输入:
cd /usr/ports/xtra/skipstone
makepkg -bi

这将花一些时间下载,编译和安装 skipstone 和它的依赖包。

这里有个小技巧,因为DeLi Linux 0.8 现在使用的是 Archlinux 的软件包管理系统,所以,一些你需要而DeLi 没有提供的软件你可以在 Arch Linux 的网站搜索相关软件的 PKGBUILD 文件,作一些修改(如去掉“ arch=(i686 x86_64) ”),运用“ makepkg -c ”命令来制作DeLi Linux 0.8上要用的软件包。我就用这个方法成功的编译安装了DeLi Linux 下面的i810显卡驱动程序,参见:No i810 driver...why? littlebat的回复,简单说就是依次下载相关软件的PKGBUILD文件,用makepkg -c 命令编译,其中一些软件包的编译可能需要拷贝一些其它Linux发行版的文件(如:从Ubuntu 6.06上拷贝一些头文件*.h)才能通过。

DeLi Linux 0.7.x 使用的是GTK1,而 DeLi Linux 0.8 改成了使用 GTK2,这样,原先的一些有用的GTK1程序并没有包含在 DeLi Linux 0.8 中,如:Dillo、Firefox 浏览器,Xmms音乐播放器,Aop小游戏等等。为了节约重新从源码编译安装的步骤,我们可以把一些 DeLi Linux 0.7.2 中的程序移植到 DeLi Linux 0.8中。下面我就简单介绍一下我的方法,供有需要的朋友参考。

1)、下载gtk1的软件包:
http://www.delilinux.de/packages/deli/lib/glib1-1.2.10-i386-1.tgz
http://www.delilinux.de/packages/deli/lib/gtk1-1.2.10-i386-3.tgz

用root帐户解压到根目录下:
tar xfvz glib1*.tgz -C /
chmod +x /install/*.sh
cd /
/install/*.sh

用同样的方法移植 gkt1-1.2.10-i386-3.tgz 。

2)、下载和移植DeLi 0.7.2中你喜欢的gtk1程序,如: Dillo-i18n 网页浏览器:
http://www.delilinux.de/packages/deli/xap/dillo-i18n-0.8.6-i386-4.tgz

3)、移植 deli0.7.2 中的 firefox 1.5 的一些注意事项
我使用的是包含在deli0.7.2 BIG ISO 光盘镜像文件中的 firefox 1.5,文件名是 firefox-1.5.0.12-i386-1.tgz ,用上面的步骤移植完毕后,当你执行“firefox &”,程序会报如“missing libstdc++.so.5”之类的错误,我的解决方法是用命令建立一个到libstdc++.so.6.0.3 的软链接:libstdc++.so.5,命令如下:
ln -s /usr/lib/libstdc++.so.6.0.3 /usr/lib/libstdc++.so.5
但是,当我试着移植从DeLi Linux 网站的软件仓库中下载的firefox (http://www.delilinux.de/packages/deli/deli32/firefox/firefox-1.5.0.12-deli2-i386-1.tgz)时却不能移植成功。
不过,由于DeLi Linux 0.7.2中的firefox不能支持xft字体,所以浏览中文网页字体不太好看,甚至个别字显示不出来。我解决这个问题是使用中文点阵字体(如:wenquanyi bitmap 字体),这个问题我在后面的中文X window 环境设置中再介绍。

如果你找不到需要的软件,那么,对于开源的软件,你还可以尝试直接从源码编译安装软件。因为 DeLi Linux 现在采用的是 uclibc,所以,并不是所有在glibc环境下能够编译使用的软件就完全能够在uclibc上编译成功(也许通过打补丁可以编译成功)。但是,可以说绝大部分都可以编译成功。我在DeLi Linux 曾经编译成功的软件有: Zhcon-0.2.6中文控制台环境, Gc-6.2, W3m-0.5.2文本浏览器, Icecat-2图形浏览器, Dillo-i18n-0.8.6图形浏览器, i810集成显卡驱动等等;暂时没有编译成功的软件有:Firefox-1.5图形浏览器,Nash 开源flash播放插件等。

另外,顺便介绍一下在DeLi Linux 0.8里面自带的一些软件:文本编辑器:E3vi, Nano, Leafpad;办公软件: Abiword文档编辑,Gnumeric 电子表格,Epdfview PDF查看器;浏览器: Lynx,Netsurf,Skipstone;看图软件:Gqview;窗口管理器: Icewm,Fluxbox; 音乐播放器:mpg123,xmms2;视频播放器:Vlc;资源管理器:Rox。完整的软件列表请参见:http://www.delilinux.org/packages.txt

好了,DeLi Linux 0.8上的软件安装就写到这里了。下一篇日记将是:DeLi Linux 0.8 中文环境配置