macOS 13 Venturaより前のmacOSでネットワーク設定を素早く切り替えられる「ネットワーク環境」を作成しておくと、VenturaでもAppleメニューの[場所]から設定を切り替えられるように。

スポンサーリンク

 macOS 13 Venturaでは古いmacOSやnetworksetupコマンドでネットワーク設定を素早く切り替えられる「ネットワーク環境」を作成しておくと、Appleメニューに[場所]メニューが表示されるようになっています。詳細は以下から。


 Appleは日本時間2022年10月にリリースしたmacOS 13 Venturaでシステム環境設定をSwiftUIで「システム設定」として刷新したさいに、職場や自宅などで使用するネットワークポートの順位を素早く変更できるよう、予めロケーションを設定しておけるネットワーク環境 (Network Locations)機能を廃止し、

Network Locations in macOS 12 Monterey

macOS 12 Montereyのネットワーク環境 (Network Locations)

macOS 13 Venturaでは、ネットワーク環境機能のベースとなる“scselect”“networksetup”コマンドは残されているものの、GUIはシステム設定から削除されていますが、macOS 12 Montereyより前のmacOSでネットワーク環境を設定している場合は、Appleメニューに「場所 (Locations)」メニューが追加されるようです。

macOS 13 Venturaの設定アプリから消えたネットワーク環境

macOS 13 Venturaの設定アプリから消えたネットワーク環境

スポンサーリンク

場所メニュー

 AppleはmacOS 13 Venturaリリース後にネットワーク環境のサポートページをアップデートし、この機能がmacOS 12 Monterey以前で利用できた機能であることを追記していますが、

Mac でネットワーク環境を使う方法

macOS Monterey 以前では、ネットワーク環境機能を使って、さまざまなネットワーク設定をまとめてすばやく切り替えることができます。
ネットワーク設定一式 (ネットワーク環境) をまとめて切り替えられると、以下のような状況で便利です。

  • 職場と自宅で同じ種類のネットワーク (Ethernet など) を使っているが、職場で使っている設定のままでは、自宅で同じ種類のネットワークに Mac を自動的に接続できない。

Mac でネットワーク環境を使う方法 – Apple support

macOS 13 Venturaでは、そのmacOS 12 Monterey以前のmacOSでネットワーク環境を設定しておくと、Venturaアップグレード後にAppleメニュー下に[場所]というメニューが追加され、引き続き[場所]メニューからネットワーク環境を素早く切り替えることが可能になっています。

macOS 13 VenturaのAppleメニューに出現する[場所]メニュー

macOS 12 Monterey以下のmacOSでも「ネットワーク環境」として、このメニューが存在します。

 また、試してみたところ、この[場所]に表示されるネットワークロケーションは”networksetup -createlocation”で作成したネットワーク環境設定(場所)も反映されるので、Venturaでも引き続きCUIベースでネットワーク環境機能を作成&GUIで切り替えることは可能のようです。

macOS 13 Venturaで作成したネットワーク環境の場所

networksetup -createlocation Ventura
  • macOS 13 Venturaの新機能まとめ (準備中)

