重新加载XINITRC而不重新启动Xorg

我有一些简单的脚本,允许我在运行时更改某些版本的应用程序在我的.bashrc文件中的编码。

例如,假设我有“猫”应用程序。 有两个版本,一个在/testing/工作,另一个在/testing/testing版。

如果我运行bash命令“changer.sh”,它将/ bin / cat中的符号链接改为指向/ test / beta / cat或/ test / working / cat。 在terminal和Konsole或Xterm内工作时,这工作正常。

我的.xinitrc中也有一行,这样X应用程序也可以看到这个环境variables,但是有一个问题:当Xorg启动时,Xorg / Xfree86似乎取消了引用这个符号链接,所以在整个持续时间在我的Xsession中,“cat”被parsing为/ test / working / cat,如果稍后发生更改,则不会重新评估符号链接。 似乎现在唯一的解决方法是每次更改此符号链接时closures并重新启动Xorg。 是否有可能迫使Xorg重新加载/重新parsing我的.xinitrc,而不必每次重新启动它?

谢谢!

不,不是。

与您的应用程序设置一个bin文件夹:

ln -s /working/bin/cat /local/bin/cat 

make .xinitrc将你想要的应用程序设置为符号链接。

 CAT=/local/bin/cat # and execue $CAT and not just cat 

要么

 PATH=/local/bin:$PATH 

这样,/ local / bin中的所有应用程序都将在$ PATH中的应用程序之前使用(找到)

让你的changer.sh处理/ local / bin中的链接