WSLユーザー必見!知らないと損するwsluコマンドガイド【パス変換・GUI連携etc】

先日まではPythonの実行ファイル化やWSL(Windows Subsystem for Linux)の実行ファイルをWindows側で実行するなどを行っていましたが、今回は少し目線を変えて、WSL上でWindowsのプログラムを動かしたりURLを与えるとブラウザを開いたり、パスの表記方法をかえるなどといった事のできるツールを紹介したいと思います。

参照

uepon.hatenadiary.com

uepon.hatenadiary.com

uepon.hatenadiary.com

そのツールの名前はwslu。こうした環境間の橋渡しを簡素化する便利なツール群となっています。

続きを読む

WSLで作成した実行ファイルをWindowsから直接実行する方法【wslコマンド活用】

少し前からPythonのコードをWindowsで動作する実行ファイル化するという内容の内容を書いていました。WSLでは結構簡単にEXE化出来ていたにも関わらず、WindowsのNativeな実行ファイルを作成しょうとするとPythonのインストールに気をつけたり、C++コンパイラが別途必要だったりと準備が大変でした。

【参考】

uepon.hatenadiary.com

uepon.hatenadiary.com

折角ならWSLで作成できた実行ファイル(ELFバイナリ)をWindowsでそのまま動作できたらいいのになと思っていたのですが、実は既に知っているものでした。そう、wsl.exeでした。あー忘れてました🙄

wslコマンドでWSLの実行ファイルを呼び出す

wslコマンドを使えば、WindowsからWSL内の実行ファイルを直接実行することができます。基本的な構文は以下のようになります:

PS> wsl -d ディストリビューション名 実行ファイルのパス

例えば、WSLのUbuntuディストリビューションMyUbuntu/home/username/myappという実行ファイルがある場合には、WindowsコマンドプロンプトPowerShellから以下のように実行できます。

PS> wsl -d Ubuntu /home/username/myapp

実際の使用例

私の環境で試してみました。まず、WSL内でPythonスクリプトNuitkaでEXE化(実際にはELFバイナリ)したファイルがありそれを実行する場合には以下のようになります。

🐧WSL側での作業

# WSL内での作業(ユーザ名は`uesr2404`)
$ cd /home/user2404/nuitka
$ nuitka --onefile hello.py

これでカレントディレクトリにhello.binという実行ファイルができます。このファイルをWindowsから実行するには以下の様にします。

🪟WindowsPowerShellでの作業

# PowerShellから実行
PS> wsl -d MyUbuntu /home/user2404/nuitka/hello.bin

ディストリビューションの指定をしないとエラーが発生します。また、実行するユーザ名はデフォルトユーザ名になります。もしユーザ名を変更する場合には-uを使用してユーザ指定を行います。

# ユーザ名を指定してPowerShellから実行(今回はroot)
PS> wsl -d MyUbuntu -u root /home/user2404/nuitka/hello.bin

🪟コマンドラインでの引数の渡し方

実行ファイルに引数を渡したい場合は以下のように行います。プログラムを起動させる通りにコマンドラインを記述すればよいのですが、ファイルのパスはWindowsが認識できる形式である必要があります。プログラムの起動はLinux側のパスを使用するのに、引数で指定のファイル名はWindows形式というのがわかりにくくなっているかもしれません。

PS> wsl -d Ubuntu /home/username/dist/myscript.bin file.txt

🪟Windowsのショートカットを使用する場合

頻繁に使う実行ファイルの場合、Windowsのショートカットを作成すると便利です。

【デスクトップで右クリック】→ 【新規作成】→【ショートカット】

【項目の場所を入力してください】にPowerShellのプロンプトで実行するように入力して、【次へ】ボタンをクリックします。

wsl -d Ubuntu /home/username/dist/myscript

【ショートカット名】を設定して【完了】ボタンをクリック

作成されたショートカット

ショートカットからの実行

バッチファイル化

