Mountain Lionのシステム環境変数はどこに設定されていますか?


46

Lion(および以前のリリース)ではにありました.MacOSX/environment.plist。10.8にアップグレードした後、ファイルはまだ存在していますが、変数は使用していません。

また、それらを追加しようとしまし/etc/launchd.confたが、ターミナルには表示されますが、GUIアプリケーション(IDEなど)には表示されません。


変更後に再起動しました/etc/launchd.confか?
nohillside

私はそうし、その中のすべての変数は現在どのターミナルでも利用可能ですが、私のIDEには存在しません。
フェリックス

IDEが環境をあなたに公開しないのかもしれません(私の答えをご覧ください)?それはどんなIDEですか?FinderまたはSpotlightから直接起動しますか?
ハレレオ

回答:


22

Apple Developer Forumsでも同様の質問をし、これを公式に返信しました。

.app自体のInfo.plistを変更して、必要な環境変数を含む「LSEnvironment」辞書を含めます。
〜/ .MacOSX / environment.plistはサポートされなくなりました。


2
それはどこにありますか?
オロメ

より具体的な例へのリンクを提供すると役立ちます。
ブレイザーブレード

1
更新:構文を考え出した後、そのファイルを変更しようとしました(私は思います)が、それはまったく機能しません。
ブレイザーブレード

4
WhatEver.app/Content/Info.plistには、アプリケーションごとにInfo.plistがあります。XCodeで編集できます。情報プロパティリストの[+]をクリックして、LSEnvironmentという辞書を追加します。正しく入力すると、環境変数に名前が変更されます。次に、追加する環境変数ごとに「+」をクリックします。
フェリックス

2
これは良い解決策ですが、Yosemite 10.10.5の時点では機能しなくなりました。
ダルマツィオ

21

これは古い質問であることは知っていますが、ヨセミテで/etc/launchd.confはもはや機能しません(manページで確認)。そこで、ここに代替案があります。

AppleScript Editorを起動し、次のようなコマンドを入力します。

do shell script "launchctl setenv variablename value"

(好きなだけ行を追加してください)

ファイル形式:Applicationとして保存(⌘S)します。最後に、オープンシステム設定ユーザとグループログイン項目とは、新しいアプリケーションを追加します。


なお、それがかもしれないでもログイン項目としてオープンしている他のアプリとの仕事は、ログイン後すぐに開くかもしれないものを
user151019

これは私のために働いた。どうもありがとうございます。これは一日中狂っています!
14

2
これまでのところ、唯一の真の汎用ソリューションのように見えます。しかし、上に上がって最初の回答になるには、さらに9つの賛成票が必要です。:c
セージボルシュ

これはエルキャピタンで私のために働いた。@Markで前述したように、注文には問題があります(たとえば、再開されたアプリケーションには環境がある場合とない場合があります)が、一度ログインすると期待どおりに機能します。つまり、SpotlightまたはDockから起動されたアプリケーションには正しい環境があります。
アレックトーマス

@Mark この回答は、Launch Agentを使用して試すことができます。私の場合、Launch AgentはLogin Itemsの後に起動するため、ターゲットアプリケーション(Eclipseなど)をLogin ItemからLaunch Agentに移動し、この特別なアプリケーションが環境変数を設定した後に起動されるようにします。
フランクリンゆう

10

発見したように、environment.plistファイルの使用は追跡されなくなり、LSEnvironment文字列としてInfo.plistに保存され変数はlaunchdによってのみ設定されます。

ターミナル/シェルからプログラムを直接呼び出す場合、ターミナルが設定する一般的な環境変数を設定するためにそれらに依存することはできません。open -a幸いなことに、コマンドはlaunchdを起動して起動を実行するため、ローカルシェル環境ではない場合、変数はアプリ環境に一貫して設定されます。


4

環境変数を設定/etc/launchd.confする方法があります。ローカルシェル、Finder、またはSpotlightによる再起動後に起動されるすべてのアプリケーションはこれらの変数を継承します。これをMountain Lion 10.8.3で広範囲にテストしました。

2つの警告:


1
/etc/launchd.confYosemite以降ではサポートされなくなりました。apple.stackexchange.com/questions/106355/を
フランクリンユ

3

試してくださいlaunchctl setenv NAME VALUElaunchd.confの編集とはどう違うのか/何が違うのかはわかりませんが、TerminalとGUIアプリの両方で機能します。詳細。

これは再起動後も存続しないことに注意してください。これを修正する方法を次に示します。


3
ここにリンクしている長いページです。関連部分は正確にどこにありますか?それをあなたの答えに直接含めて、誰にとっても簡単にすることができますか?
nohillside

2
おっと、良い点は、そのURLにもっと多くのフラグメントを含めると思った。一定。
ライアン

1
与えられたリブートして生き残るための方法は、ライオンの下で動作を停止しenvironment.plistが使用しています
user151019
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.