コメント

  1. 匿名 より:

    おおやったぜ!

    まだVentura入れてないけど。

  2. 匿名 より:

    ネットワーク環境の設定は、
    /Library/Preferences/SystemConfiguration/preferences.plist
    に納められていて、Monterey以前もVenturaも同じ書式のplistです。

    Venturaで新規作成すると「Sets」の項目が1つで「UserDefinedName」のStringsが「Automatic」となっています。

    Monterey以前&Montereyから更新した場合は「Sets」の項目が設定していた数だけ存在し、「UserDefinedName」のStringsはそれぞれの設定名称となっています。

    Monterey以前の環境が存在するなら、
    /Library/Preferences/SystemConfiguration/preferences.plist
    をVentura環境にsudo cp -pで更新&システム再起動すれば「場所」問題は解決します。

    Venturaクリーンインストール環境で「場所」プリセットを新規に追加する問題は、現在検証中です。

  3. 匿名 より:

    追記です。

    Venturaでネットワーク設定からWiFiが独立したために、Monterey以前からのプリセット(「場所」)設定が引き継がれても、WiFiの設定は制御できない模様です。

    従って、引き継いで意味があるのは有線接続のみのようですが、ケースによってネットワーク設定を変えたいのはEthernet位だと思うので、「場所」が使えるようになってもかなり限定的な効果になりそうです。

    とくに「場所」で切り替えるとMontereyまでのプリセットでWiFiがオンでも、強制的にWiFiが切られてしまうので、少し実用的ではないようです。

    Venturaでの設定を何らかの方法で保存切替が出来ない以上は、使えても有線切替前提なので、IP設定類の切替がメインで、Thunderbolt/USB-CドックのEthernetと本体Ethernetを切り替える場合は、Ethernet機器ごとの設定はそれぞれ保存されるので不要・・・という感じなのでしょう。

  4. 匿名 より:

    上の者です。

    どうやらPlist Editor系を使用し、1つずつの「Automatic(自動)」設定をコピペで追記していくことで、「場所」及びWiFiも含めたプリセットを作ることが可能なようです。

    以下に、まずは「返信」扱いで手順を書きます。

  5. 匿名 より:

    返信で〜と書きましたが、投稿が表示されないと返信できないので、この投稿に書きます^^;

    作業手順ですが、

    まずは単独のネットワーク設定を行います


    すると
    /Library/Preferences/SystemConfiguration/preferences.plist

    Sets
    の中に
    12DCB6AC-EA22-4FB4-B5E8-6D8784CFFFE3(のような文字列)
    として各種設定群と
    UserDefinedName
    Automatic
    が格納されます


    /Library/Preferences/SystemConfiguration/preferences.plist

    /Library/Preferences/SystemConfiguration/preferences_自宅.plist
    のように任意名称でリネームして保護します
    この場合アクセス権が崩れても問題ないので普通のリネーム作業でOKです


    ログアウト&ログインします(再起動は不要なようです)


    再びシステム設定から(別のセットになる)単独のネットワーク設定を行うと
    /Library/Preferences/SystemConfiguration/preferences.plist
    が新しくまた作られます

    その中の
    Sets
    の中に、先ほどとは異なる
    D96D6DD0-F962-4402-8CFC-369E15D5B992(のような文字列)
    として各種設定群と
    UserDefinedName
    Automatic
    が格納されます


    先ほどと同じように
    /Library/Preferences/SystemConfiguration/preferences.plist

    /Library/Preferences/SystemConfiguration/preferences_会社.plist
    のように任意名称でリネームして保護します


    この流れを繰り返し、プリセットの「もと」の.plistファイルを用意していきます


    基本的に1つは、自由に書き換えられる「自動(Automatic)」プリセットが必要なので、
    全てのpreferences.plistをリネーム後にログアウト&ログインして作られる新しい
    /Library/Preferences/SystemConfiguration/preferences.plist
    はそのまま生かし、このpreferences.plistを直接編集します


    編集の保存には
    /Library/Preferences/SystemConfiguration/

    /Library/Preferences/SystemConfiguration/preferences.plist
    のアクセス権の変更が必要ですが
    諸々の理由で編集の「保存を行う直前」にアクセス権の変更を行います


    さて
    /Library/Preferences/SystemConfiguration/preferences.plist
    をPlist Editor等で開くと
    Sets

    8CDB9B64-6111-413E-BBDB-D666974AC057(のような文字列)
    が1つ格納されているはずです

    この
    Sets
    に追記してプリセットを増やしていきます


    次にリネームして保護していたpreferences.plist(ex.preferences_自宅.plist)
    をPlist Editorアプリで開き
    Sets
    に格納されている
    12DCB6AC-EA22-4FB4-B5E8-6D8784CFFFE3(のような文字列)
    の内容を丸ごとコピーします


    そして、既にPlist Editorアプリで開いている
    /Library/Preferences/SystemConfiguration/preferences.plist

    Sets
    内に(丸ごと)ペーストし追記します


    この時点で
    /Library/Preferences/SystemConfiguration/preferences.plist

    Sets
    内には

    最初からある
    8CDB9B64-6111-413E-BBDB-D666974AC057(のような文字列)
    と、追記した
    12DCB6AC-EA22-4FB4-B5E8-6D8784CFFFE3(のような文字列)
    の2つのセットが存在するはずです


    次にペースト追記した
    12DCB6AC-EA22-4FB4-B5E8-6D8784CFFFE3(のような文字列)
    の中の
    UserDefinedName
    Automatic

    UserDefinedName
    自宅(のような任意の名称)
    に変更します

    この名称が「場所」メニューで表示されるプリセット名になります


    この作業を用意していたプリセットの「もと」の数だけ繰り返し、
    追記作業が全て終了したら
    編集保存のためのアクセス権の変更作業を行います

    これを行わないと編集した内容を書き込めません


    Finderの「情報を見る」で
    /Library/Preferences/SystemConfiguration/
    の情報ウインドウを開き「共有とアクセス権」の鍵マークをクリックして解除し
    「admin」を「読み出しのみ」から「読み / 書き」に変更します


    同じくFinderの「情報を見る」で
    /Library/Preferences/SystemConfiguration/preferences.plist
    の情報ウインドウを開き「共有とアクセス権」の鍵マークをクリックして解除し
    「everyone」を「読み出しのみ」から「読み / 書き」に変更します

    この
    /Library/Preferences/SystemConfiguration/preferences.plist
    の情報ウインドウは「編集を保存するまで絶対に閉じないで」下さい


    Plist Editorでの編集内容を
    /Library/Preferences/SystemConfiguration/preferences.plist
    に上書き保存します


    開いたままでいた
    /Library/Preferences/SystemConfiguration/preferences.plist
    の情報ウインドウの「共有とアクセス権」ですが

    上書き保存を行った関係で
    「システム」の「読み / 書き」と「wheel」の「読み出しのみ」から
    「作業ユーザー名」の「読み / 書き」と「admin」の「読み / 書き」に
    書き換わっていると思います

    これを元に戻すため
    「○」に「・・」の「アクション」メニューから「変更を元に戻す」を選ぶと
    「システム」の「読み / 書き」と「wheel」の「読み出しのみ」に戻るはずです

    戻ったら
    /Library/Preferences/SystemConfiguration/preferences.plist
    の情報ウインドウを閉じます

    この「変更を元に戻す」作業が、
    「一度情報ウインドウを閉じると行えなくなってしまう」ので
    アクセス権を弄る時間が短くなるような手順にしています


    次に
    /Library/Preferences/SystemConfiguration/
    の情報ウインドウを開き「共有とアクセス権」の鍵マークをクリックして解除し
    「admin」を「読み / 書き」から「読み出しのみ」に戻します

    こちらも情報ウインドウを開きっぱなしにして置いて
    「○」に「・・」の「アクション」メニューから「変更を元に戻す」を選んでも良いです


    その後ログアウト&ログインし、編集した
    /Library/Preferences/SystemConfiguration/preferences.plist
    を有効化させます


    リンゴマークメニューに「場所」が追加されプリセットが表示されるようになり
    システム設定のネットワーク項目上でプリセットの切替が反映されれば成功です


    全ての確認が済んだら、リネーム保護していた.plistファイルを削除すれば終了です

    とりあえずPlist Editorさえ入手できれば
    ターミナル作業無しで(Finderのみで)作業できる方法を考えてみました

    preferences.plistはXML表記のファイルなので
    XMLエディターでも作業できますし、頑張ればテキストエディターでも作業できます

    ポイントはアクセス権を元に戻すのに、
    情報ウインドウの「アクション」メニュー「変更を元に戻す」を利用している点です

    Plist Editorでの
    /Library/Preferences/SystemConfiguration/preferences.plist
    の追記作業を途中で保存したい場合は、
    毎回Finderの「情報を見る」ウインドウの件を繰り返して下さい

    UserDefinedName
    Automatic

    UserDefinedName
    自宅(のような任意の名称)
    に変更する所まで済んでいれば、
    /Library/Preferences/SystemConfiguration/preferences.plist
    に書き込まれて、アクセス権が戻されてる時点で、
    ログアウト&ログイン後なら「場所」メニューは有効になっているはずです

  6. 匿名 より:

    1つ前の投稿で凡ミスを侵してしまったので、削除して下さい^^;

    「場所」メニュー作成の最終段の、
    /Library/Preferences/SystemConfiguration/preferences.plist
    への追加編集の部分ですが、

    当たり前と言えば当たり前ですが、起動しているシステムの、必要ファイル(開いてるファイル)の編集保存は不可能です・・・^^;

    僕が複数の起動クローン・バックアップで起動させて検証していたため、変更するシステムを勘違いして作業していました。

    具体的には、それぞれのプリセットの「もと」.plistファイルをリネーム保護して作成するところまではOKです。

    但し、
    /Library/Preferences/SystemConfiguration/preferences.plist
    の編集保存のためには、

    別の起動ボリュームで起ち上げての作業が必要です・・・^^;

    この場合の起動ボリュームは、Plist Editorが立ち上がる環境であれば、
    macOSのバージョンが多少古くても問題ありません。

    つまり別の起動ボリュームから

    Volumes/目的の起動ボリューム – データ/Library/Preferences/SystemConfiguration/preferences.plist
    の追加編集を行い、

    Volumes/目的の起動ボリューム – データ/Library/Preferences/SystemConfiguration/
    Volumes/目的の起動ボリューム – データ/Library/Preferences/SystemConfiguration/preferences.plist
    の情報ウインドウでのアクセス権操作を行うことになります

    上記の修正を行った文章を再投稿するので、
    可能であればそちらで実検証をされてみてから、
    ページに反映させて下さい・・・^^;

  7. 匿名 より:

    こちらの投稿に作業手順を書きます

    最初Terminal.appを使わず平たく作業を行おうと思ったら、
    変更する起動ボリュームとは別の書き込み作業用起動ボリュームが必要になったので、
    まずは判りやすくて起動ボリューム1つで完結するTerminal.appを使用する方法を書きます

    まずは1プリセット目のネットワーク設定を行います

    ごく普通に「システム設定>ネットワーク」で
    「Ethernet」などの設定を入力し、接続確認を行います


    それらの設定を行うと

    /Library/Preferences/SystemConfiguration/preferences.plist

    Sets
    の中に
    12DCB6AC-EA22-4FB4-B5E8-6D8784CFFFE3(のような文字列)
    として各種設定群と
    UserDefinedName
    Automatic
    という設定名称が格納されます

    「Automatic」とはMontereyまでの「自動」という日本語環境名称です


    この設定を残しておきたいので
    /Library/Preferences/SystemConfiguration/preferences.plist
    を直接名称変更して
    /Library/Preferences/SystemConfiguration/preferences_自宅.plist
    のように任意名称に変更して保護します

    この場合、所有権が崩れても問題ないので普通の複製&リネームでOKです


    この状態だと正式なネットワーク設定がない状態になるので
    速やかにログアウト&ログインを行って、新しい
    /Library/Preferences/SystemConfiguration/preferences.plist
    をシステム側に作成させます


    新しくできた
    /Library/Preferences/SystemConfiguration/preferences.plist
    に2プリセット目のネットワーク設定を行い記録させます

    次も普通に「システム設定>ネットワーク」で
    「Ethernet」などの設定を入力し、接続確認を行います


    そうすると
    /Library/Preferences/SystemConfiguration/preferences.plist
    が新しい(2つ目の)ネットワーク設定が格納されたファイルになります


    その中の
    Sets
    の中に、先ほどとは異なる
    D96D6DD0-F962-4402-8CFC-369E15D5B992(のような文字列)
    として各種設定群と同じように設定名称である
    UserDefinedName
    Automatic
    が格納されます

    重要なのは

    1つ目の
    12DCB6AC-EA22-4FB4-B5E8-6D8784CFFFE3(のような文字列)
    と、2つ目の
    D96D6DD0-F962-4402-8CFC-369E15D5B992(のような文字列)
    が異なることで、
    このとその中身の違いで、別のプリセットと認識されます

    大元の
    /Library/Preferences/SystemConfiguration/preferences.plist
    の複製コピーで異なるネットワーク設定を作ると
    12DCB6AC-EA22-4FB4-B5E8-6D8784CFFFE3(のような文字列)
    が変わらずに、中身だけが変更されたファイルが作られるので
    最後に全てを合体させたときに複数のプリセットとして認識されません

    つまり毎回新規の設定として、新しい
    D96D6DD0-F962-4402-8CFC-369E15D5B992(のような文字列)
    を作成させなければいけません


    ということで先ほどと同じように
    /Library/Preferences/SystemConfiguration/preferences.plist
    を直接名称変更して
    /Library/Preferences/SystemConfiguration/preferences_会社.plist
    のように任意名称に変更して保護します


    この流れを繰り返し、プリセットの「もと」になる.plistファイルを用意していきます

    例えば自宅でネットワーク設定を行ったら、
    /Library/Preferences/SystemConfiguration/preferences.plist
    を複製コピーしてコピーの方の名称変更を行い
    /Library/Preferences/SystemConfiguration/preferences_自宅.plist
    を作成して保護しておいて、自宅での作業は
    /Library/Preferences/SystemConfiguration/preferences.plist
    の設定を使用しておきます

    次に会社などで新たにネットワーク設定を行うときは、既存の
    /Library/Preferences/SystemConfiguration/preferences.plist
    を削除して、ログアウト&ログインを行い、新たな
    /Library/Preferences/SystemConfiguration/preferences.plist
    をシステムに作らせてから、ネットワーク設定を行います

    自宅の時と同じように複製コピーをかけて、コピーの方の名称変更を行い
    /Library/Preferences/SystemConfiguration/preferences_会社.plist
    を作成して保護しておいて、同じように会社での作業は
    /Library/Preferences/SystemConfiguration/preferences.plist
    の設定を使用しておき、帰宅後に2つの内容をマージしてプリセットリストを作る

    というようにすれば、ネットワーク設定内容が一度に把握できない場合でも対応可能です


    そして最終的にマージ(結合)させるわけですが、
    基本的に1つは、自由に書き換えられる「自動(Automatic)」プリセットが必要なので、
    preferences.plist削除後にログアウト&ログインして新しく作られる
    /Library/Preferences/SystemConfiguration/preferences.plist
    の中の「Automatic」設定をそのまま生かして、
    このpreferences.plistファイルをベースに追記編集していきます


    追記編集についてです

    /Library/Preferences/SystemConfiguration/preferences.plist
    をPlist Editor等で開くと
    Sets

    8CDB9B64-6111-413E-BBDB-D666974AC057(のような文字列)
    が1つ格納されているはずです
    この中身を「自動(Automatic)」に流用するわけですが、その上位のの
    Sets
    に、設定内容をコピー&ペーストで追記して、プリセットを増やしていきます


    リネームして保護していたpreferences.plist(ex.preferences_自宅.plist)
    をPlist Editorアプリで開き
    Sets
    に格納されている
    12DCB6AC-EA22-4FB4-B5E8-6D8784CFFFE3(のような文字列)
    の内容を「丸ごと」コピーします


    そして、既にPlist Editorアプリで開いている、追記先の
    /Library/Preferences/SystemConfiguration/preferences.plist

    Sets
    内に(丸ごと)ペーストし追記(プリセットの追加)します


    この時点で
    /Library/Preferences/SystemConfiguration/preferences.plist

    Sets
    内には

    最初からある
    8CDB9B64-6111-413E-BBDB-D666974AC057(のような文字列)
    と、追記した
    12DCB6AC-EA22-4FB4-B5E8-6D8784CFFFE3(のような文字列)
    の2つのセットが存在するはずです


    次にペースト追記した
    12DCB6AC-EA22-4FB4-B5E8-6D8784CFFFE3(のような文字列)
    の中の
    UserDefinedName
    Automatic

    UserDefinedName
    自宅(のような任意の名称)
    に変更します

    この名称が「場所」メニューで表示されるプリセット名になり
    この時点で「自動(Automatic)」と「自宅(のような任意の名称)」の
    2つの「場所」メニューの中身が揃ったことになります


    この作業を、用意していたプリセットの「もと」.plistの数だけ繰り返し、
    追記作業が全て終了したら
    /Library/Preferences/SystemConfiguration/preferences.plist
    に上書き保存します


    この状態ではユーザー権限で編集保存したために
    所有権とアクセス権が狂って、システム設定からは読み込みしか出来ないので
    Terminal.appでコマンドを打って直接修正します


    本来の
    /Library/Preferences/SystemConfiguration/preferences.plist

    アクセス権「644(-rw-r–r– )」、所有権「root:wheel」なので

    % sudo chmod 644 /Library/Preferences/SystemConfiguration/preferences.plist

    % sudo chown root:wheel /Library/Preferences/SystemConfiguration/preferences.plist

    とそれぞれ打って(コピー&ペースト推奨)リターンキーで実行します
    #sudo(管理者権限)なので、ユーザーパスワードの入力が必要です

    一応確認のために

    % ls -l /Library/Preferences/SystemConfiguration/preferences.plist

    と打って(コピー&ペースト推奨)リターンキーで実行し

    -rw-r–r– 1 root wheel 〜

    のように表示されればOKです


    作業終了後、ログアウト&ログインし、編集した
    /Library/Preferences/SystemConfiguration/preferences.plist
    を有効化させ、
    リンゴマークメニューに「場所」が追加されプリセットが表示されるようになり
    システム設定のネットワーク項目上でプリセットの切替が反映されれば成功です


    全ての環境でのネットワーク接続確認が済んだら、
    リネーム保護していた.plistファイルを削除すれば終了です

    この方法でプリセットを作っていくと、
    WiFi(macOSではAirmac設定)も対応した設定が
    /Library/Preferences/SystemConfiguration/
    内に残っていくようなので、WiFiもプリセットに連動するはずです。

    僕の環境だけかも知れませんが、
    Montereyからアップグレードした場合、もしくは
    /Library/Preferences/SystemConfiguration/preferences.plist
    を直接移行させた場合には、WiFi設定がプリセットと連動しない場合があるようです。