
奇妙なことにMacOSには3種類のホスト名が存在します。それぞれ役割や設定方法が異なるため、混乱することもあるでしょう。
このブログでは、MacOSにおける3種類のホスト名の違いと設定方法、そして hostname コマンドによる一時的な変更手順について解説します。
結論: ホスト名を変更するときには HostName ・ ComputerName ・ LocalHostName をすべて変更しましょう。
クイックリファレンス
| 項目 | 確認コマンド | 設定コマンド |
|---|---|---|
| HostName | scutil --get HostName | sudo scutil --set HostName 新しい名前 |
| LocalHostName | scutil --get LocalHostName | sudo scutil --set LocalHostName 新しい名前 |
| ComputerName | scutil --get ComputerName | sudo scutil --set ComputerName 新しい名前 |
| 現在のホスト名 | hostname | sudo hostname 新しい名前(一時的) |
すべて一度に変更する例:
| |
1. HostName
概要
HostName は主にDNSやリモートアクセスの際に使用される正式なホスト名です。Macが外部ネットワークやインターネット上で一意に識別されるために用いられ、SSHやVPNなどのリモート接続でも参照されます。
用途
- SSHやVPNなどのリモート接続時の識別。
- 外部ネットワーク上でMacを特定する際の名前。
設定方法(永続的)
以下のコマンドで、再起動後も保持される形で HostName を設定します。
| |
確認方法
現在の HostName は以下のコマンドで確認できます:
| |
また、 hostname コマンドもデフォルトで HostName を表示します。
| |
2. LocalHostName
概要
LocalHostName はBonjour(Appleのゼロコンフィギュレーションネットワーク技術)で使用されるホスト名です。ローカルネットワーク内でのサービス検出に役立ち、通常は xxxx.local の形式で表されます。
デフォルトでは ComputerName を元に自動生成されますが、ハイフン( - )以外の特殊文字やスペースは使えない点に注意が必要です。
用途
- Bonjourを使ったローカルネットワークでの機器発見・サービス公開。
- ファイル共有やプリンター共有などの際に識別しやすくするための名前。
設定方法(永続的)
| |
確認方法
現在の LocalHostName は以下のコマンドで確認できます:
| |
ローカルネットワーク上で見える名前は xxxx.local のように「 .local 」が自動的に付加されます。
3. ComputerName
概要
ComputerName はシステム設定の「コンピュータ名」やFinderなど、主にユーザーインターフェース上で表示される名称です。ネットワーク上に表示されるラベルにも使われるため、他のユーザーが同じネットワークにいる場合は、ここで設定した名前でMacを認識してもらうことができます。
用途
- ネットワーク経由での共有やAirDropなど、ユーザーインターフェースでの表示。
- システム環境設定で視覚的にわかりやすい名前を示す。
設定方法
システム設定から変更する場合
- Appleメニュー > [システム設定] を開きます。
- [一般] > [情報] をクリック。
- 「名前」の横にあるフィールドを編集して新しいコンピュータ名を入力します。
ターミナルから変更する場合
| |
確認方法
現在の ComputerName は以下のコマンドで確認します:
| |
hostname コマンドでの一時的な変更
hostname コマンドを使って、ホスト名を一時的に変更することも可能です。ただし、再起動すると元のホスト名に戻るため、あくまでも緊急時やテストなどの一時的な用途に限られます。
| |
このコマンドを実行後、別のターミナルなどで hostname を実行すると変更が反映されています。しかし、再起動すると元の値に戻る点に注意してください。
まとめ:3種類のホスト名の違い
| 設定項目 | 確認コマンド | 主な用途 | hostname コマンドで表示されるか |
|---|---|---|---|
| HostName | scutil --get HostName | DNS名やリモートアクセスなど、外部ネットワークでの識別 | 表示される |
| LocalHostName | scutil --get LocalHostName | Bonjourを利用したローカルネットワークでの識別 | 表示されない |
| ComputerName | scutil --get ComputerName | Finderや共有設定など、ユーザーインターフェース用 | 表示されない |
- HostName を設定しない場合、macOS が自動的に
LocalHostNameやComputerNameを使う場合があります。 - ネットワーク環境によっては、これら3種類を明示的に設定しておくとトラブルを回避しやすくなります。
よくある質問
Mac ホスト名の確認方法は?
以下のコマンドで各ホスト名を確認できます:
| |
Mac ホスト名変更は再起動が必要?
scutil --setコマンドで変更した場合、再起動は不要です。設定は即座に反映されます。
ただし、一部のアプリケーションやサービスは再起動するまで古いホスト名を使用し続ける場合があります。
hostname コマンドで変更が反映されない場合
hostnameコマンドでの変更は一時的です。永続的に変更するにはscutilを使用してください:
| |
LocalHostName に使える文字は?
- 英数字(a-z, A-Z, 0-9)
- ハイフン(
-)
スペースや特殊文字は使用できません。自動的に置換されます。
例:
My Mac→My-MacMac's Computer→Macs-Computer
ホスト名が勝手に変わる場合
複数のMacが同じネットワークにあり、同じLocalHostNameを持つ場合、自動的に番号が付加されます(例:macbook.local → macbook-2.local)。
解決方法: 各Macに一意のLocalHostNameを設定してください。
まとめ
macOSには3種類のホスト名が存在し、それぞれ異なる役割を持ちます:
- HostName: SSH/リモート接続で使用(外部ネットワーク)
- LocalHostName: Bonjourで使用(ローカルネットワーク、
.local) - ComputerName: FinderやUI表示で使用
ベストプラクティス:
- ホスト名変更時は3つすべてを同じ名前に設定
scutilコマンドで永続的に変更- ネットワークトラブル回避のため、明示的に設定を推奨
これらを正しく設定することで、ネットワークやリモート接続時のトラブルを回避できます。