【问题标题】:Reload XINITRC without restarting Xorg在不重新启动 Xorg 的情况下重新加载 XINITRC
【发布时间】:2012-01-17 21:51:08
【问题描述】:

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

例如,假设我有“猫”应用程序。有两个版本,一个在 /test/working 中,另一个在 /test/beta 中。

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

我的 .xinitrc 中也有一行,这样 X 应用程序也可以看到这个环境变量,但是有一个问题:Xorg/Xfree86 似乎在 Xorg 启动时取消引用符号链接,所以,对于在我的 Xsession 的整个持续时间内,“cat”被解析为 /test/working/cat,并且如果符号链接稍后发生更改,则永远不会重新评估它。似乎此时唯一的解决方法是每次更改此符号链接时关闭并重新启动 Xorg。是否可以强制 Xorg 重新加载/重新解析我的 .xinitrc 而不必每次都重新启动它?

谢谢!

【问题讨论】:

    标签: linux bash environment-variables xorg


    【解决方案1】:

    不,不是真的。

    为您的应用设置一个 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 中的链接

    【讨论】:

      猜你喜欢
      • 2012-05-13
      • 2014-03-11
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      • 2012-10-03
      相关资源
      最近更新 更多