wsl2のホスト名って変えられるんですか?
とある日。
後輩ちゃん「wsl2上で作業するときに、ホスト名に自分のマシン名が表示されるの嫌だな~」
後輩ちゃん「wsl2のホスト名って変えられないのかな~」
後輩ちゃん「ほらほら、良く黒い画面のキャプチャとか撮ること多いじゃないですか~」
すずこ(独り言かな)
すずこ(また黒い画面って言ってるし...)
後輩ちゃん「Linuxのホスト名変更コマンドだと上手くいかなかったし~」
後輩ちゃん「変更方法知ってる人いないかな~((チラチラ」
すずこ「分かったよ、教えるよっ!!!」
ということで、wsl2のホスト名変更手順を説明することになった。
wsl2のホスト名変更方法
すずこ「後輩ちゃんの言う通り、wslでは下記のような表示になるね」
root@[マシン名]:~#
すずこ「マシン名のところを、任意のホスト名に変更したい場合、」
すずこ「/etc/wsl.conf
に記載するのが手っ取り早いよ」
/etc/wsl.conf に記載する
すずこ「wsl2内の/etc/wsl.conf
に下記を記載してごらん」
すずこ「/etc/wsl.conf
が存在しない場合は作成して記載して」
[network]
hostname = wsl ← お好きなホスト名でOK
すずこ「記載できたら保存して、wslを再起動してみよう」
wsl2再起動後...
root@wsl:~#
後輩ちゃん「ありがとうございます、ちゃんと変わってます!」
後輩ちゃん「これで、マシン名表示されなくてハッピーです!」
と、こんなやりとりがありましたとさ。
余談
hostnamectl set-hostnameだとエラーが出る理由
すずこ「ところで、冒頭で言ってた、Linuxのホスト名変更コマンドって下記のことかな?」
root@[マシン名]:~# hostnamectl set-hostname hostname
すずこ「この方法だと、確かにエラーがでるね」
すずこ「このコマンドは、Linuxのhostname変更コマンドなんだけど、」
すずこ「wsl2上で実行すると下記のようなエラーが起きるんだ」
root@[マシン名]:~# hostnamectl set-hostname wsl
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to create bus connection: Host is down
後輩ちゃん「そうです、そのエラーが出ました」
すずこ「エラーの内容はざっくり、systemdをinitシステム(PID 1)として起動してないからsystemctl
は使えないぜって感じ」
すずこ「wsl2上でプロセスの確認をしてごらん」
root@[マシン名]:~# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 896 528 ? Sl 23:22 0:00 /init
後輩ちゃん「PID 1
が/init
になってますね」
後輩ちゃん「じゃあ、PID 1
をsystemd
になるように変更すれば、この方法でも実行できるんですか?」
すずこ「おそらくできると思うが、やったことないので自分で確かめてみて」
後輩ちゃん「いつかやってみます!」
すずこ(絶対やらんな...)
おしまい。