【Windows】リナックス環境でWindows側のソフトをコマンド入力により起動する手順

【Windows】リナックス環境でWindows側のソフトをコマンド入力により起動する手順
🛡️ 超解決

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のインストールがまだの場合は、事前に設定を完了させてください。

お探しの解決策が見つからない場合は、こちらの「Windowsトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

Linux環境からWindowsアプリケーションを起動する具体的な手順

ここでは、WSLのLinuxコマンドラインからWindowsアプリケーションを起動する基本的な方法を説明します。

複数の起動方法があるため、状況に合わせて使い分けましょう。

方法1: Windowsアプリケーションを直接実行する

Windowsの実行可能ファイル名を直接指定して起動します。

  1. Linuxターミナルを開く
    WSLのLinuxディストリビューションを起動します。
  2. Windowsアプリケーションのファイル名を指定して実行する
    例えば、メモ帳を起動するには、次のコマンドを入力します。
    notepad.exe
    Edgeを起動するには、次のコマンドを入力します。
    msedge.exe
  3. アプリケーションの起動を確認する
    Windows側で指定したアプリケーションが起動することを確認します。

方法2: パスを指定してWindowsアプリケーションを実行する

Windowsアプリケーションが環境変数PATHに登録されていない場合や、特定の場所にインストールされている場合は、フルパスを指定して起動します。

Linux環境では、Windowsのドライブは/mnt/ドライブレター/としてマウントされます。例えば、Cドライブは/mnt/c/となります。

  1. Linuxターミナルを開く
    WSLのLinuxディストリビューションを起動します。
  2. Windowsアプリケーションのフルパスを指定して実行する
    例えば、CドライブのProgram Filesフォルダにあるアプリケーションを起動する場合、次のコマンドを入力します。
    /mnt/c/Program\ Files/アプリケーション名/アプリケーション.exe
    パスにスペースが含まれる場合は、バックスラッシュ\でエスケープするか、パス全体を引用符で囲みます。
    "/mnt/c/Program Files/アプリケーション名/アプリケーション.exe"
  3. アプリケーションの起動を確認する
    指定したパスのアプリケーションが起動することを確認します。

方法3: エクスプローラーを起動する

特定のフォルダをWindowsのエクスプローラーで開きたい場合は、explorer.exeコマンドを使用します。

  1. Linuxターミナルを開く
    WSLのLinuxディストリビューションを起動します。
  2. 現在のディレクトリをエクスプローラーで開く
    次のコマンドを入力します。
    explorer.exe .
    ピリオド.は現在のディレクトリを意味します。
  3. 特定のWindowsパスをエクスプローラーで開く
    例えば、Cドライブのドキュメントフォルダを開くには、次のコマンドを入力します。
    explorer.exe C:\Users\ユーザー名\Documents
    Windowsパスはそのままの形式で指定します。
  4. エクスプローラーの起動を確認する
    指定したフォルダがWindowsのエクスプローラーで開くことを確認します。

方法4: 引数を渡してWindowsアプリケーションを実行する

Windowsアプリケーションにコマンドライン引数を渡すことも可能です。

  1. Linuxターミナルを開く
    WSLのLinuxディストリビューションを起動します。
  2. アプリケーション名と引数を指定して実行する
    例えば、メモ帳で特定のテキストファイルを開くには、次のコマンドを入力します。
    notepad.exe /mnt/c/Users/ユーザー名/Desktop/test.txt
    この際、LinuxパスはWindowsアプリケーションが理解できるWindowsパス形式に自動的に変換されます。
  3. アプリケーションが引数を受け取って起動することを確認する
    指定したテキストファイルがメモ帳で開くことを確認します。

方法5: バックグラウンドで起動する

GUIアプリケーションを起動し、すぐにLinuxターミナルを操作可能にするには、バックグラウンドで起動します。

  1. Linuxターミナルを開く
    WSLのLinuxディストリビューションを起動します。
  2. コマンドの最後に「&」を付けて実行する
    例えば、メモ帳をバックグラウンドで起動するには、次のコマンドを入力します。
    notepad.exe &
    これにより、メモ帳が起動した後もターミナルはすぐに次のコマンドを受け付けます。
  3. アプリケーションの起動とターミナルの可用性を確認する
    メモ帳が起動し、同時にターミナルで他の操作ができることを確認します。

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のシームレスな連携を実現し、開発やデータ処理の作業をよりスムーズに進められます。

💻
Windowsトラブル完全解決データベース 起動不能、更新の不具合、動作が重い、設定の消失など、Windows 10/11のあらゆるトラブル解決手順を網羅しています。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。