2012-01-17 24 views
2

実行時に.bashrcファイルにコード化された特定のバージョンのアプリケーションがどこで使用されるかを変更できる簡単なスクリプトがあります。Xorgを再起動せずにXINITRCをリロードする

たとえば、「cat」アプリケーションがあるとします。/test/workingと/ test/betaの2つのバージョンがあります。

私はbashコマンド "changer.sh"を実行すると、/ bin/catのシンボリックリンクを/ test/beta/catまたは/ test/working/catに変更します。ターミナルやKonsoleやXtermで作業する場合、これはうまく動作します。

また、私の.xinitrcにもXアプリケーションがこの環境変数を見ることができるような行がありますが、問題があります.Xorgが起動するときにXorg/Xfree86がシンボリックリンクを参照解除しているようです。私のXsessionの全期間中、 "cat"は/ test/working/catとして解決され、後で変更されるとシンボリックリンクを再評価することはありません。この時点で唯一の回避策は、このシンボリックリンクを変更するたびにXorgを閉じて再起動することです。毎回Xorgを再起動せずにXorgにリロード/再解析を強制することは可能ですか?

ありがとうございます!

答えて

2

いいえ、実際はありません。あなたのアプリでbinフォルダを設定

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

は、シンボリックリンクをご希望のアプリを設定するの.xinitrcします。

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

または

PATH=/local/bin:$PATH 

/local/binの中のすべてのアプリがあなたのchanger.shは内のリンクを操作作る

$ PATHにも前に使用され(た)されている方法/ローカル/ビン

関連する問題