3

.bashrcファイルにコード化されている特定のバージョンのアプリケーションが実行時に使用される場所を変更できる簡単なスクリプトがいくつかあります。

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

bashコマンド「changer.sh」を実行すると、/ bin/cat内のシンボリックリンクが/test/ beta/catまたは/test/ working/catのいずれかを指すように変更されます。ターミナルやKonsoleまたはXterm内で作業する場合、これは正常に機能します。

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

ありがとう!

4

1 に答える 1

2

いいえ、そうではありません。

アプリで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-02-23T15:04:01.670 に答える