より柔軟に使いたい場合は、バッチファイル(.bat)やPowerShellスクリプト.ps1)を作成することもできます。

【バッチファイルの例】run_myapp.bat

@echo off
wsl -d MyUbuntu -u root /home/user2404/nuitka/hello.bin

引数を持つプログラムでは下記のようにします。%*により、バッチファイルに渡された引数がそのまま実行ファイルに転送されます。

wsl -d Ubuntu /home/username/dist/myscript %*

注意点とTips

🪟パスの指定について

WSL内のファイルパスは絶対パスで指定するのが確実です。相対パスを使う場合は、WSL内でのカレントディレクトリに注意が必要です。

🪟ファイルアクセスの考慮

WSLの実行ファイルからWindowsのファイルにアクセスする場合、/mnt/c/のようなマウントパスを使用する必要があります。

PS> wsl -d Ubuntu /home/username/dist/myscript /mnt/c/Users/username/data.txt

🪟環境変数の設定

WSL内で特定の環境変数が必要な場合は、実行前に設定するか、wslコマンドで直接指定できます。

PS> wsl -d Ubuntu -e PYTHONPATH=/custom/path /home/username/dist/myscript

おわりに

すっかり忘れていましたが、wslコマンドを使えばWSLで作成した実行ファイルをWindowsから簡単に実行できます。これで、わざわざWindows用にビルドし直す必要もなく、WSLの軽量で快適な開発環境をそのまま活用できるのが大きな利点です。ただ、WSLの中のバイナリを動作させるので初回起動ではちょっと時間がかかってしまうのが難点でしょうか。

【イベント参加レポート】Azureの情報交換会『なごあずの集い #5』

2025年6月21日に開催された「なごあずの集い#5」に参加および運営をしてきました。

こちらのイベントは… 『なごあず(JAZUG 名古屋支部)』(愛知のほうでAzure話題にゆるーく集まる会)です。

75az.connpass.com

今回でリブートしてから5回目の開催となりました。 また、通常から登壇者数が増えて4名の方に登壇板いただきました。ありがとうございます🤩

続きを読む

【Python exe化】WindowsでNuitkaを使った実行ファイル作成方法

【2025.06.20 追記】Windows版のNuitkaでrequestsライブラリが動作しないと記載していましたが、Store版Python3.10にバージョンダウンしたところ無事に動作を確認しました。

先日は、WSL環境でNuitkaでの実行ファイルの作成にチャレンジしました。ただ、作成されたファイルは、そのままではWindows上で実行は出来ない状態でした。そこで今回は、Windowsネイティブ環境でNuitkaを使用した実行ファイル作成についても実験してみます。 これにより、WSL環境とWindowsネイティブ環境の両方で実行ファイルを作成できるようになり、比較的多くの環境で使用できる配布物を作成することが可能になります。

今回はPowerShellを主要なコマンドラインツールとし、Nuitkaの処理をWindowsネイティブ環境で活用するための手順、ベストプラクティス、そして実際に遭遇したトラブルとその解決策を記録していきます。

【参考】WSLでのNuitkaを使用した実行ファイルの作成

uepon.hatenadiary.com

基本的には上記の記事をベースにしているので、細かい部分はこちらを参照してください。

続きを読む

軽量・高速なMicrosoft EditをWSLで!日本語対応エディタの導入ガイド

先日、窓の杜Microsoft、Rust製軽量テキストエディター「Edit」を発表という記事が話題になっていました。

日本語ユーザーに嬉しいアップデート

最新のv1.2.0では、エンコードピッカーが改善!これまでShift-JISを指定するにはibm-943_P15A-2003という複雑な名前を選ぶ必要がありましたが、今では検索ボックスでShift-JISと入力するだけです。またAmbiguous = Wide対応で、日中韓文字の表示崩れも解消されています。

この記事を見て自分もちょっと使ってみたいなと思いインストールをしてみました。

続きを読む