1

MS Word ドキュメントのように、データ ファイルを「クリック可能」にしようとしています。ユーザーが「.vr」拡張子を持つデスクトップ上のファイルをクリックすると、Ruby スクリプトが実行され、ファイル名がパラメーターとして渡されるようにします。

「.vr」拡張子を持つ MIME タイプ「text/vr」を作成しました。デスクトップでファイル「text.vr」をクリックすると、次のコマンドが実行されます。

$vr test.vr

古いバージョンの Ruby を使用しようとするため、このコマンドは失敗します。問題は、プロンプトではなくデスクトップからプログラムを起動するときに、Ubuntu が別の環境を使用することです。

私は RVM を使用していますが、ターミナルでプログラムを作成するときに完全に機能します。ただし、ファイルをクリックして vr スクリプトを起動すると、RVM は使用されません。ファイルがクリックされたときに RVM をロードする方法を見つける必要があります。

何が起きてる?デスクトップからファイルを実行すると、どの環境ファイルがロードされますか? ~/.bashrc? ~/.profile? コンピューター全体が常に RVM を検出するようにするにはどうすればよいですか?

ありがとう、エリック

4

1 に答える 1

2

いくつかの方法があります。デスクトップの環境は からロードされます.profile。次のいずれかを追加します。

source $HOME/.rvm/environments/ruby-1.9.3-p327 #OR:
source $HOME/.rvm/environments/default

特定のルビーをロードします。

ソーシングでうまくいかない場合もありますが、デフォルトファイルのコンテンツを追加すると.profileうまくいくはずです:

cat $HOME/.rvm/environments/default >> ~/.profile

変更を適用するには、再ログイン/再起動が必要です。

于 2012-12-11T07:36:17.327 に答える