2017-11-19 10 views
0

KDEのようなグラフィカルなDEでは、他のプロセスで使用できる新しい環境変数を追加するためにどのようなコマンドを使用できますか?Linuxの他のプロセスで使用できる環境変数を追加するにはどうすればよいですか?

注:

1)私はexport A=Bを認識してんだけど、それが唯一の後続のプロセスのために働くがexportを実行し、同じシェルで開始し、プロセスは、クロム、ウォンなどのグラフィカルアプリケーションのように、他にどこを開始しました輸出に気づかないでください。

2)私はあなたが~/.bash_profileなどに入れることもできることを知っていますが、設定を有効にするには再起動/再ログインが必要です。

exportのようなものがありますが、すべてのアプリケーションで効果があり、大幅な再起動は必要ありませんか?

+0

ファイルに値を保存することはできますか? –

答えて

1

~/.bash_profileに変数定義(exportステートメントなどを使用しているかどうかにかかわらず)を配置した後に再起動する必要があると仮定しています。あなただけの再修正を行った後、sourceファイルする必要があります。

source ~/.bash_profile 

以上のポータブル版:

. ~/.bash_profile 

どちらの文が(再)されますが、現在のシェルの中に、そのファイル内の任意の定義をロードします。ソーシングはスクリプトを実行するのと同じではありません。スクリプトを実行しているサブシェルではなく、呼び出し元のシェル自体の環境を変更します。

~/.bash_profileのようなファイルには、シェルで混乱する多​​くの他の定義と設定が含まれている場合があります。 @JeremiahMegelが示唆しているように、必要な変数だけで小さな(一時的な)スニペットを作成し、代わりにソースを作成する方が良いでしょう。

あなたは、コマンドラインから実行する単一プロセスの環境を変更したい場合は、同じコマンドラインで変数を設定することができます。

VAR=value /usr/bin/gedit 

これは、環境変数VARセットでgeditを実行しますvalueに変更されますが、その1つの子プロセスに対してのみです。

残念ながら、デスクトップアプリケーションはそれよりも静的です。メニューに表示されるほとんどのグラフィカルアプリケーションは、/usr/share/applicationsのようなフォルダ内のファイル.desktopで表されます。これらのファイルは、期待している変数がほとんどない環境で実行されます。それらは絶対パスに依存しており、ほとんどの設定は、.desktopファイルを独自のセットアップを実行するスクリプトに指定することによって行われます。これらのファイルの一部を個別に変更することができますが、そうする必要がありますが、そのようにすることはお勧めしません。デスクトップ上のグラフィカルアプリケーションを使いこなす場合は、変更する予定のデスクトップファイルのコピーを~/.local/share/applicationsにするか、それと同等のものをシステム上に作成することをおすすめします。これらのファイルは/usr/share/applicationsにあるものより優先され、あなたにのみ影響します。

関連する問題