user@hostname $ 【hostnamectl】
SSH接続後に表示されるホスト名を
変更する

SSH接続後に表示されるホスト名を変更するには、ホスト側で変更します。

sudo hostnamectl set-hostname 新しいホスト名
Code language: JavaScript (javascript)

変更を確認するには、

hostnamectl
<svg class="eyecatch-svg" viewBox="0 0 192 192" xmlns="http://www.w3.org/2000/svg">
  <!-- 背景 -->
  <rect width="192" height="192" fill="white" rx="32" ry="32"/>
  
  <!-- ターミナルウィンドウ -->
  <g transform="translate(36, 48)">
    <!-- ウィンドウ本体 -->
    <rect width="120" height="96" fill="#263238" rx="6" ry="6"/>
    
    <!-- ウィンドウヘッダー -->
    <rect width="120" height="20" fill="#37474F" rx="6" ry="6"/>
    <rect y="20" width="120" height="6" fill="#37474F"/>
    
    <!-- ウィンドウ制御ボタン -->
    <circle cx="12" cy="10" r="3" fill="#F44336"/>
    <circle cx="24" cy="10" r="3" fill="#FF9800"/>
    <circle cx="36" cy="10" r="3" fill="#4CAF50"/>
    
    <!-- プロンプト表示 -->
    <text x="12" y="45" font-family="monospace" font-size="12" fill="#4CAF50" font-weight="bold">user@hostname</text>
    
    <!-- コマンドプロンプト -->
    <text x="12" y="65" font-family="monospace" font-size="14" fill="#2196F3">$</text>
    
    <!-- カーソル -->
    <rect x="24" y="54" width="8" height="14" fill="#2196F3" opacity="0.8"/>
  </g>
  
  <!-- 編集アイコン(ホスト名変更を示唆) -->
  <g transform="translate(140, 120)">
    <circle cx="16" cy="16" r="20" fill="#2196F3"/>
    <path d="M 10 22 L 10 16 L 16 10 L 22 16 L 16 22 Z" fill="white" stroke="white" stroke-width="2" stroke-linejoin="round"/>
    <line x1="13" y1="19" x2="19" y2="13" stroke="#2196F3" stroke-width="2"/>
  </g>
</svg>【hostnamectl】<br class="chiilabo-br is-on"> SSH接続後に表示されるホスト名を<br class="chiilabo-br is-on">変更する

注意: ホスト名は英数字とハイフンのみ使用可能です(アンダースコアは非推奨)。

関連記事

1. 手動で編集することもできます。

/etc/hostname

sudo nano /etc/hostname

内容を新しいホスト名に変更(1行のみ)

1.1. /etc/hosts も変更しておく

hostnamectlコマンドは/etc/hostnameのみを変更するため、/etc/hostsは手動で編集が必要です。

1.1.  /etc/hosts も変更しておく

`127.0.1.1`の行が古いホスト名のままだと、`sudo`コマンド実行時に警告が出たり、 一部のアプリケーションで名前解決エラーになる可能性があるからです。

sudo nano /etc/hosts

127.0.1.1の行を変更:

127.0.1.1    新しいホスト名
Code language: CSS (css)
1.1.  /etc/hosts も変更しておく

1.2. 変更を反映する(systemctl restart systemd-hostnamed)

再起動するか、以下のコマンドで即座に反映できます。

sudo systemctl restart systemd-hostnamed

SSH再接続すると、プロンプトが変わります:

# 変更前
chii@lubuntu:~$

# 変更後
chii@test-lub:~$
Code language: PHP (php)

2. ターミナルのプロンプト表示の変更(~/.bashrc

ちなみに、SSH接続後のプロンプト表示を変更するには、サーバー側のユーザーの.bashrcで設定します。

PS1=という箇所の\u@\h という箇所がホスト名を示しているので、\h 部分を消せばよいことになります。

2. ターミナルのプロンプト表示の変更(~/.bashrc)
# プロンプトをユーザー名のみに変更
PS1='\u$ '
Code language: PHP (php)

設定を反映するには、

source ~/.bashrc

必要に応じて以下のようなカスタマイズも可能です:

# ユーザー名 + カレントディレクトリ
PS1='\u \W$ '
# 表示例: chii ~$

# ユーザー名のみ(色付き)
PS1='\[\e[32m\]\u\[\e[0m\]$ '
# 表示例: chii$ (緑色)

# シンプルに$のみ
PS1='$ '
# 表示例: $
Code language: PHP (php)

注意: ~/.bashrcはbashシェル用の設定です。
zshを使用している場合は~/.zshrcを編集します。