![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.6ベストアンサー
- 回答日時:
macOSだとlaunchdがサービスプロセスを司っていて、システムワイドな設定もLaunch Daemons/Agentsに対して設定するのが標準的なやり方です。
launchctlで指定したり、当該サービスのplistに保存したりとか。
ただ、セキュリティの観点からプロセス権限の分離を進めた結果、どれか一つだけ設定すれば全てのプロセスに反映される構成になってないケースもあったような。
なるほど!解決です!
回答いただいた内容が大きなヒントになりました。
下記ファイルを作成することで、ログイン時に環境変数がセットされました。
$cat ~/Library/LaunchAgents/localhost.setenv.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>localhost.setenv</string>
<key>ProgramArguments</key>
<array>
<string>/bin/launchctl</string>
<string>setenv</string>
<string>変数のキー</string>
<string>変数の値</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
<array>の中でとりあえず環境変数の設定を直書きしてますが、ここをシェルスクリプトとかにすれば汎用的にできるかもしれません。
なにはともあれ助かりました。
ありがとうございます。
No.5
- 回答日時:
>GUIアプリケーション上で有効にしたい場合も
GUIで行った場合はそのアプリが独自の設定ファイルを持ってるのでそのファイルに書き込まれることが殆どです
No.2さんが「アプリ内にパスを通すための設定ファイルが存在します」と回答されてます。ちゃんと読まれましたか?
上から目線も何も丁寧に説明してくれる方に対してあなたが上から目線なのではないですか?
No.4
- 回答日時:
>Macの場合はどこで設定するのが標準的な方法ですか?
WindowsのようなGUIではなくUnixやLinuxはターミナルが標準的ですです
回答有り難うございます。
ということは、GUIアプリケーション上で有効にしたい場合も、.bashrcなり.zshrcなりに書いておいて、一旦ターミナルを起動するという方法しか無いってことですか?
No.3
- 回答日時:
あなたが何をやりたいのかさっぱり解りません
PATHを通したいと思ってました
PATHを通す必要が無いのでしたら環境変数云々なんとどうでもいいことです
>私の手元の環境がおかしいのでしょうか?
はい、その通りだと思います
No.2
- 回答日時:
ターミナルで行うのが標準です
あのですね、なぜPATHを通す必要があるのか考えてくださいね
PATHが必要になってくるものはそもそもターミナルが必要になります
ですのでターミナルで行ってください
GUIでインストールしたアプリにPATHを通す必要はありません
もしPATHを通す必要があるようなアプリの場合にはそのアプリ内にパスを通すための設定ファイルが存在します
>、起動後に一度でもターミナルを開かないと環境変数がセットされない様に思います。
それは間違った知識です
ログイン時に1回実行されます
あのですね、PATHを通したいなんて書いてないです。
私は環境変数を設定したいのです。
また、GUIのアプリケーションでも環境変数を参照するものはあります。
> それは間違った知識です
> ログイン時に1回実行されます
本当にそうですか?
現に、OSリブート後にGUIアプリを開いても環境変数が読み込まれておらず、ターミナルを一度起動してから同じアプリを起動すると環境変数がセットされて意図した動作をしています。
私の手元の環境がおかしいのでしょうか?
No.1
- 回答日時:
zshの場合はhomeディレクトリに.zshrcを作って
bashなら.bashrcもしくは.bash_profile
テキストエディットなどで開いて
export PATH=$PATH:/usr/local/bin
のように記述して保存すれば良いです
bashなら以下で更新
source ~/.bashrc
source ~/.bash_profile
zshならいちおうターミナル再起動
確認のためにPATHが通っているかの確認はターミナルで
echo $PATH
先程のpathの/usr/local/binが出力されれば通ってます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- ルーター・ネットワーク機器 echoshow8の音声をBluetoothを介してパソコンで出力するやり方を教えて下さい。 3 2023/04/03 17:09
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- 画像編集・動画編集・音楽編集 写真の歪み補正について windows10の標準環境でソースネクストのピタリ四角みたいな歪み補正が実 1 2023/01/17 17:20
- 輸入車 BMWのアイドリングストップ機能について 2016年製のアクティブツアラーです。(中古車購入) 標準 3 2022/11/17 08:08
- 統計学 t検定について教えてください 2 2023/02/23 16:35
- Excel(エクセル) Excel 参照元の値を参照したい 1 2022/08/20 18:58
- Excel(エクセル) Excelで【1-1】【1-2】【1-3】という連番の文字の入力が上手く出来ません。 5 2022/11/16 13:24
- iOS iPhoneの画面が見切れて困ってます ゲーム画面などで文字が見切れてしまっていたり タップする部分 2 2022/07/05 22:45
- Excel(エクセル) 条件付き書式を使ってユーザー定義。「数字のみ」も「数字+アルファベット」も認識させたい。 2 2022/05/28 07:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
macでteratermの用なもの
-
ターミナルID、ターミナルタイ...
-
リモートデスクトップとターミ...
-
Mac ターミナルでバックスラッ...
-
ボリュームライセンスとサイト...
-
ページ記号の使い方
-
YAMAHA ルータ PP PP1 ...
-
Windows11のセットアップ中の強...
-
Zoom。法人で1ライセンスを複数...
-
ドライブ名とドライブレターの...
-
FTP/Cyberduck/転送できない。
-
無線ランって隣の部屋の人に利...
-
PC2台でBecky!を使用する際は料...
-
Macbook AirをMac miniのモニタに
-
ライセンス違反の黙認
-
windowsで言う「ファイル名を指...
-
IPアドレス競合時、相手を見つ...
-
debian linuxでUSB接続したHDD...
-
【至急】OBSのデバイス一覧にHS...
-
Adobe Acrobat Proライセンス
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ターミナルID、ターミナルタイ...
-
リモートデスクトップとターミ...
-
MacBook再インストールできません
-
Mac ターミナルでバックスラッ...
-
ターミナルサービスの設定項目...
-
WindowsXPにターミナルサービス...
-
Windows2000Serverのターミナル...
-
管理リモートデスクトップ
-
Windowsでtelnet経由のviを使用...
-
Linux のターミナル内フルスク...
-
PHP4からPostgreSQL7.3に接続し...
-
Windows2000serverのターミナル...
-
同時ユーザアクセス数(リモート...
-
MacOS10.5.7の「ごみ箱が空に出...
-
java for Mac OS X について
-
Macでハイパーターミナルのよう...
-
macOS Big Surにおける環境変数...
-
macのスクショをデスクトップか...
-
フォルダーネームが英文字に......
-
MacのターミナルからSSHで作業...
おすすめ情報
回答ありがとうございます。
ただ、知りたいのはbashやzshの環境変数の設定方法ではなく、Macでの標準的な方法です。
.bashrcや.zshrcに環境変数を定義する方法だと、起動後に一度でもターミナルを開かないと環境変数がセットされない様に思います。(OS起動後にGUIアプリを起動する等した場合)
なので、Windowsのようななにか標準的な方法があるのかなというのが質問の主旨です。
よろしくお願いします。