いくつかの背景
私は開発者で、ほとんどのツールをホームフォルダにインストールします。だから私のシェルのrcファイルはJAVA_HOME
、、、、...変数でいっぱいですGROOVY_HOME
。MAVEN_HOME
これらすべての環境変数を私のGUIアプリケーション(私はIDEと思う)に公開するために、まずこれらの変数を定義してシェルスクリプトを作成しました。再びその後、アプリケーションを実行し、最後に[マイアプリケーション]メニューにランチャーを追加してスクリプトを実行します。
ある日、私はシェルを介してアプリケーションを実行できることに気づきました。これは、シェルのrcファイルで定義されているすべての変数がアプリケーション環境で設定されるためです。したがって、私のアプリケーションメニューの項目は次のようになります。/usr/bin/my-shell ~/my-ide/bin/start.sh
今問題は
DMは常にシェルを使用してすべてのアプリケーションを実行するように指示できますか?
注意事項
私は使うZTEそして小人しかし、より一般的な解決策があれば、大いに感謝します。
デフォルトのシェルを次のように設定しました。ZTE、しかし小人これは、そのシェルをすべての目的で使用するのに十分な理由ではないようです。
答え1
いくつかのアドバイス:
使いやすくするために、変数の設定以外に何もしないファイルに変数を保存してください
. my-dev-vars.sh
。ログインシェル(
.profile
、、.bash_profile
参照)からファイルを一度インポートします。ウィキペディアログインシェル設定ファイルの詳細リスト)これにより、リモートログイン時に権限変数を取得できます。~/.xinitrc
このファイルはX11セッションでも入手できます~/.xsession
(一部のディストリビューションには他のバリエーションがあります。X11のマニュアルを参照)。これにより、デスクトップX11セッションにも変数があります。
目標は、これを一度定義し、すべてのプロセスグループに対して一度取得することです。まあ、それらは実際には「環境」変数であり、設計どおりに機能します。
これはまた、不必要に追加のシェルを生成しないという点で、現在のソリューションと比較して利点がある。
答え2
はい、
xdg-open
コマンドを修正するか、exo-open
xfce4(バイナリプログラム)で修正してください。
これがDEがファイルやプログラムを開く方法です。
ただし、これらの設定をグローバルに設定するには、/ etc / {zshrc、profile}などを変更する必要があります。