パスワードを忘れた? アカウント作成
12737609 story
Ubuntu

Canonical、仮想化ではない「Ubuntu on Windows」を発表 160

ストーリー by hylom
あとはもう少し高機能なコンソールエミュレータがあれば…… 部門より
insiderman 曰く、

Ubuntuの開発元であるCanonicalが、Windows上で動作する「Ubuntu on Windows」を発表した(OSDN Magazine)。Windows上でUbuntuのbashや各種アプリケーションを実行できるというもの。仮想化を利用するのではなく、Windowsのカーネル上でUbuntu向けのアプリケーションがネイティブで実行されるという(Scott Hanselman氏のブログ)。

「蒼の王座・裏口」ブログの記事など、ネット上に出ているさまざまな情報をまとめると、LinuxのシステムコールをリアルタイムにWindowsのシステムコールに変換する技術が使われているようだ。そのため、一部のアプリケーションについては現時点では正常に動作しないという。

PC Worldによると、Windowsのコマンドプロンプト上でUbuntuのEmacsを起動してコーディングを行うデモなども披露されたという。この機能は今夏に提供が開始されるとのことだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • さすがに苦言を呈さざるを得ない。

    Ubuntuの開発元であるCanonicalが、Windows上で動作する「Ubuntu on Windows」を発表した

    発表したのはマイクロソフトの開発者カンファレンス Build 2016。カノニカルも合わせて発表しているが、両社の協業で開発されたもので、カノニカルが勝手に Windows で動くようにしたわけじゃない。

    Windowsのコマンドプロンプト上でUbuntuのEmacsを起動してコーディングを行うデモなども披露されたという。

    デモ見ましたが、cmd.exe と bash.exe は独立してましたよ?

    この機能は今夏に提供が開始されるとのことだ。

    Windows 10 Anniversary Update で提供される。この内容だとWindows 7 / 8.1でも利用可能なように思えるが、Windows 10 でしか使えない。

  • Ubuntuバグ#1がクローズされた [blogspot.jp]時からおかしいと思っていた。
    表では喧嘩してるふりしていながら、裏ではちゃっかり手を結んでたのね。

  • いろんなレイヤでの仮想化がありましたが、
    Cooperative Linux が近いんですかね
    VMware
    Cygwin
    MinGW
    BSD on Windows

    ・・・

  • 投稿時間が正時ですからね。
    #あらかじめネタを用意しておいたら土壇場でMicrosoftがまさかの発表をして嘘が本当になりかけてるパターンかな?

  • どういうこと? UbuntuがWindows 10で動くよ [gizmodo.jp]
    記者の憶測だけど興味深い一文が。

    とにかくWindowsの裾野を広げようとラブコールを送るマイクロソフトに対して、どちらかというと、Canonicalは、WindowsにLinuxが組み込まれてしまわないように一定の距離を置こうとしているようにも思えます。

    同社のかつての 3E 戦略のことを考えれば、カノニカルがそのような恐れを抱いても不思議じゃない。
    わたしはマイクロソフトは変わったと信じているけど、もしかしたら昔と何も変わっていなかった可能性もあるかもなあ…って思いました。

    そもそも、市場独占は悪であり、競争がなくなって、イノベーションの停滞を招くということはマイクロソフト自身がよくわかっていると思うのだけど
    Intel が AMD に対してそのようにしているように、マイクロソフトにとっては、OS X も Linux も生かさず殺さずの状態に持って行くのが一番都合が良い。
    昔のマイクロソフトのやり方は、とにかく全力で殺しに掛かっていた。

  • by caret (47533) on 2016年04月01日 12時46分 (#2990033) 日記
    Windows PowerShell のこと、忘れないで欲しい
    PowerShell が世に出てからも Windows のコマンド プロンプトが貧弱だってさんざん叩かれたのはなかなか悲しい。Windows 10 までショートカット キーも使えなかったのは確かにひどかったけど。

    # 同機能強化は同じく Windows 10 の PowerShell にももたらされている
    • by Ryo.F (3896) on 2016年04月01日 13時18分 (#2990063) 日記

      概ね合意なんだけど、今回のbashとPowerShellは、守備範囲が違いすぎるでしょ?
      Bashの方で.Netのオブジェクトとかは触れないんじゃない?

      PowerShellは個人的には好きなんだけど、他のプログラミング言語やシェルに似ている様で微妙に似てないのが、認知の妨げになってるんだと思う。

      もっとも、似てるだけのものだったら、PowerShellの存在価値は無いとも言えて、そんなもの載せるんだったら、最初からbashにしろよ、ってのが今回の流れなのかな?

      親コメント
      • by uxi (5376) on 2016年04月01日 23時40分 (#2990422)

        .Net オブジェクトどころか
        Windows で Ubuntu バイナリ(bash)が動作することの概略 [sqlazure.jp]で

        bashからnotepad.exeが叩けたりはしないよ。

        って言われてるからなぁ。

        現状の情報から推し量るに、
        これは、ファイルシステムと空きメモリを親の Windows 環境と共有している以外
        仮想マシン上に Ubuntu 構築するのとあまり変わらないんわけでさ。

        Linux subsystem から Win32 subsystem 叩けないことには
        結局 Windows ネイティブ環境との協調考えた場合、
        PowerShell 以前に Cygwin の代替としても役不足なんだよね。

        --
        uxi
        親コメント
  • by Anonymous Coward on 2016年04月01日 17時19分 (#2990229)

    こうやってUNIX系プログラマの歓心を買って、Windowsエコシステムを盛り上げようとしてるんでしょうね。

    とはいえ、ユーザの利用感としては、Cygwinのような従来のプロジェクトとあまり変わりはないんではないかと思います。
    Cygwin、MingW、coLinux、その他個別のUnix系ツール(Meadowなど)を散々試した自分からすると、
    この種の互換UNIX環境は、以下のようなつらみが避けられず、あまり快適とは言いがたいものでした。

    • 動かないツールや動作の不安定なツール、サポートの遅れるツールがたくさん発生。結局のところ100%の互換性はないため、劣等UNIX環境にしかならない。
    • ファイルシステム、セキュリティ周りの考え方の違い。Windowsのドライブレター、ネットワークファイル(UNC表記)、ACLベースのセキュリティ、UAC、ファイルの強制ロックなど。基本的にWindowsのほうが多機能なので、Windowsの機能を殺す方向になる。
    • 文字エンコーディングと改行コードの違い。Windows系ツールはまあまあUTF-8/LFのファイルを読むが、出力にはまず対応しない。UNIX系ツールはWindowsのファイルエンコーディングにほぼ対応しない(例えば、かなり最近まで、gccはBOM付きのUTF-8を読まなかなった。正式な使い方なのにね。)。どちらかに合わせることになるが、どちらに合わせても、もう一方の環境でつらくなる。もちろん世間の人はShift JISのファイルとか平気で送ってくる。
    • COM関連のテクノロジー。Windowsを使っているとExcelを起動して自動処理するスクリプトとか書きたくなるが、UNIX系環境では難しい。
    • Visual Studioに代表される、GUIアプリケーション。vimとコマンドラインツールでちまちま開発していると、Visual Studioが恋しくなります。逆にVisual Studioを使っていると、vimが恋しくなったりします。Windowsネイティブ環境なら両方使えますが、UNIX互換環境ではGUIツールが使いづらいです。
    • .NET Frameworkとの相性の悪さ。Windowsは、ここ10年くらいの間にCOMから.NET Framworkへのテクノロジーインフラの大移行があり、非常にクリーンでモダンな環境になりました。今では、Windowsプログラミングといえば大部分が.NET Framworkベースです。これと古きよきUNIXツールセットとの相性の悪さは相当痛い。

    個人的な意見としては、古いがシンプルなUNIX vs ごちゃごちゃしてるけど多機能なWindows、という違いがあるために、
    併用しようとすると、UNIXのシンプルさとWindowsの多機能さのどちらも殺してしまうんじゃないかと思います。
    長らく試してきましたが、最後まで満足のいく環境にはならなかったですね。

    最近は、Windowsの開発環境が非常に進化したおかげで、互換UNIX環境を使うのは止めてしまいました。
    今では、vimと一部のツール(diff、gitなど)くらいしか使っていません。
    PowerShellがあればまず不要ですので、Ruby/Perlも使わなくなりました(WindowsのRubyはほんとにつらかった)。
    Pythonはまだちょっと使い道がありますが。

    最近のWindowsの開発環境はとてもよくなっているので、Windowsを使うなら、食わず嫌いせずにネイティブの環境を試してみてほしいですね。

    • by t-wata (10969) on 2016年04月01日 20時53分 (#2990344) 日記

      個人的にすば洞を上げたい。
      自分も全く同じ考えで、WindowsはWindowsとして使うのがベストで、Linux/Unixの文化をギャップを考慮して無理やり使うより、PowershellやWindowsの文化を学ぶ方か、VMにLinux/Unixをインストールしてリモートサーバのように使う方が圧倒的に良いです。
      このUbuntu on Windowsも結局同じでしょう。

      親コメント
    • Windows の Ruby は確かに辛かった。(バージョンアップとかパッケージの管理とか)

      Rails 等の Ruby そのものを使ったプロダクトではなくて、開発中にちょっとテキスト処理をしたいときに Ruby 等のスクリプト言語は非常に便利なので、(そういったテキスト処理を PowerShell で行うのはマゾですよ) そういった事が簡単にできるようになるのは便利だと思うんだが。

      (vimについてはWindows用のものがよく出来ているのでたしかに Linux 環境はいらないとおもいます。)

      親コメント
    • by Anonymous Coward

      cygwin は cygwin 専用のバイナリが必要でしょ。
      Ubuntu on Windows は Ubuntu のバイナリがそのまま動くんだってさ。

    • by Anonymous Coward

      cygwinはWindows用のLinux互換のAPIを提供してるだけだからリアルタイムにシステムコールを変換してるわけじゃないよね

    • by Anonymous Coward

      よく分からんよね
      cygwinにせよmsysにせよ昔からWindows上でbashは動いてたよ
      MSからだってSUAとかあったし

      bashスクリプトが動くようになったってMSがbuildなんたらで言ってたって記事はどっかで読んだけど、今までとどこがどう違うんだろう?
      MSはWindows Phoneに見切りをつけていろんなところと意識的に友好関係を築こうとしてるように見えるし、先行きよく分からん

  • by Anonymous Coward on 2016年04月01日 12時20分 (#2990008)

    これでコマンド体系二つ覚えなくて済むね。
    でもbashからexeの実行はできないのか…何か一手はさめばなんとでもなるか

    • by Anonymous Coward

      その一手が後に盛大なセキュリティホールになって、いろんな人がてんてこ舞いする様子が脳裏をよぎった。

    • by Anonymous Coward

      シンボリックリンクの扱いとかどうなるんでしょうね。
      cygwin なんかの Makefile で実行ファイルに .exe 拡張子を
      つけたりつけなかったりする変態仕様からは解放されるかな?

  • by Anonymous Coward on 2016年04月01日 12時21分 (#2990009)

    えっと…タイトルオンリー

    • http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html [dustinkirkland.com]

        "Hum, well it's like cygwin perhaps?" Nope! Cygwin includes open source utilities are recompiled from source to run natively in Windows. Here, we're talking about bit-for-bit, checksum-for-checksum Ubuntu ELF binaries running directly in Windows.

      親コメント
    • by Anonymous Coward

      cygwinはPOSIX APIをWin32/64 APIに変換するDLLを提供しているだけで、これらのAPIにそのまま置き換えられない機能はかなり非効率で遅くなってしまいます。特にfork()が遅いことは良く知られてます。
      今回の試みは、Windows上からLinuxのシステムコールを直接利用できるようにするためのサブシステムが用意されるとのことなので、ネイティブのLinuxに近い性能が期待できるのではないかと。

    • by Anonymous Coward

      まったく違います。
      cygwinは、あくまでもwindows世界のアプリケーションですが、
      このUbuntu上で動くものは別世界のアプリケーションです。

      ですから、たとえばcygwin環境なら、
      configureでMakefile生成してmakeするとvisual c++がCLIで呼び出されて、
      みたいなことが可能ですが、このUbuntuでは現在分かっている限りでは不可能です。

      • by uxi (5376) on 2016年04月01日 23時21分 (#2990413)

        Cygwin の場合は、ソースコードレベルの互換で、
        あくまで Windows のアプリケーションの1つでしかないため
        POSIX の API と Win32 の API を混在させたプログラミングが可能な点が
        実は結構なメリットだったりする。

        --
        uxi
        親コメント
typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...