2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSLセットアップ個人的ベストプラクティス

Posted at

前提

WSLを便利に使うための設定をまとめました。
Ubuntuを選択しているため、Ubuntuの設定についても最低限まとめています。
他にもオススメの設定があれば、ぜひ教えてください。

動作環境

コマンドプロンプト
C:\Users\pon2g>wsl --version
WSL バージョン: 2.0.0.0
カーネル バージョン: 5.15.123.1-1
WSLg バージョン: 1.0.57
MSRDC バージョン: 1.2.4485
Direct3D バージョン: 1.608.2-61064218
DXCore バージョン: 10.0.25880.1000-230602-1350.main
Windows バージョン: 10.0.22621.3374

WSLの設定

/etc/wsl.confを変更する設定を紹介していますが、コマンドプロンプト or PowerShellからwsl --shutdownを実行し、WSLを再起動する必要があります。
設定の詳細は、当たり前ですがMicrosoftのリファレンスが詳しいです。
https://learn.microsoft.com/ja-jp/windows/wsl/wsl-config

Windowsのファイルにパーミッションを設定できるようにする

デフォルトではWindows側のファイルのパーミッションが777になっているため、コンソールの見た目がよろしくありません。

/etc/wsl.conf
[automount]
options="metadata"

Windowsのパスを引き継がないようにする

echo $PATHを叩くと、/mnt/c/Program Files (x86)/...がずらずら表示されます。
見た目がよろしくありません。

/etc/wsl.conf
[interop]
appendWindowsPath=false

systemdを有効にする

WSLでは、systemd以外の独自のinitプロセスが動いているらしい。
そのため、systemdに依存したアプリケーションを動かせず不便です。
WSLバージョン0.67.6以上であれば、以下によりsystemdを有効化できます。

/etc/wsl.conf
[boot]
systemd=true

hosts、resolv.confを初期化されないようにする

せっかく編集したhostsresolv.confも、WSLを再起動するたびに初期化されます。

/etc/wsl.conf
[network]
generateHosts=false
generateResolvConf=false

VPN環境下での名前解決

テレワーク中、自宅からVPNで社内LANに接続し、社内サーバのGitリポジトリにアクセスしようとすると、名前解決ができないようで困りました。

Windowsの起動に合わせてWSLを自動起動させる

UTF-8以外のロケールを設定しているときや、お気に入りのターミナルがある場合、WSL上のLinuxにSSHアクセスしたくなります。
WSLを起動して、ssh.serviceが起動されるまで待って…というのが面倒です。
以下のファイルをWindowsのスタートアップに追加しておきます。

runWSLbackground.vbs
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c wsl", vbhide

Ubuntuの設定

プロキシ設定

WSLからの通信は、Windowsで設定したプロキシ設定が適用されません。
プロキシ環境下でWSLからインターネット接続する際には、以下の設定を行います。

bash.bashrc
export ftp_proxy="http://<proxy URL>:<port>"
export http_proxy="${ftp_proxy}"
export https_proxy="${ftp_proxy}"
export FTP_PROXY="${ftp_proxy}"
export HTTP_PROXY="${ftp_proxy}"
export HTTPS_PROXY="${ftp_proxy}"

aptのプロキシ設定

aptは、環境変数で指定したプロキシ設定を読み込まないらしい。

/etc/apt/apt.conf
Acquire::ftp::proxy "ftp://<proxy URL>:<port>/";
Acquire::http::proxy "http://<proxy URL>:<port>/";
Acquire::https::proxy "https://<proxy URL>:<port>/";

aptの接続先を変更する

archive.ubuntu.comはロンドンにあるので、デフォルトのままaptを実行すると遅いです。
日本のミラーサーバを設定します。

JAISTに変更する例
sudo sed -i.bak -e "s%http://[^ ]\+%http://ftp.jaist.ac.jp/pub/Linux/ubuntu/%g" /etc/apt/sources.list

ミラーサーバの一覧はこちら。
https://www.ubuntulinux.jp/ubuntu/mirrors

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?