RHEL6を実行していて、次のような環境変数をエクスポートしました。
export DISPLAY=:0
その変数は、端末が閉じられると失われます。この変数値が常に特定のユーザーに存在するように、これを永続的に追加するにはどうすればよいですか?
RHEL6を実行していて、次のような環境変数をエクスポートしました。
export DISPLAY=:0
その変数は、端末が閉じられると失われます。この変数値が常に特定のユーザーに存在するように、これを永続的に追加するにはどうすればよいですか?
シェル構成ファイルに追加できます。たとえば$HOME/.bashrc
、よりグローバルに/etc/environment
。これらの行を追加した後、変更はGUIベースのシステムにすぐには反映されません。ターミナルを終了するか、新しいシステムを作成し、サーバーでセッションをログアウトしてログインし、これらの変更を反映する必要があります。
次のように永続的な環境変数を設定するには、3つのファイルを編集する必要があります。
ターミナルウィンドウを開くと、このファイルが実行されます。したがって、すべてのターミナルウィンドウに永続的な環境変数を設定する場合は、このファイルの最後に次の行を追加する必要があります。
export DISPLAY=0
bashrcと同じように、OSのすべてのログインで環境変数を使用するには、このファイルの最後に上記のコマンドラインを配置する必要があります。
(ターミナルウィンドウだけでなく)すべてのウィンドウまたはアプリケーションで環境変数が必要な場合は、このファイルを編集する必要があります。このファイルの最後に次のコマンドを追加します。
DISPLAY=0
このファイルでは、エクスポートコマンドを記述する必要がないことに注意してください
通常、これらの変更を適用するには、コンピュータを再起動する必要があります。ただし、次のコマンドを使用して、 bashrcとプロファイルに変更を適用できます。
$ source ~/.bashrc
$ source ~/.profile
しかし、/ etc / environmentの場合、(私が知る限り)再起動する以外に選択肢はありません。
これらすべての作業を行うために、これらの手順の簡単なスクリプトを作成しました。環境変数の名前と値を設定するだけです。
#!/bin/bash
echo "Enter variable name: "
read variable_name
echo "Enter variable value: "
read variable_value
echo "adding " $variable_name " to environment variables: " $variable_value
echo "export "$variable_name"="$variable_value>>~/.bashrc
echo $variable_name"="$variable_value>>~/.profile
echo $variable_name"="$variable_value>>/etc/environment
source ~/.bashrc
source ~/.profile
echo "do you want to restart your computer to apply changes in /etc/environment file? yes(y)no(n)"
read restart
case $restart in
y) sudo shutdown -r 0;;
n) echo "don't forget to restart your computer manually";;
esac
exit
これらの行をshfileに保存し、実行可能にして実行するだけです。
.bashrc
またはに行を追加します.profile
。に設定された変数$HOME/.profile
は現在のユーザーに対してアクティブであり、の変数/etc/profile
はグローバルです。は.bashrc
、bashセッションの開始ごとにプルされます。
Ubuntuシステムでは、次の場所を使用します。
JAVA_PATH=/usr/local/java
ストアの形式のシステム全体の永続変数
/etc/environment
次のような変数を参照するシステム全体の永続
export PATH="$JAVA_PATH:$PATH"
変数
/etc/.bashrc
PATH DEFAULT=/usr/bin:usr/local/bin
ストアの形式のユーザー固有の永続変数
~/.pam_environment
#2の詳細については、この AskUbuntuの回答を確認してください。注:#3はUbuntuの推奨事項ですが、現実の世界ではセキュリティ上の懸念がある場合があります。
誰かに適している場合は、環境変数を永続的に追加するための簡単なガイドラインを次に示します。
vi ~/.bash_profile
ファイルに変数を追加します。
export DISPLAY=:0
export JAVA_HOME=~/opt/openjdk11
すべての変更をすぐに適用します。
source ~/.bash_profile
特定の例:Java7とJava6がインストールされているので、6でビルドを実行する必要があり、7でビルドを実行する必要があります。したがってJAVA_HOME
、Mavenがビルドごとに必要なものを取得するように動的に変更する必要があります。私は次のことをしました:
j6.sh
エクスポートするだけのスクリプトを作成しました...JAVA_HOME=...
j6.sh
それぞれのコマンド端末でsourceを実行します。デフォルトでは、myJAVA_HOME
はJ7に設定されています。お役に立てれば。