WSL/Bash + CMD.EXE = やめてくれ!

Windows10 Anniversary Update、スタートメニューやその他いろいろ更新されましたが、開発者としての関心事はやっぱり “Windows Subsystem for Linux”(以下WSL)じゃないでしょうか。。。さっそく開発者モードにしてこの機能を有効にしてみました(^^)

僕はてっきりBash用のターミナルで動かすんでしょう??(これでコマンドプロンプトからおさらばさ!) と思ってましたが・・・まさかのコマンドプロンプト(CMD.EXE)立ち上げ、からの “bash”タイプ・・・。ここでかなりのガッカリ感が・・・。

Linuxは Redhat系のCentOSしか知らないので、apt-get とかよくわかんねーよ。とりあえず、sudo apt-get yumとかでパッケージ管理してしまおうかな(笑)
WSL自体よく仕組みが分かんないけど、ubuntuの他にも選択肢があればいいのになー、と素人考えはダメですか(^^;;;

当面 Cygwin で問題無い。っていうか、ホンモノが欲しかったらVMで用意すれば・・・同じことができるんじゃ・・・。そういえば、DockerのWindows版が出たってニュース記事があったし・・・。

なんにせよ、選択肢が多いとどれ使えば正解なのかよくわかりません・・・。使いやすい環境を自分で構築していく労力が無駄だなぁーと思うときはあります・・・。本来の仕事が効率的に前に進まない・・・。

WSL/Bash + CMD.EXE = やめてくれ!」への2件のフィードバック

  1. WSLの最大のメリットは仮想マシンと違って仮想マシンによるパフォーマンスロスがないことです。
    分析系などでLinuxの資産を使いたい場合、仮想マシンを使うと仮想マシンによるパフォーマンスロスが
    かかり劣悪なパフォーマンスしか出せません。
    さらに、カーネルを含む全てを含むのでディスク容量も食います。
    DockerをWindowsで動かすのは、Windows Server 2016のDockerと、Docker for Windowsとして出ている
    Linux仮想マシンとDockerの組み合わせではかなり違います。
    Linux仮想マシンからだと、結局、仮想マシンを使うのでその部分のオーバーヘッドからは逃れられません。
    当然ながら、仮想マシンを使うと仮想マシンに割り当てているメモリはWindows本体からは使えないので
    Windows側のパフォーマンスが落ちます。
    Cygwinの場合は、環境そのものは整備されていますが、UNIXのシステムコールを無理やり、
    Windowsに飛ばしているのでパフォーマンスはかなり悪いです。

  2. なかがわ のコメント:

    仰せのとおり、仮想マシンだと実運用には程遠いパフォーマンスしか出ませんが、WindowsでLinuxの仮想マシンを使う用途って、ほとんどの開発者の方はあくまで稼働チェック、運用前テストぐらいと割り切ってるんじゃないでしょうか?(^^;;
    Inside Preview版だと WSL(ubuntu)から Windowsバイナリも起動できてLinuxバイナリからWindowsコンソールプログラムへパイプ接続できるようになったみたいですので、かなり面白くなってきそうです^^
    個人的には WSL内でapache(httpd)/samba(smbd) などのネットワーク系のLinuxバイナリが動いてくれれば、パフォーマンス的にもCygwinの必要性がなくなるんじゃないでしょうか。

    コメントありがとうございました ^^

コメントを残す