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を起動してコーディングを行うデモなども披露されたという。この機能は今夏に提供が開始されるとのことだ。
これは嘘じゃないけど、いくら何でも内容が酷い (スコア:5, 参考になる)
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 でしか使えない。
Re:これは嘘じゃないけど、いくら何でも内容が酷い (スコア:4, 参考になる)
あと実際試したわけじゃないからこれは憶測だけど、
Ubuntu向けのアプリケーションがネイティブで
これもちょっと言い過ぎかも。Bash で動くものが apt-get すれば動くってだけで、Linux 向けのウェブ ブラウザとか、GUI ベースのものが動くかどうかについては大いに疑問。
ちなみにファイルは %LOCALAPPDATA%\lxss 以下に格納される模様。
Re: (スコア:0)
ソケット使えるとは発表されてるし、極論するとXクライアントはただのネットワークアプリなので動くんじゃないでしょうか
Re:これは嘘じゃないけど、いくら何でも内容が酷い (スコア:2)
リリース時点のBash on Ubuntu on Windowsについて,各種情報から示された情報や,推定される挙動は次の通りです。
Re:これは嘘じゃないけど、いくら何でも内容が酷い (スコア:1)
じゃなくて、ネイティブなXが動いてるわけじゃないから、動作しないよ。ってだけじゃないかと。
なんらかのWindows用Xサーバ(Cygwinとか使うと意味がないから、それ以外かな?)を用意すればいけるんじゃないか、が祖先のコメントとかの推測で、たぶんそうじゃないかなーとは思うけど。ライブラリ類的にそろうか気になるところ
M-FalconSky (暑いか寒い)
Re: (スコア:0)
@ITによればWineの逆のようなものらしいので [atmarkit.co.jp]Microsoft次第ではたいていのものがそのまま動くようになるはず。
Re:これは嘘じゃないけど、いくら何でも内容が酷い (スコア:1)
Wine相当のモノがMS謹製で出てきたらすごいインパクトあるとおもうけど、
今回のはWindows環境しかないひとがLinuxのお試しをする以外の用途があるのかどうか。
Mac上でDocker使ってLinuxのTensorFlow使ったりも普通にできるわけで、
それ以上じゃないと意味が無いように思える。
Re: (スコア:0)
NetBSDとかのLinuxエミュみたいなもんですかね
Re:これは嘘じゃないけど、いくら何でも内容が酷い (スコア:2)
WindowsなんかOSじゃない、単なるDOSアプリだ!
みたいな主張?
Re:これは嘘じゃないけど、いくら何でも内容が酷い (スコア:1)
そうそう、話は変わりますが、SFU/SUAのいつからだか、Win32 APIを呼び出すアプリケーションも作れるようになっているそうなんですよね。
MSDN Blogs > Shan's Page > All Tags > mixedmode [msdn.com]
Re:これは嘘じゃないけど、いくら何でも内容が酷い (スコア:1)
Microsoftへのリンクが一つもないってのもなぁ...
Channel9
https://channel9.msdn.com/Events/Build/2016/C906 [msdn.com]
MSDN blog
https://blogs.windows.com/buildingapps/2016/03/30/run-bash-on-ubuntu-o... [windows.com]
Re:これは嘘じゃないけど、いくら何でも内容が酷い (スコア:1)
Channel9 で、もう一つ
https://channel9.msdn.com/Events/Build/2016/P488 [msdn.com]
Re:これは嘘じゃないけど、いくら何でも内容が酷い (スコア:1)
Ubuntuの開発元であるCanonicalが、Windows上で動作する「Ubuntu on Windows」を発表した
カノニカルが勝手に Windows で動くようにしたわけじゃない。
そう言われてみるとcoLinux [wikipedia.org]風の
ダーティーなハックでWubi [wikipedia.org]の進化形として誰かが非公式に開発したものをCanonicalがUbuntuにマージしたように読めなくもないな…# 個人的にはFreeBSDも動くようにして欲しかった。nslookup.exeやftp.exeもBSD由来 [terminally...herent.com]だし…
ようやく謎が解けた (スコア:2)
Ubuntuバグ#1がクローズされた [blogspot.jp]時からおかしいと思っていた。
表では喧嘩してるふりしていながら、裏ではちゃっかり手を結んでたのね。
Cooperative Linux (スコア:2)
いろんなレイヤでの仮想化がありましたが、
Cooperative Linux が近いんですかね
VMware
Cygwin
MinGW
BSD on Windows
・・・
これはエイプリルフール記事 (スコア:2)
投稿時間が正時ですからね。
#あらかじめネタを用意しておいたら土壇場でMicrosoftがまさかの発表をして嘘が本当になりかけてるパターンかな?
ギズモード・ジャパンの記事 (スコア:1)
記者の憶測だけど興味深い一文が。
とにかくWindowsの裾野を広げようとラブコールを送るマイクロソフトに対して、どちらかというと、Canonicalは、WindowsにLinuxが組み込まれてしまわないように一定の距離を置こうとしているようにも思えます。
同社のかつての 3E 戦略のことを考えれば、カノニカルがそのような恐れを抱いても不思議じゃない。
わたしはマイクロソフトは変わったと信じているけど、もしかしたら昔と何も変わっていなかった可能性もあるかもなあ…って思いました。
そもそも、市場独占は悪であり、競争がなくなって、イノベーションの停滞を招くということはマイクロソフト自身がよくわかっていると思うのだけど
Intel が AMD に対してそのようにしているように、マイクロソフトにとっては、OS X も Linux も生かさず殺さずの状態に持って行くのが一番都合が良い。
昔のマイクロソフトのやり方は、とにかく全力で殺しに掛かっていた。
Re:ギズモード・ジャパンの記事 (スコア:1)
なんてったって、ライターはデマ記事で有名な湯木進悟氏ですから。
Windows PowerShell (スコア:1)
PowerShell が世に出てからも Windows のコマンド プロンプトが貧弱だってさんざん叩かれたのはなかなか悲しい。Windows 10 までショートカット キーも使えなかったのは確かにひどかったけど。
# 同機能強化は同じく Windows 10 の PowerShell にももたらされている
Re: Windows PowerShell (スコア:1)
概ね合意なんだけど、今回のbashとPowerShellは、守備範囲が違いすぎるでしょ?
Bashの方で.Netのオブジェクトとかは触れないんじゃない?
PowerShellは個人的には好きなんだけど、他のプログラミング言語やシェルに似ている様で微妙に似てないのが、認知の妨げになってるんだと思う。
もっとも、似てるだけのものだったら、PowerShellの存在価値は無いとも言えて、そんなもの載せるんだったら、最初からbashにしろよ、ってのが今回の流れなのかな?
Re: Windows PowerShell (スコア:2)
.Net オブジェクトどころか
Windows で Ubuntu バイナリ(bash)が動作することの概略 [sqlazure.jp]で
って言われてるからなぁ。
現状の情報から推し量るに、
これは、ファイルシステムと空きメモリを親の Windows 環境と共有している以外
仮想マシン上に Ubuntu 構築するのとあまり変わらないんわけでさ。
Linux subsystem から Win32 subsystem 叩けないことには
結局 Windows ネイティブ環境との協調考えた場合、
PowerShell 以前に Cygwin の代替としても役不足なんだよね。
uxi
Re: Windows PowerShell (スコア:1)
PowerShellから起動したバッチファイルは cmd.exe が処理してほしい。
エイプリルフール?
でなければ、知らないんで教えて欲しいんだけど、cmd.exeで処理しないの?
実際やってみると、
となって、cmd.exeで処理されているようだけど。
Re: Windows PowerShell (スコア:1)
エイリアスが気に入らなければ、こうすれば?
Re: Windows PowerShell (スコア:1)
Get-Process?大文字なん?…小文字でも走るやん
それで何か不満?
ハイフンいれたり入れなかったりどっちやねん
コマンドレットは、ハイフンが一つ入っている。
エイリアスには、普通は入らない。
今までのWindowsのコマンドにも普通は入らないけど、入ることもあるかも。
これは、cmd.exeを使おうとCygwin bashを使おうと同じ事。
オプションながすぎぃぃぃぃ
オプションは、あいまいにならない範囲で省略できる。
例えば、以下二つは同じ。
もちろん、TABキー補完も利く。
上の例だと「-T」と打った直後にTABキーを叩けば「otalCount」が補われる。
いずれにせよ、上の様な事々は、PowerShellの解説を10分間も読めば解る。
あと一歩だったね。
Re: Windows PowerShell (スコア:1)
そういう姿勢が結局UNIX/Linuxな人々が「めんどくせ」っていって流れてこない
原因で有ることに気が付かないで「あと一歩だったね(笑)」とかいっちゃってるのが痛い
一つ一つやり方を実行例付で教えてもらってコレだ(笑)。
それ以上をお望みなら、有償でなら対応してあげるよ。
今より便利かわからんものに時間潰すのがアホらしいというのがなぜわからんのか…
少なくとも、cmd.exeより文法がリッチで、Cygwin bashと違って.Netのオブジェクトもアクセスできる。
VBS/JSと違って、対話的に実行できる。
それで便利かどうか解らない、と言うのなら、使わなくても構わない。
君程度の使い方なら、それで十分、ってことなんだろうから。
Unix/Linux、bashでも同じことだろ?
誰もそんなことは否定してないよ。
個人的には、使わない理由を探すのに、なんでそこまで必死なんだろう、と思うけどね。
Re:邪悪なM$(笑)がやることは何もかも気に入らない (スコア:1)
まあ、一般ユーザなら知る必要はないんじゃない?
一般ユーザがCygwin使うか、って疑問はあるが(笑)。
ただ、新しい技術に対する気力を持てなくなったら、ITエンジニアとしては終わりじゃないかな。
ましてや、#2990209 [srad.jp]程度のことを調べないってことだと…
媚び媚びですねえ (スコア:1)
こうやってUNIX系プログラマの歓心を買って、Windowsエコシステムを盛り上げようとしてるんでしょうね。
とはいえ、ユーザの利用感としては、Cygwinのような従来のプロジェクトとあまり変わりはないんではないかと思います。
Cygwin、MingW、coLinux、その他個別のUnix系ツール(Meadowなど)を散々試した自分からすると、
この種の互換UNIX環境は、以下のようなつらみが避けられず、あまり快適とは言いがたいものでした。
個人的な意見としては、古いがシンプルなUNIX vs ごちゃごちゃしてるけど多機能なWindows、という違いがあるために、
併用しようとすると、UNIXのシンプルさとWindowsの多機能さのどちらも殺してしまうんじゃないかと思います。
長らく試してきましたが、最後まで満足のいく環境にはならなかったですね。
最近は、Windowsの開発環境が非常に進化したおかげで、互換UNIX環境を使うのは止めてしまいました。
今では、vimと一部のツール(diff、gitなど)くらいしか使っていません。
PowerShellがあればまず不要ですので、Ruby/Perlも使わなくなりました(WindowsのRubyはほんとにつらかった)。
Pythonはまだちょっと使い道がありますが。
最近のWindowsの開発環境はとてもよくなっているので、Windowsを使うなら、食わず嫌いせずにネイティブの環境を試してみてほしいですね。
Re:媚び媚びですねえ (スコア:2)
個人的にすば洞を上げたい。
自分も全く同じ考えで、WindowsはWindowsとして使うのがベストで、Linux/Unixの文化をギャップを考慮して無理やり使うより、PowershellやWindowsの文化を学ぶ方か、VMにLinux/Unixをインストールしてリモートサーバのように使う方が圧倒的に良いです。
このUbuntu on Windowsも結局同じでしょう。
Re:媚び媚びですねえ (スコア:2)
Windows の Ruby は確かに辛かった。(バージョンアップとかパッケージの管理とか)
Rails 等の Ruby そのものを使ったプロダクトではなくて、開発中にちょっとテキスト処理をしたいときに Ruby 等のスクリプト言語は非常に便利なので、(そういったテキスト処理を PowerShell で行うのはマゾですよ) そういった事が簡単にできるようになるのは便利だと思うんだが。
(vimについてはWindows用のものがよく出来ているのでたしかに Linux 環境はいらないとおもいます。)
LinuxのシステムコールをリアルタイムにWindowsのシステムコールに変換する技術が使われている (スコア:0)
それなんてcygwin?
Re: (スコア:0)
cygwin は cygwin 専用のバイナリが必要でしょ。
Ubuntu on Windows は Ubuntu のバイナリがそのまま動くんだってさ。
Re:LinuxのシステムコールをリアルタイムにWindowsのシステムコールに変換する技術が使われ (スコア:1)
CygwinはAPIのラッピングをコンパイル時に行うが、
これは実行時に行う。
Re: (スコア:0)
懐かしのBOW(BSD on Windows)のように動いてくれるって事ですな。
あれはファイルシステムはほぼそのままWindowsのものだったけど、アプリはBSDネイティブのを動かせた。
なのでMakefileとmakefileの衝突あたりを回避出来れば結構いいものだった。
逆に言えばこれがあったおかげですぐにWin3.1からWin95への移行が出来なかったとも言える。
BOW上でemacs+mh環境を利用してたのが移行できなくなってしまったので1.5が出るまでおあずけだった。
Re: (スコア:0)
cygwinはWindows用のLinux互換のAPIを提供してるだけだからリアルタイムにシステムコールを変換してるわけじゃないよね
Re: (スコア:0)
よく分からんよね
cygwinにせよmsysにせよ昔からWindows上でbashは動いてたよ
MSからだってSUAとかあったし
bashスクリプトが動くようになったってMSがbuildなんたらで言ってたって記事はどっかで読んだけど、今までとどこがどう違うんだろう?
MSはWindows Phoneに見切りをつけていろんなところと意識的に友好関係を築こうとしてるように見えるし、先行きよく分からん
お、いーね (スコア:0)
これでコマンド体系二つ覚えなくて済むね。
でもbashからexeの実行はできないのか…何か一手はさめばなんとでもなるか
Re: (スコア:0)
その一手が後に盛大なセキュリティホールになって、いろんな人がてんてこ舞いする様子が脳裏をよぎった。
Re: (スコア:0)
シンボリックリンクの扱いとかどうなるんでしょうね。
cygwin なんかの Makefile で実行ファイルに .exe 拡張子を
つけたりつけなかったりする変態仕様からは解放されるかな?
Re:お、いーね (スコア:1)
シンボリックリンクは既に実装済みでコマンドプロンプト(cmd.exe)からmklinkで作成できますよ。
実行ファイルだって、CreateProcess呼ぶなら拡張子が.exeで有る必要無いんですよね。
Windows のシンボリックリンクは (スコア:2)
権限昇格して Administrator 権限付いてないと作成出来なかったはず。
そのため、微妙に使い勝手が悪い。
uxi
Cygwinとどう違うの? (スコア:0)
えっと…タイトルオンリー
Re:Cygwinとどう違うの? (スコア:1)
http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html [dustinkirkland.com]
Re: (スコア:0)
cygwinはPOSIX APIをWin32/64 APIに変換するDLLを提供しているだけで、これらのAPIにそのまま置き換えられない機能はかなり非効率で遅くなってしまいます。特にfork()が遅いことは良く知られてます。
今回の試みは、Windows上からLinuxのシステムコールを直接利用できるようにするためのサブシステムが用意されるとのことなので、ネイティブのLinuxに近い性能が期待できるのではないかと。
Re: (スコア:0)
まったく違います。
cygwinは、あくまでもwindows世界のアプリケーションですが、
このUbuntu上で動くものは別世界のアプリケーションです。
ですから、たとえばcygwin環境なら、
configureでMakefile生成してmakeするとvisual c++がCLIで呼び出されて、
みたいなことが可能ですが、このUbuntuでは現在分かっている限りでは不可能です。
Re:Cygwinとどう違うの? (スコア:2)
Cygwin の場合は、ソースコードレベルの互換で、
あくまで Windows のアプリケーションの1つでしかないため
POSIX の API と Win32 の API を混在させたプログラミングが可能な点が
実は結構なメリットだったりする。
uxi
Re:アップル信者参上 (スコア:2)
たかだか 10% に満たないプラットフォームに限定された
ブラウザ(=Safari)に対応させるため
わざわざ Mac 買って対応してもらわないといけないのが正しい選択とは到底思えない。
modern.ie は後方互換のための措置だし、
それ言うなら、modern.safari あるの?って聞きたい。
古いバージョンの Safari とか当の Apple でさえ切って捨ててるじゃないの?
ま、旧世代 IE の糞仕様は自業自得とは言え
そういうところ、追加コストなるべくかけずに
きちんとサポート出来るような配慮してる Microsoft は偉いよ。
uxi
Re:アップル信者参上 (スコア:2)
過去の製品に対する責任放棄に過ぎず
市場占有率がたかだか10%に満たない趣味の製品だから許されてるようなものなのに、
酷い勘違いと言うか、Apple に毒され過ぎ。
ユーザーがこういう事平気で言うから、そら Apple も増長して責任放棄するわな。
modern.ie タダで提供してもらってるの棚に上げて、平気でこういうこと言うしな。
逆に見れば Mac を買う不条理かつ不合理を押し付けられてるって理解出来てない辺り、おめでたいとしか言いようがないよ。
ベンダーロックインとか、ユーザーからしてみれば、忌むべき物の最右翼なのにさ。
uxi
Re:アップル信者参上 (スコア:2)
ここまで来ると完全にオフトピだけど
黎明期の GUI で PC に先行していた点には異論は無いが、その頃は、使うのは天国、作るのは地獄と言われてたのに、Mac の方が作り易いはずとか、何をもって言っているのか?
初代 NeXT の頃ならまだしも、今時、GUI 構築は Mac OS だけの十八番ではないし、そもそもゲームの場合 OS 標準の GUI はほとんど関係ない。
加えて、今時の Mac はハードウェア的には PC その物だし、GPU は NVIDIA, ATI, Intel のハードウェアで API もそれをラップしてるだけだよね?
今更グラフィックのどの機能で他の PC の追従を許さないと言うの?
むしろ今時のゲーム開発で重要なのはゲームエンジンやフレームワークなんだけど、
どの点で Mac が PC に勝ってるんだろう?
明確に説明してもらいたい。
Apple が上手いのはユーザーの囲い込みでしょ。
Web を通じて利益を上げるとか、文脈からしても唐突過ぎて何を言っているのか理解に苦しむし、そもそもそれは Apple の得意技ではない。
主徴を最大限汲んだとしてもKDEプロジェクトとw3cだよね?
実際にはブラウザシェアNo.1であるIEとMozilla,Chromeの貢献が大半だけど。
元々Web技術は公共財なんだから、iOS が多少ゲームチェンジャー的な普及を果たしたとしても、10%に満たないシェアでベンダーロックインしてた企業が最大の貢献とか何を根拠にそんなことを言います?
uxi
Re:アップル信者参上 (スコア:1)
# こうして見ると、アップルは常にかなり正しい選択をしてるよなあ。
> MacにはWindowsをインストールできるが、そこらへんの一般的なPCにはOS Xをインストール出来ない。(ライセンスで禁止)
ああそう
> WindowsでSafariは動かない。
必要ある?
...選択が上手いかどうかより、ソフト品質でどうにかしてほしいのが大きいような気がするな、アップル
# Edgeが発展途上以前なので、競争相手とは言えない、はわかるけどね
# とはいえサポート機能的にはIE11/Edgeもだいぶよくなったなぁ、とは言えるかな...
でもWindowsやLinux入れるんならMacである必要がないし、Safari使う必要もないように思うので、やっぱ使わないだろうな、自分
Re:アップル信者参上 (スコア:1)
そこは、OS X は本物の Unix だーと自慢するとこでしょ。
Windows が動くぞとか言い出すとは信者失格。