|
秀丸ユーザーの Bull と申します。
正式な回答は後日あると思いますので、単なる情報提供ですが。
当方の環境
Windows10 Home (64bit)
秀丸(64bit) Version 8.90 Beta 3
では、秀丸から "wsl ls" の実行ができ、ディレクトリ内の一覧が
取得できています。
また、以下のマクロで秀丸で編集中のプログラムをコンパイルして
実行ファイル "a.out" が作成されます。
"wsl ./a.out" で実行もできます。
runex "wsl gcc %b", // wsl の gcc でコンパイルする
1, //sync 0:async 1:sync
0, "", //stdin 0:none 1:auto 2:file 3:(reserve) 4:all 5:select
7, "", //stdout 0:none 1:auto 2:file 3:add file 4:new 5:insert 6:repla
ce, 7:output pane
1, "", //stderr 0:none 1:=out 2:file 3:add file 4:new 5:insert 6:repla
ce, 7:output pane
1, "", //folder 0:none 1:current 2:specify 3:(reserve) 4:exe's folder
0, //show 0:auto 1:show 2:hide
1, //nodraw 0:draw 1:no draw
0; //encode 0:ansi 2:unicode
とここまで書いて、過去に同様な事象があり調査したことを思い出しました。
秀丸は 32bit でしょうか?
wsl をインストールしていると言うことは、Windows は 64bit だと思いますが、
32bit のプログラムから、wsl.exe を実行することはちょっとだけ面倒です。
私もそれほど詳しくはないので概要だけですが、64bit の Windows には %SystemRoo
t%\System32
に 64bit のモジュールが、%SystemRoot%\SysWOW64 に 32bit のモジュールが格納さ
れています。
32bit のプロセスから %SystemRoot%\System32 にアクセスすると、%SystemRoot%\Sy
sWOW64 にリダイレクトされます。
(つまり、32bit プロセスからは本来の %SystemRoot%\System32 フォルダは見えな
いです)
wsl は 64bit 専用なので、%SystemRoot%\System32 にしかありません。(32bit の
wsl.exe はないです)
ですから 32bit の秀丸からは wsl.exe が見付からないと言うことになります。
32bit プロセスからは %SystemRoot%\sysnative で本来の %SystemRoot%\System32
にアクセスできますので、
秀丸からの“プログラムの実行”も "C:\Windows\sysnative\wsl ls" とすれば実行
できるのではないかと思います。
|
|