Fragments of verbose memory

冗長な記憶の断片 - Web技術のメモをほぼ毎日更新(準備中)

Jan 10, 2025 - 日記

MacOSのHostName3つある

奇妙なことにMacOSには3種類のホスト名が存在します。それぞれ役割や設定方法が異なるため、混乱することもあるでしょう。 このブログでは、MacOSにおける3種類のホスト名の違いと設定方法、そして hostname コマンドによる一時的な変更手順について解説します。

結論: ホスト名を変更するときには HostNameComputerNameLocalHostNameすべて変更しましょう。

1. HostName

概要

HostName は主にDNSやリモートアクセスの際に使用される正式なホスト名です。Macが外部ネットワークやインターネット上で一意に識別されるために用いられ、SSHやVPNなどのリモート接続でも参照されます。

用途

  • SSHやVPNなどのリモート接続時の識別。
  • 外部ネットワーク上でMacを特定する際の名前。

設定方法(永続的)

以下のコマンドで、再起動後も保持される形で HostName を設定します。

sudo scutil --set HostName 新しいホスト名

確認方法

現在の HostName は以下のコマンドで確認できます:

scutil --get HostName

また、 hostname コマンドもデフォルトで HostName を表示します。

hostname

2. LocalHostName

概要

LocalHostName はBonjour(Appleのゼロコンフィギュレーションネットワーク技術)で使用されるホスト名です。ローカルネットワーク内でのサービス検出に役立ち、通常は xxxx.local の形式で表されます。 デフォルトでは ComputerName を元に自動生成されますが、ハイフン( - )以外の特殊文字やスペースは使えない点に注意が必要です。

用途

  • Bonjourを使ったローカルネットワークでの機器発見・サービス公開。
  • ファイル共有やプリンター共有などの際に識別しやすくするための名前。

設定方法(永続的)

sudo scutil --set LocalHostName 新しいローカルホスト名

確認方法

現在の LocalHostName は以下のコマンドで確認できます:

scutil --get LocalHostName

ローカルネットワーク上で見える名前は xxxx.local のように「 .local 」が自動的に付加されます。

3. ComputerName

概要

ComputerName はシステム設定の「コンピュータ名」やFinderなど、主にユーザーインターフェース上で表示される名称です。ネットワーク上に表示されるラベルにも使われるため、他のユーザーが同じネットワークにいる場合は、ここで設定した名前でMacを認識してもらうことができます。

用途

  • ネットワーク経由での共有やAirDropなど、ユーザーインターフェースでの表示。
  • システム環境設定で視覚的にわかりやすい名前を示す。

設定方法

  1. システム設定から変更する場合

    1. Appleメニュー > [システム設定] を開きます。
    2. [一般] > [情報] をクリック。
    3. 「名前」の横にあるフィールドを編集して新しいコンピュータ名を入力します。
  2. ターミナルから変更する場合

sudo scutil --set ComputerName 新しいコンピュータ名

確認方法

現在の ComputerName は以下のコマンドで確認します:

scutil --get ComputerName

hostname コマンドでの一時的な変更

hostname コマンドを使って、ホスト名を一時的に変更することも可能です。ただし、再起動すると元のホスト名に戻るため、あくまでも緊急時やテストなどの一時的な用途に限られます。

sudo hostname 新しいホスト名

このコマンドを実行後、別のターミナルなどで hostname を実行すると変更が反映されています。しかし、再起動すると元の値に戻る点に注意してください。

まとめ:3種類のホスト名の違い

設定項目確認コマンド主な用途hostname コマンドで表示されるか
HostNamescutil --get HostNameDNS名やリモートアクセスなど、外部ネットワークでの識別表示される
LocalHostNamescutil --get LocalHostNameBonjourを利用したローカルネットワークでの識別表示されない
ComputerNamescutil --get ComputerNameFinderや共有設定など、ユーザーインターフェース用表示されない
  • HostName を設定しない場合、macOS が自動的に LocalHostNameComputerName を使う場合があります。
  • ネットワーク環境によっては、これら3種類を明示的に設定しておくとトラブルを回避しやすくなります。

これでMacOSのホスト名に関する理解が深まったはずです。それぞれの役割を正しく把握し、目的に合った設定を行うことで、ネットワークやリモート接続時のトラブルを回避できるでしょう。 ぜひ自分の利用シーンに合わせて3種類のホスト名を適切に設定してみてください。

Tags: macos

AIによるスペックテストの変更をガードする方法

comments powered by Disqus