2016/12/23

[win]c:\Windows\System32\bash.exeは特殊

やりたかったのは、ランチャアプリからBash on Ubuntu on Windowsのコンソールを起動したい、というだけのことだった。
それがここまではまることになろうとは。。。
そして、結果として動かすことができなかった。

 

WindowsのスタートメニューにBash on Ubuntu on Windowsのショートカットがあるのだが、

C:\Windows\System32\bash.exe ~

と単純なものだ。
しかし、これをランチャーに登録しても動かないというか、bash.exeが見えない。
cmd.exeの引数にしても、やはり見えない。
PowerShellでもダメだ。
でも、バッチファイルに書いてExplorerからダブルクリックすれば起動する。

Explorerでc:\Windows\System32を見るとbash.exeは見えるのだが、ランチャアプリの登録exeを探すOpenDialogみたいなダイアログからは見ることができなかった。
どうも、bash.exeは特殊な扱いのようだ。

 

このbash.exeはショートカットというよりも、Bashランチャーというものらしく、COMでうんたらかんたらと説明されていた。
なんかわからんが、exec系のAPIからは呼べないようになっているとか、そういうことじゃないかね。

テキストエディタから起動させて、今編集しているファイルと同じ場所に移動したbashコンソールを開きたいだけなのだ。。。
コンテキストメニューから起動させるというやり方のページはあったのだが、そこまではしなくてもよいのだ。

libusbも動かないし、やはりcygwinしかないのか。

 

ただ、c:\Windows\WinSxSの深いところにbash.exeがある。
これは単体で起動できるし、ランチャからも見える。
ちょっと困ったことに、今の私の環境ではbash.exeが2つある。。。
フォルダにバージョンらしき数字があるので、大きい方を使っているが、そもそもこれを使ってよいものかどうかもわからん。
アップデートされたら別フォルダになるだろうし、おすすめはできんな。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。