[问题]非root用户不能切换zhcon的输入法,也不能用ctrl+alt+h

我是ubuntu6.0.6+AMDK6-2机器

从源码安装zhcon0.2.5后,出现下列怪事:

先以root帐号登录,启动zhcon后,然后换成非root帐号,可以用ctrl+f1...f2...切换输入法和用ctrl+alt+h在线帮助;

先以非root帐号登录,启动zhcon后,用ctrl+space换成中文输入法只有第一个默认的全拼能用,不能用ctrl+f1..f2..切换中文输入法,也不能用ctrl+alt+h在线帮助;然后换成root帐号,也不能切换和在线帮助了;

我初步怀疑是某个配置文件被屏蔽了非root用户的读权限,但是不知道是哪个文件。

同样的问题发在http://forum.ubuntu.org.cn/viewtopic.php?t=21311&highlight=处求助

6 thoughts on “[问题]非root用户不能切换zhcon的输入法,也不能用ctrl+alt+h”

  1. 初步怀疑并初步证实,zhcon中非root用户登录不能切换输入法等问题也许跟内核版本有关。证据如下:
    原来用redhat linux 9.0自带的内核2.4.20-8,zhcon使用正常;
    重新编译一个2.4.35.3的内核出现上述问题;
    Damn Small Linux 3.3 (DSL-3.3)自带的内核为2.4.26,把redhat linux 9.0下关于zhcon的文件直接拷贝过去(还拷贝了gpm的文件),使用正常;
    再次为redhat linux 9.0重新编译一个2.4.35.3的内核,把nls_cp936和nls_cp437本地语言支持编译进去(上次编译时没有把nls的选项加进去),好像还设置了gb2312(或者是nls_cp936?)的为默认的nls。结果还是不正常;
    再次为redhat linux 9.0编译一个2.4.26的内核,zhcon的使用完全恢复正常。

    所以初步证实zhcon中非root用户登录不能切换输入法等问题也许跟内核版本有关。
    还有一点疑问,如果2.4.35.3的内核编译时把nls_cp936、iso8859-1、nls_cp437编译进去,不改变默认的nls(好像是iso8859-1还是nls_cp437我忘了,在编译2.4.26的内核时就是这样做的),那么,编译出来的内核下zhcon的使用是否会正常呢?

    关于内核编译的日记见:为486上的Linux编译一个2.4.35.3的内核

  2. 基本证实, zhcon 的上述问题跟内核版本支持有关.
    我又按照上面2.4.26内核的编译选项重新编译了2.4.35.3的内核( nls的设置与2.4.26也一样), 但是用编译出来的内核, 在系统中运行zhcon就又出现上述问题了.

  3. 我在ubuntu 6.06 上的2.6.15内核上运行,普通用户可以运行zhcon,但是功能受限,如不能切换输入法,不能使用在线帮助等等。

    在 DeLi Linux 0.8上的2.4.36.4内核上运行,则出现你这样的普通用户不能使用zhcon,死循环。但是在Slackware 10.2的2.4.31内核上一切正常。见:http://www.delilinux.org/forum/topic.php?post=3338

    我重新用Slackware 10.2的2.4.31内核的config文件在DeLi Linux 0.8编译了一个内核,只改动了启用DeLi 0.8的devfs的两项。而这个内核在DeLi 0.8上照样出现普通用户不能运行的情况。

    所以,我怀疑是不是zhcon 0.2.6支持DeLi 0.8的devfs和ubuntu的udev不好。

  4. 我在ubuntu 6.0.6上试了一下 kbd_mode -a ,没有用。
    不知道这个 kbd_mode 是不是就是您说的那个“kbdmode”?

    kbd_mode - report or set the keyboard mode

Comments are closed.