exportで変更される内容はどこへ書き込まれます?

UNIXの環境設定に関する基本的な質問かと思いますがご容赦ください。
別トピックでopenoffice1.9.96が使えない旨を質問させていただいていますが、途中で何をやったかわからない部分があったので、改めて新アカウントを設定してはじめからやり直すことにしました。
そこで質問です。
openofficeとMacOSXのバージョンによる相性の関係で、環境変数
DISPLAY="localhost:0.0"
をコメントアウトする必要がありますが、これはどのファイルを開けば編集できますか?
現在Tigerを使用しているので、シェルはbashであり環境変数の追加修正の場合は
export ○○=...
の形でターミナルから変更内容を入力すればできることまではわかったのですが、特定の設定を削除するやり方が見つけられませんでした。
export DISPLAY=""
とでもしてかまわないのでしょうか?
よろしくお願いいたします。

投稿日 2005/07/27 18:19

返信: 7

2005/07/27 21:20 Community User への返信

DISPLAY環境変数は、ユーザがいつでもoverrideできます。デフォルト設定を削除したりする必要はありません。
環境変数設定を削除するときは、普通は
 $ export -n DISPLAY
とします。
 $ export DISPLAY=""
では、環境変数DISPLAY自身は残ったままです。OpenOfficeではどちらが必要なのかは知りませんが。
OpenOfficeを起動するaliasなりスクリプトなりの中で、これらを行えば良いでしょう。

2005/07/28 10:09 Community User への返信

Kawabeさん、どうもありがとうございます。
回答していただいて気がついた点があります。
1)デフォルト設定、もしくはoverride(上書き、でよいですね?)されたその設定はどこに書き込まれているのでしょうか?ファイル名と所在を教えていただけませんか?
2)overrideできる(上書き、でよいですね?)ということ、デフォルト設定があることからいえば、デフォルト設定に戻したいときはどうすればよいのでしょう?
新規のユーザを作って、ということだと、また新たに各種設定をし直さないといけませんよね?
3)アプリケーションごとに設定できると受け取れる回答でしたが、どこでそのようにアプリケーションごとの設定ができるのでしょうか?
本来であればこのように複数の問いかけをすべきでないかと思いますが、分割すると情報が分散してしまうので一つのトピックの中で質問させていただきました。

2005/07/28 10:52 Community User への返信

1) どこにも書かれてません。デフォルトはXサーバが起動された時自動的に設定されるのだと思います。上書きした結果は、シェルが内部で保存しています。(環境変数は全てそうです。シェルはいくつでも起動できることをお忘れなく。)
2) 一度設定した環境変数を元に戻す手段はありません。再度同じ値を設定するか、そのシェルをquitして別のシェルを起動します。
3) アプリケーションごとに設定できるのではなく、シェルごとに設定できるのです。例えば単純なケースですと、
$ DISPLAY="remotehost:0.0" xterm
とすれば、remotehostでxtermが開きます。もっと複雑なケースでは、シェルスクリプトを作って、その中で設定すれば良いです。

2005/08/03 01:17 Community User への返信

Y. Kawabe 様:
Unix の「プロセス」「環境変数」「シェル」とかいった言葉をもう少し調べた方がいいような感じがします。
で、もとの話ですが、
確かにターミナルなどから export ... と実行しただけでは設定はどこのファイルにも書き込まれません(強いて言えばメモリ上のデータとして書かれている)。
あと
export DISPLAY=""
とすると、DISPLAY という環境変数に空文字列がセットされます。それでオッケーなら構いませんが、もしかして変数自体(変数の定義自体)を消去したいなら、
unset DISPLAY
です。
なお、ターミナルで env コマンドを使うと現在の環境変数の設定一覧が見られます。
あと、毎回使う環境変数の設定なら、bash の場合自分のホームディレクトリの .bash_profile とかに設定を書いておくと、毎回その設定を読んでセットしてくれます。

2005/08/03 01:57 Community User への返信

>Unix の「プロセス」「環境変数」「シェル」とかいった言葉をもう少し調べた方がいいような感じがします。
私の理解が浅いとのご指摘でしょうね。プロセスにまで話を言及する必要は無いと考えたので、あえてわかりやすいシェルに置き換えています。ターミナルから実行する場合は、起動されるプロセスはすべてシェルの分身で、環境変数もそのまま引き継がれますから、あの記述でも理解していただけるかと思いました。
T.Y.さんがもっとわかりやすく説明していただけるなら、ぜひお願いします。

2005/08/04 07:12 Community User への返信

起動するたびにデフォルト値が使用されるはずで、環境変数が追加指定されるとそのセッション(という言い方でよいのかな?)の中でだけその修正された環境変数が適用されるという理解でよい訳ですね。
環境変数の変更が次回以降にもそのまま生きてくるのかと思っていましたが、誤解でしたね。
どうもありがとうございました。

2005/08/04 08:05 Community User への返信

>起動するたびにデフォルト値が使用される
「起動」というのがシステム全体の起動という意味なら、そうです。
プログラムやシェルの起動(子プロセスの生成)の場合は、それを行ったシェル(親プロセス)の環境変数がそのまま引き継がれます。起動されたプログラムの中で自由に変更でき、それは起動元には反映されませんが、その中で起動された子プロセスには変更が引き継がれます。そういう意味での「環境」であって、「設定」ではなく「変数」です。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

exportで変更される内容はどこへ書き込まれます?

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。