【WSL】ホストネーム変更が元に戻る問題を解決!永続化の正解はwsl.conf

WSLを使用しているとホストネームがWindowsの端末名になってしまうのですが、自分みたいに説明が画面キャプチャを貼ったりしていると、あんまり見せたくないなと思うこともあります🤔そこでWSLディストリビューションhostnameを変更を考えるのですが、一般的なhostnameの変更手順では永続化できないという現象が発生します🙄

今回はその対策のメモとなります。特に以前のディストリビューションには名前をつけられるようになったのに、それがホストネームに反映されてないとちょっと気持ちが悪いですよね。

参考

uepon.hatenadiary.com

問題点

WSLでホストネームを変更したいが、hostnameコマンドや/etc/hostnameの編集だけでは、再起動時に元に戻ってしまう。

一般的な手順(今回はこれでは永続化されない)

# 以下ではwsl --shutdownを行った場合ではもとに戻る
$ hostname newhostname
# ファイルを編集でhostnameの変更は可能だが、再起動するとこのファイルの変更が無効になる。
$ sudo nano /etc/hostname

この原因は?

実は、WSLは再起動時にWindowsホストからホストネームを継承するため、通常のLinuxの変更手順では永続化されないのです。

解決方法

wsl.confを編集することで変更の永続化が行われます。というか、再起動時にWindowsホストからホストネームの継承時に、このファイルの値が設定に反映されます。

1. wsl.confファイルを編集

$ sudo nano /etc/wsl.conf

2. wsl.confファイルに以下の内容を追加

ホストネームをMyUbuntuにする場合は以下のようになります。

  • ⚠️# generateHosts = falseは不要です。入っていたらコメントアウトしてください
  • ⚠️入っているとsudoコマンドの実行が遅くなります
[network]
hostname = newhostname
# generateHosts = false

変更箇所

3. PowerShellに戻り、WSLを再起動

PS> wsl --shutdown
PS> wsl -d ディストリビューション名

再起動するとホストネームが変わっています

おわりに

変更してsudoコマンドの実行が遅くなってかなり焦りましたが、起動時に/etc/hostsが自動生成されることでこの現象が発生するようです。手動で修正もできますが、wsl.confの修正が簡単に解消します。

【5分解決】Pythonアプリの実行ファイル化|Nuitkaならコマンド1行で完了!

こんな経験ありませんか🤔?

  • 「作ったPythonアプリを友達に使ってもらいたいけど...」
  • 「でも相手のPCにはPythonが入ってない」
  • 「『Pythonをインストールして、ライブラリも入れて...』って説明するのが面倒」

こういった悩みはファイルを実行ファイル化すれば、これらの問題が一瞬で解決します🤩 といっても、WindowsのWSLの実行ファイル化の実験なので、Windowsの純粋な実行ファイル化については近いうちにまとめようと思います。

実行ファイル化のメリット

  • ファイル1つ渡すだけでOK … 配布が簡単
  • 相手のPCにPythonがなくても動く … Python不要
  • ライブラリのバージョン違いでエラーが起きない … 環境依存関係の悩み解消

今回はPythonアプリを実行ファイルにするNuitkaの使い方について書いています。 『たった5分でHello Worldが実行ファイルに!』というのは大げさかもしれませんが、開発環境のインストールから実行ファイル化までの手順をなぞってみます。

今回は以下のことができるようになることを目指しています。

  • NuitkaPythonファイルを実行ファイルに変換にする
  • 他の人にPythonアプリを簡単に配布可能にする
続きを読む

【AI開発時代】Claude Code学び直しノート - 15分で時代に追いつけるか?

スマヌ15分では追いつけなかったよ…トラブルに引っかかったので60分かかった😢😢😢 ※Node.jsのインストールトラブルがなければ15分で終わるでしょう。

かなり無理を言ってる🤔わかってるでもやらないと追いつけない…😫 という話となります。さて短時間で学び直しはできるのでしょうか。

【スペック】

  • 半世紀生きたジジイ👴
  • 業務開発経験は基本無い(副業レベル)
  • UbuntuPythonはそれなりに分かる⌨️
  • Node.jsは初心者レベル
  • Windows派🪟
  • 開発はWSLかDocker🐳

Claude Codeって何?

ターミナル上で動くAIコーディングアシスタントです。プロンプトに「〜を作って」「〜を修正して」と依頼することで開発ができます。VisualStudio CodeJetBrains IDEとも連携が可能らしい。

正直、最初は「また新しいツール🙄?」って思ったけど、使ってみたら開発スタイルが完全に変わる予感はありました🤩

続きを読む

uvって何?Pythonパッケージ管理の新しい選択肢について

uvというツールを耳にしたことはありますか?

2024年に登場したこのRust製のPythonのパッケージマネージャが、開発者の間で注目になっています。ようやく従来のpipvenvに慣れ親しんだというのに…🙄「新しいツールって本当に必要?」なんだろうかというちょっと嫌な見方をしてしまうのです。

詳細に関しては別の方が詳しいエントリーを作成されていると思うのでそちらに譲るとして、 今回はuvとはどんなものなのか、従来のツールとどう違うのか、そしてどんな場面で役立つのかを調べてみました。

参考

docs.astral.sh

zenn.dev

uvとは?

uvは、Astral社が開発したPython向けのパッケージ&プロジェクト管理ツールです。

主な特徴

  • Rust製で非常に高速
  • pip互換のコマンド体系
  • 仮想環境管理も可能

簡単に言えば、「pipvenvpyenvの機能を統合し、更に高速になったオールインワンツール」といえるのではないかと思います。

続きを読む

Pocketに溜まった記事をNotionに移行したい!移行ツールをPythonで自作

「後で読む」と思ってPocketに保存した記事が、気がつけば数百件と溜まっていませんか?私もその一人です😫興味深い記事を見つけるたびにPocketに保存するものの、実際に読み返すことは少なく、積読状態😑

しかし、Pocketに大きな変化が起きました。MozillaFirefox の開発元)によるPocketの終了が2025年7月と発表されました。これにより、多くのユーザーが代替サービスへの移行を余儀なくされます。

Pocketは記事を保存するには便利なツールですが、記事を整理・活用するとなると少し物足りない部分もありました。

  • タイトルやタグでの検索はできるが、内容からの検索が難しい
  • メモやプロジェクトとの関連付けができず、さらに別の場所に格納する必要がある
  • カテゴリ分けが思うようにいかない

移行後にはこれらの問題を解決できるものにしたいと思い、個人的にはNotionを採用することを決めました。

Notionについて

Notionは情報管理がかなり優秀だと感じています。その理由は以下でしょうか。

データベース機能による構造化

Notionのデータベース機能を使えば、URLやタイトルだけでなく、評価、メモなど、いろいろな情報を加えて管理ができます。

検索・フィルタリング機能のアップ

データベース化することで、複数の条件を組み合わせたフィルタリングが検索ができるようになります。

他の情報との連携

データベースの情報を互いに関連付けることができます。個人的にはこれが一番やりたいことになります。

移行は、登録している件数が非常に多いため、Pythonでツールを作ることにします。すでに移行ツールはありそうではありますが、車輪の再開発大好き🤩なので自作にチャレンジとなります。

続きを読む