vickycq 写了:科学之子 写了:"im-config设置为none"是我最后才进行的操作,之前进行两个操作貌似都没用(试了"lxsession-edit把fcitx自动运行去掉"之后就没耐心重启了),但我不确定是哪个操作生效的,所以都写出来了
话说这个输入法自启问题 还是我在本论坛发的第一个帖子:
viewtopic.php?f=123&t=334145
当时对 Linux 桌面还不是很懂。
这几天才发现,竟然还是没搞清楚 fcitx 是如何自启的。还好这次很快就找出了根源:im-config
当年可能也是这个问题。
科学之子 写了:终端用的是什么?
xterm.
貌似 fcitx 从终端启动后貌似会自动 fork 到最上面。所以不论怎么启动 fcitx,用 pstree 查看都会发现 fcitx 是 init(systemd) 的子进程
关于应用程序如何读取环境变量,整体还不太理解。这个问题的关键是 openbox 读取到的环境变量
具体看之前的帖子
viewtopic.php?p=3153965#p3153965 下方的一系列试验
这里我又不明白了,“用 xfce4 菜单启动 xfce4-terminal,XMODIFIERS 错误”,难道在终端里执行 echo $XMODIFIERS 不是看 .bashrc .profile 等文件中的设置么,怎么会错误呢?
增加试验:
用 dmenu 启动 xterm,没有延时,echo $XMODIFIERS 错误,不可使用输入法
在 .bashrc 中增加 export XMODIFIERS=@im=fcitx,再用 openbox 菜单启动 xterm,有很大延时,echo $XMODIFIERS 正确,不可使用输入法
在 .bashrc 中增加 export XMODIFIERS=@im=fcitx,再用 xfce4 菜单启动 xfce4-terminal,XMODIFIERS 正确,可以使用输入法
科学之子 写了:你是怎么杀掉的?我这里通过托盘图标怎么弄都不死,难道是试验次数还不够?运气太好?
代码: 全选
$ pgrep fcitx
16318
16343
$ kill 16318
$ pgrep fcitx
$
科学之子 写了:您是root权限登录?输入法相关的不是本用户修改就可以吗?
这个应该改完了对所有用户生效吧,凡是输入法设置为 fcitx 的用户都不会自启
印象中
https://code.google.com/archive/p/fcitx/issues/648 这里 csslayer 讲得很清楚,可惜现在看不到了。只记得貌似是 openbox 和 XIM 发生了错误的关系
这个问题的关键是 openbox 读取到的环境变量
貌似只有在im-config(即默认)的情况下,fcitx托盘右键重启会死.
附件中有相应的环境变量文件
".自动运行"后缀表示"用"im-config"设置选择为fcitx,然后自动运行的结果,这个情况下会死掉
没有后缀的是手动启动的
"fcitx-autostart"启动的环境变量貌似和纯手动的"fcitx"一样
另外,如果我这里先打开iceweasel然后再重启fcitx,卡死概率会大大提高.
刚刚进入桌面,不进行任何操作便立即尝试时卡死概率较小.
不过手动启动或用fcitx-autostart命令启动,还没有碰到过一次死的.
Sun Mar 6 17:20:35 CST 2016补充:
上传环境变量的意思是说明,加上了那个环境变量就会死
不加上就不会死
但它从哪读取的我也不知道
但我是通过im-config设置为none来避免这个问题的.
如上设置之后就不会读取那些导致问题的变量,也没有问题现象了.