LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 777|回复: 5

[求教] 终端启动和菜单启动的区别在哪里?

[复制链接]
发表于 2011-2-4 08:42:50 | 显示全部楼层 |阅读模式
Archlinux, KDE 4.6.0

最近用ibus发现一个问题:

有些程序比如Opera(AUR, opera-devel), skype(Multilib, skype),还有ppstream(AUR)
    如果从终端启动就可以用ibus输入中文,焦点也是ok的;
    如果从KDE的菜单或者Alt+F2里启动,就无法激活输入法,Ctrl+space没有反应。。。

请问各位这是为什么?如何解决这个问题?
发表于 2011-2-4 10:50:36 | 显示全部楼层
看一看你的 .bashrc , .xprofile , .xinitrc .
是否有类似的:
  1. export XIM=ibus
  2. export XMODIFIERS=@im=ibus
  3. export GTK_IM_MODULE=ibus
  4. export QT_IM_MODULE=ibus
复制代码
我猜你至少没有:
  1. export QT_IM_MODULE=ibus
复制代码
添加即可.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-2-4 11:42:46 | 显示全部楼层
Post by yuihji;2127361
看一看你的 .bashrc , .xprofile , .xinitrc .
是否有类似的:
  1. export XIM=ibus
  2. export XMODIFIERS=@im=ibus
  3. export GTK_IM_MODULE=ibus
  4. export QT_IM_MODULE=ibus
复制代码

我猜你至少没有:
  1. export QT_IM_MODULE=ibus
复制代码

添加即可.


我的.bashrc里边是有这几行的。在一般的QT程序里边都是可以激活输入法。。。
回复 支持 反对

使用道具 举报

发表于 2011-2-4 19:44:24 | 显示全部楼层
通过Alt+ F2 运行的程序都是kdm的后代,所以如果kdm启动的时候没设置这些环境变量,启动的程序自然也没设置这些环境变量


这样的东西应该写在.bash_profile中,不要写在.bashrc中; kdm 不care .bashrc
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-2-5 00:31:58 | 显示全部楼层
Post by adaptee;2127377
通过Alt+ F2 运行的程序都是kdm的后代,所以如果kdm启动的时候没设置这些环境变量,启动的程序自然也没设置这些环境变量


这样的东西应该写在.bash_profile中,不要写在.bashrc中; kdm 不care .bashrc


这个是正解!又学到了新东西。不过还有一个问题,我的.bash_profile中写的是
if [-f $HOME/.bashrc] then
   .  $HOME/.bashrc
fi

而我的.bashrc是有那几行export。。。好像无效。只有手动添加环境变量到这几行前面才有效。。
回复 支持 反对

使用道具 举报

发表于 2011-2-5 12:10:23 | 显示全部楼层
Post by liusp0301;2127396
这个是正解!又学到了新东西。不过还有一个问题,我的.bash_profile中写的是
if [-f $HOME/.bashrc] then
   .  $HOME/.bashrc
fi

而我的.bashrc是有那几行export。。。好像无效。只有手动添加环境变量到这几行前面才有效。。


.bashrc 的开头一般都有这么一句:

[ -z "$PS1" ] && return

确保 .bashrc 的内容只对 interactive shell 有效

kde 启动时会在 /usr/share/config/kdm/Xsession中 source .bash_profile之类的启动文件,但是显然不是 interactive shell,所以你在 .bash_profile 中 source .bashrc 也是没用的

.bashrc 就应该只放 只对 Interative shell 有意义的设置
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表