WSL #20:LinuxからWindowsのアプリを起動する方法


WSL2のLinuxからWindowsのアプリを起動する方法

WSL上のLinux(Ubuntu)からWindowsのアプリを起動するには、
直接プログラム名を拡張子付きで入力すれば良い。
(例) メモ帳を起動し memo.txt を編集
notepad.exe test.txt

普通にメモ帳が起動するが、引数で指定したファイルはLinux上のファイルとなる。
つまり上記例の test.txt はLinuxカレントディレクトリ(上記例では/Home/user)の "memo.txt" である。

WindowsとLinuxコマンドの併用も可能。
(例1) PowerShell "Get-ChildItem Env:" コマンドをLinuxで実行
user@win11a:~$ powershell.exe get-childitem env:

Name                           Value
----                           -----
ALLUSERSPROFILE                C:\ProgramData
APPDATA                        C:\Users\user\AppData\Roaming
CommonProgramFiles             C:\Program Files\Common Files
CommonProgramFiles(x86)        C:\Program Files (x86)\Common Files
CommonProgramW6432             C:\Program Files\Common Files
COMPUTERNAME                   WIN11A
ComSpec                        C:\Windows\system32\cmd.exe
DriverData                     C:\Windows\System32\Drivers\DriverData
HOMEDRIVE                      C:
HOMEPATH                       \Users\user
LOCALAPPDATA                   C:\Users\user\AppData\Local
LOGONSERVER                    \\WIN11A
NUMBER_OF_PROCESSORS           12
OneDrive                       C:\Users\user\OneDrive
OS                             Windows_NT
Path                           C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPo...
PATHEXT                        .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL
PROCESSOR_ARCHITECTURE         AMD64
PROCESSOR_IDENTIFIER           Intel64 Family 6 Model 183 Stepping 1, GenuineIntel
PROCESSOR_LEVEL                6
PROCESSOR_REVISION             b701
ProgramData                    C:\ProgramData
ProgramFiles                   C:\Program Files
ProgramFiles(x86)              C:\Program Files (x86)
ProgramW6432                   C:\Program Files
PSModulePath                   C:\Users\user\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\...
PUBLIC                         C:\Users\Public
SystemDrive                    C:
SystemRoot                     C:\Windows
TEMP                           C:\Users\user\AppData\Local\Temp
TMP                            C:\Users\user\AppData\Local\Temp
USERDOMAIN                     win11a
USERDOMAIN_ROAMINGPROFILE      win11a
USERNAME                       user
USERPROFILE                    C:\Users\user
windir                         C:\Windows
(例2) 上記(例1) にLinuxの grepコマンド を組み合わせる
user@win11a:~$ powershell.exe get-childitem env: | grep USER
ALLUSERSPROFILE                C:\ProgramData
USERDOMAIN                     win11a
USERDOMAIN_ROAMINGPROFILE      win11a
USERNAME                       user
USERPROFILE                    C:\Users\user
  


WSL, WSL2, Linuxコマンド

0 件のコメント:

その他の記事