Windows Subsystem for Linux 環境で作業していると、Linuxのコマンドラインから直接Windowsアプリケーションを起動したい場面に遭遇することがあります。
しかし、その具体的な方法を知らず、手作業でWindowsアプリケーションを起動し直す手間を感じている方もいるでしょう。
この記事では、Linux環境からWindowsアプリケーションをコマンド入力で起動する手順を詳しく解説します。この解説を読むことで、日々の業務をよりスムーズに進められるようになります。
【要点】WSLからWindowsアプリケーションを起動し作業を効率化する
- Windowsアプリケーションの直接実行: Windowsアプリケーションの実行可能ファイル名を指定して起動します。
- エクスプローラーの利用: `explorer.exe`コマンドを使って、Windowsのファイルエクスプローラーを起動します。
- 環境変数PATHの活用: Windowsの環境変数PATHに登録されたアプリケーションを、パス指定なしで起動します。
ADVERTISEMENT
目次
WSLからWindowsアプリケーションを起動する仕組み
Windows Subsystem for Linux WSLは、Windows上でLinux環境を動作させるための機能です。
WSLはWindowsのファイルシステムへのアクセスを可能にし、LinuxのコマンドラインからWindows側の実行可能ファイルを直接呼び出せるように設計されています。
これにより、Linux環境で作業しながら、必要に応じてWindowsのGUIアプリケーションやコマンドラインツールを利用できます。
Windowsアプリケーションを起動する際には、Windowsの実行可能ファイルパスをLinux形式で指定するか、Windowsの環境変数PATHに登録されているアプリケーション名を直接入力します。
この連携機能は、WSLがWindowsのNTカーネルと連携することで実現されています。
前提条件
この操作を行うには、お使いのWindowsPCにWSLがインストールされ、Linuxディストリビューションがセットアップされている必要があります。
WSLのインストールがまだの場合は、事前に設定を完了させてください。
Linux環境からWindowsアプリケーションを起動する具体的な手順
ここでは、WSLのLinuxコマンドラインからWindowsアプリケーションを起動する基本的な方法を説明します。
複数の起動方法があるため、状況に合わせて使い分けましょう。
方法1: Windowsアプリケーションを直接実行する
Windowsの実行可能ファイル名を直接指定して起動します。
- Linuxターミナルを開く
WSLのLinuxディストリビューションを起動します。 - Windowsアプリケーションのファイル名を指定して実行する
例えば、メモ帳を起動するには、次のコマンドを入力します。notepad.exe
Edgeを起動するには、次のコマンドを入力します。msedge.exe - アプリケーションの起動を確認する
Windows側で指定したアプリケーションが起動することを確認します。
方法2: パスを指定してWindowsアプリケーションを実行する
Windowsアプリケーションが環境変数PATHに登録されていない場合や、特定の場所にインストールされている場合は、フルパスを指定して起動します。
Linux環境では、Windowsのドライブは/mnt/ドライブレター/としてマウントされます。例えば、Cドライブは/mnt/c/となります。
- Linuxターミナルを開く
WSLのLinuxディストリビューションを起動します。 - Windowsアプリケーションのフルパスを指定して実行する
例えば、CドライブのProgram Filesフォルダにあるアプリケーションを起動する場合、次のコマンドを入力します。/mnt/c/Program\ Files/アプリケーション名/アプリケーション.exe
パスにスペースが含まれる場合は、バックスラッシュ\でエスケープするか、パス全体を引用符で囲みます。"/mnt/c/Program Files/アプリケーション名/アプリケーション.exe" - アプリケーションの起動を確認する
指定したパスのアプリケーションが起動することを確認します。
方法3: エクスプローラーを起動する
特定のフォルダをWindowsのエクスプローラーで開きたい場合は、explorer.exeコマンドを使用します。
- Linuxターミナルを開く
WSLのLinuxディストリビューションを起動します。 - 現在のディレクトリをエクスプローラーで開く
次のコマンドを入力します。explorer.exe .
ピリオド.は現在のディレクトリを意味します。 - 特定のWindowsパスをエクスプローラーで開く
例えば、Cドライブのドキュメントフォルダを開くには、次のコマンドを入力します。explorer.exe C:\Users\ユーザー名\Documents
Windowsパスはそのままの形式で指定します。 - エクスプローラーの起動を確認する
指定したフォルダがWindowsのエクスプローラーで開くことを確認します。
方法4: 引数を渡してWindowsアプリケーションを実行する
Windowsアプリケーションにコマンドライン引数を渡すことも可能です。
- Linuxターミナルを開く
WSLのLinuxディストリビューションを起動します。 - アプリケーション名と引数を指定して実行する
例えば、メモ帳で特定のテキストファイルを開くには、次のコマンドを入力します。notepad.exe /mnt/c/Users/ユーザー名/Desktop/test.txt
この際、LinuxパスはWindowsアプリケーションが理解できるWindowsパス形式に自動的に変換されます。 - アプリケーションが引数を受け取って起動することを確認する
指定したテキストファイルがメモ帳で開くことを確認します。
方法5: バックグラウンドで起動する
GUIアプリケーションを起動し、すぐにLinuxターミナルを操作可能にするには、バックグラウンドで起動します。
- Linuxターミナルを開く
WSLのLinuxディストリビューションを起動します。 - コマンドの最後に「&」を付けて実行する
例えば、メモ帳をバックグラウンドで起動するには、次のコマンドを入力します。notepad.exe &
これにより、メモ帳が起動した後もターミナルはすぐに次のコマンドを受け付けます。 - アプリケーションの起動とターミナルの可用性を確認する
メモ帳が起動し、同時にターミナルで他の操作ができることを確認します。
WSL経由でWindowsアプリケーションを起動する際の注意点
WSLからWindowsアプリケーションを起動する際には、いくつかの注意点があります。これらを理解しておくことで、スムーズな操作が可能です。
パスの指定方法と自動変換
Linux環境からWindowsアプリケーションを起動する際、Linux形式のパスを指定すると、WSLが自動的にWindows形式のパスに変換します。
例えば、/mnt/c/Users/ユーザー名/Documents/ファイル.txtは、Windowsアプリケーションに渡されるときにC:\Users\ユーザー名\Documents\ファイル.txtに変換されます。
ただし、explorer.exeコマンドにWindowsパスを渡す場合は、そのままのWindowsパス形式で指定します。
日本語パスやスペースを含むパスの扱い
ファイルパスに日本語やスペースが含まれる場合、Linuxターミナルでは適切にエスケープ処理が必要です。
スペースを含むパスは、/mnt/c/Program\ Files/のようにバックスラッシュ\でスペースをエスケープするか、"/mnt/c/Program Files/"のようにパス全体をダブルクォーテーションで囲みます。
日本語パスも同様に、引用符で囲むことで正しく認識されることが多いです。
管理者権限が必要なアプリケーションの起動
管理者権限が必要なWindowsアプリケーションをWSLから直接起動することはできません。
WSLのプロセスは一般ユーザー権限で動作するため、管理者権限が必要なアプリケーションはWindows側から手動で起動するか、管理者権限でコマンドプロンプトやPowerShellを開いて実行する必要があります。
GUIアプリケーションとCUIアプリケーションの違い
GUIアプリケーションをWSLから起動すると、Windowsデスクトップ上にそのアプリケーションのウィンドウが表示されます。
CUIコマンドラインインターフェースアプリケーションを起動すると、その出力は通常、WSLのターミナルに表示されます。
CUIアプリケーションの場合、コマンドの実行が完了するまでターミナルがブロックされるため、バックグラウンド実行が必要になることがあります。
環境変数の影響
WSLからWindowsアプリケーションを起動する際、Windows側の環境変数が利用されます。
特にPATH環境変数は重要で、これにより実行可能ファイルのフルパスを指定せずにアプリケーション名を直接入力して起動できます。
しかし、WSLのLinux環境の環境変数はWindowsアプリケーションに直接影響を与えない点に注意が必要です。
ADVERTISEMENT
Windows 11とWindows 10でのWSLの起動方法の比較
WSLを利用したWindowsアプリケーションの起動方法は、Windows 11とWindows 10で基本的な違いはありません。
しかし、WSL自体のインストールと管理方法にはいくつかの変更点があります。
| 項目 | Windows 11 | Windows 10 |
|---|---|---|
| WSLのインストール | Microsoft Storeから提供されるWSLアプリで簡単にインストールできる | PowerShellでWSL機能を有効化し、ディストリビューションを別途インストールする必要がある |
| WSLのバージョン | WSL2が標準で推奨され、より高度な機能が利用できる | WSL1またはWSL2を選択して利用できる |
| GUIアプリケーションのサポート | WSLgにより、LinuxのGUIアプリケーションを直接起動できる | LinuxのGUIアプリケーションを起動するには、Xサーバーなどの追加設定が必要となる |
| Windowsアプリの起動 | .exe拡張子を付けて直接実行できる |
.exe拡張子を付けて直接実行できる |
Windows 11ではWSLのインストールがより簡素化され、WSLgによるLinux GUIアプリケーションの直接実行が可能です。
しかし、Linux環境からWindowsアプリケーションをコマンド入力で起動する基本的な構文や動作は、両方のOSで共通しています。
この記事では、WSLのLinux環境からWindowsアプリケーションをコマンド入力で起動する多様な手順を解説しました。
これにより、Linuxでの作業中にWindowsアプリケーションが必要になった際に、ターミナルから直接起動できるようになります。
ファイルパスの指定方法や引数の渡し方、バックグラウンド実行などを活用し、日々の業務を効率化してください。
これにより、WindowsとLinuxのシームレスな連携を実現し、開発やデータ処理の作業をよりスムーズに進められます。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Windows・PCの人気記事ランキング
- 【Edge】起動時や新しいタブを「Google」にする設定!ニュースを消してシンプルにする方法
- 【直し方】F7でカタカナにならない!ファンクションキーが効かず音量などが変わる時のFnロック解除法
- 【Windows】サブモニターが映らない!HDMIを挿しても「信号なし」になる時の認識・設定手順
- 【Windows】画面がチカチカ・点滅する!グラフィックドライバの更新と設定の見直し
- 【Windows】パスワードなしで起動!PIN入力を省略して自動ログイン(サインイン)させる設定手順
- 【Windows】デスクトップのアイコンが「白い紙」になった!アイコンキャッシュを削除して元に戻すコマンド
- 【PC周辺】2台のモニターで壁紙を「別々」にする方法!Windows11での配置と調整
- 【Windows】デスクトップアイコンの「緑のチェック」は何?OneDriveの同期マークを非表示にする方法
- Windows 11を極限まで軽量化する「不要な標準サービス」停止リスト|PCの動作を爆速化する設定手順とリスク管理の全貌
- 【Windows】Cドライブが赤い!空き容量不足を解消して数GBを一瞬で空ける4つの最強クリーンアップ術
