2024年6月19日水曜日

Windows Subsystem for Linux

随分前から実用化されていたWSLことWindows Subsystem for Linux。
Windows10/11上でLinix用のソフトを動かせる環境です。
大昔からCygwinを愛用し続けている私としては、
WSLなんて別に無くてもいいぜ、とか思ってましたし、
安いmini PCにLinuxを入れれば、
ネットワーク越しにネイティブ環境を使うこともできますし、
Linuxが動作するVPSだって安くで調達できます。
とは言えなんかかっこいいのでWSL登場当時に使うことを試みたのですが、
その時手元で条件を満たしているPCはアプリストアが使えない環境で、
泣く泣く諦めた経緯があるのです。
ただし、アプリストアなしでもWSLをインストール手段が
後付で用意されていることに暫く前に気付き、
この度その重い腰を上げて使ってみることにしたのでした。

ということでWSLをインストールします。
公式ドキュメントを見ながら作業を進めます。
Windowsのタスクバー上の検索窓に"powershell"と入力すると
[Windows PowerShell]が大きく表示されるので
その下の[管理者として実行する]をクリックします。
開いたPowerShell上で以下を実行します。
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
> wsl.exe --install
> wsl --set-default-version 2
次にディストリビューションをインストールします。
個人的に慣れ親しんだUbuntuの最新バージョン"22.04 LTS"を選択します。
先の公式ドキュメントの[ディストリビューションのダウンロード]節で調べると、
これのURLは
https://aka.ms/wslubuntu2204
と分かるので、先のPowerShell上で以下を実行します。
> cd /
> mkdir wsl
> cd wsl
> Invoke-WebRequest -Uri https://aka.ms/wslubuntu2204 -OutFile Ubuntu.appx -UseBasicParsing
> Add-AppxPackage .\Ubuntu.appx
その後[スタート] メニューから[Ubuntu]を開くと
Ubuntu内で使用するユーザー名とパスワードの作成ができます。
なおこのユーザアカウントはWindowsのアカウントとは無関係です。
これで準備は完了したので、あとは必要なときに
> wsl
を実行してUbuntuを起動します。
終了するにはUbuntuにログインしてから
# shutdown -h now
ではなく、なぜかUbuntu外から
> wsl --shutdown
を実行する必要があります。
IPアドレスはWindowsと共有しているので、
Ubuntu上からsshdを起動しておいて
ネットワーク越しにsshで接続することも可能です、が、
sshdの自動起動の方法はわかっていません。
まあWSLに外からログインする便利な用途は見いだせていないので
別に突き詰めて調べてもいないのですが。

ところで、インターネットに直接接続されておらず、
プロキシサーバの設定が必要な環境下にいるのなら、
設定ファイル"~/.bashrc"に
export HTTP_PROXY="http://${プロキシサーバーのIPアドレス}:${ポート番号}"
export HTTPS_PROXY="http://${プロキシサーバーのIPアドレス}:${ポート番号}"
の行を追加しておくべきでしょう。
またaptコマンド使用時のため設定ファイル"/etc/apt/apt.conf"を新規に作成し、
その内容を
Acquire::http::Proxy "http://${プロキシサーバーのIPアドレス}:${ポート番号}";
Acquire::https::Proxy "http://${プロキシサーバーのIPアドレス}:${ポート番号}";
としておくべきです。

使いこなせばいろいろ便利ですが、
ストレージの肥やしにする自信があるなら、
インストールしないほうがいいですよ。

0 件のコメント:

コメントを投稿