[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 关于输入法的一点想法



Hi,
On Thu, 12 May 2005 09:30:15 +0800
高超 <achaoge@163.com> wrote:

> 现在各种中文输入法比较多,而新手们问关于输入法的问题也比较多,我想,在
> Debian里头可不可以采用如下的方式来操作:
> 1,每种输入法都建立一个脚本,将自己启动并能正常工作所需要的条件写在里头。
> 如scim的可以如下:
> -----------------------
> $ cat /usr/bin/scim.wrapper
> #!/bin/sh
> export XMODIFIERS=@im=SCIM
> /usr/bin/scim -d &
> -----------------------
> 
> 2,利用Debian的alternatives系统,建立一个 /etc/alternatives/chinput 指向
> 上一步建立的脚本。
> 
> 3,建立一个 /etc/X11/Xsession.d/25xchinput_start,启动
> /etc/alternatives/chinput。此文件可以由输入法包的postinst维护脚本来检测
> 和创建。
> 例如:
> -----------------------------------------------------
> $ cat /etc/X11/Xsession.d/25xchinput_start
> 
> /etc/alternatives/chinput &
> -----------------------------------------------------
> 
> 这样,对新手来说,装上了输入法,启动X就可以使用了,而且对输入法软件包来
> 说,维护工作也并不复杂,关键是要统一。
> 
> 大家觉得如何?
> 

Debian在这方面的确应该可以改进一下,记得Mandrake很早就有一个/etc/X11/Xsession.d/??XIM来负责启动输入法了,我都是挪过来用。

但高兄的方法还有些小问题,
1. alternative方式维护的是一个系统的选择,但输入法这个东西应该允许每个用户有不同选择的。
2. 就我所知,XMODIFIERS只放在输入法的启动脚本里面是不行的,接收输入的程序也需要这个环境变量与XIM server通讯
3. 还应该考虑繁体中文、日文、韩文的XIM server

我觉得完全可以借鉴Mandrake的脚本,它的脚本大致原理是先调用/etc/profile.d10lang.sh读取/etc/sysconfig/i18n和用户自己的~/.i18n(这两个文件里面XMODIFIERS, XIM_PROGRAM这几项配置,当然还有locale的配置),然后启动XIM_PROGRAM所指定的输入法程序。

Mandrake的这个/etc/profile.d/10lang.sh还一个特色: CONSOLE_NOT_LOCALIZED,当在/etc/sysconfig/i18n或者~/.i18n文件中设置这个变量为1时,在控制台上locale设置会不生效,也就不会看见一堆乱码

	此致
问候
				巴蛮子



Reply to: