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: