LinuxSir.cn,穿越时空的Linuxsir!

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

关于如何让一个程序只运行一次,如输入法,的不解

[复制链接]
发表于 2010-5-9 20:36:52 | 显示全部楼层 |阅读模式
例 如我装了fcitx 输入法,想让它启动后只运行一次(当然不是手动)

一种方法 地在/etc/profile 中写一条命令,但是这样有一个缺点,
因为  当用su 切换到root用户 时,默认它会运行/etc/profile ,即,fcitx 又会一次,
放在~/.bashrc ~/.bash_profile 好像都 一样,
另外,有点不解,
~/.bashrc ~/.xinitrc 等 文件 会在什么情况下执行
如~/.xinitrc 会在用户登录X 时吗?
~/.bashrc 是在登录Gnome等桌面环境时,还是打开一个终端模拟器的时候
发表于 2010-5-9 21:13:54 | 显示全部楼层
还是搜索一下吧。
回复 支持 反对

使用道具 举报

发表于 2010-5-9 21:23:06 | 显示全部楼层
可以试试 -r 或 --replace 参数,替代已经存在的输入法守护进行。ibus-daemon有这个参数,LZ回去确认一下,fcitx应该也有这个参数。

Post by jixiuf;2089007
例 如我装了fcitx 输入法,想让它启动后只运行一次(当然不是手动)

一种方法 地在/etc/profile 中写一条命令,但是这样有一个缺点,
因为  当用su 切换到root用户 时,默认它会运行/etc/profile ,即,fcitx 又会一次,
放在~/.bashrc ~/.bash_profile 好像都 一样,
另外,有点不解,
~/.bashrc ~/.xinitrc 等 文件 会在什么情况下执行
如~/.xinitrc 会在用户登录X 时吗?
~/.bashrc 是在登录Gnome等桌面环境时,还是打开一个终端模拟器的时候
回复 支持 反对

使用道具 举报

发表于 2010-5-9 22:12:00 | 显示全部楼层
~/.xinitrc是在当前用户startx的时候,有些桌面和登陆管理器不需要它。su切换到其它用户的时候不会运行。
~/.bashrc是开终端的时候载入
~/.*都是当前用户的配置文件。
回复 支持 反对

使用道具 举报

发表于 2010-5-9 22:27:22 | 显示全部楼层
你用什么X?
gnome和kde都有管理自动启动的东西,反正fcitx是必须在X下用的,就看看你的X提供什么自启动的方法,然后修改吧~~
回复 支持 反对

使用道具 举报

发表于 2010-5-9 22:37:55 | 显示全部楼层
Post by jixiuf;2089007
例 如我装了fcitx 输入法,想让它启动后只运行一次(当然不是手动)

一种方法 地在/etc/profile 中写一条命令,但是这样有一个缺点,
因为  当用su 切换到root用户 时,默认它会运行/etc/profile ,即,fcitx 又会一次,
放在~/.bashrc ~/.bash_profile 好像都 一样,
另外,有点不解,
~/.bashrc ~/.xinitrc 等 文件 会在什么情况下执行
如~/.xinitrc 会在用户登录X 时吗?
~/.bashrc 是在登录Gnome等桌面环境时,还是打开一个终端模拟器的时候


/etc/profile 里面应该是启动 login shell 的时候就会读的吧。
.bashrc .bash_profile 这些区别可以看看 bash 的 man,应该就是 login shell 和 非 login shell 的区别
.xinitrc 应该是执行 startx 的时候会读,gdm 之类是不会读这个的。
.xprofile .profile 是 gdm 之类的 dm 会读的。.profile 好像 kdm 不会读。

所以如果使用 dm,那就把配置写在 .xprofile 里面。
如果使用 startx,那就写到 .xinitrc 里面,注意要写到 exec 前面。
回复 支持 反对

使用道具 举报

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

本版积分规则

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