【Bash】Windows Subsystem for Linux【WSL】5
■ このスレッドは過去ログ倉庫に格納されています
もうWindows Services for Linuxの略でいいよ(どこかで聞いたような これ、もしかしてその内 /usr/home/hoge/fuga.txt とかじゃなくって Linuxのソースまんまで open() に C:\Users\Hoge\Fuga.txt とか渡したら そのまんま動く様になったりするんじゃなかろうな・・・? でもってその内systemdの代替をWindows側から少しづつ持ってったりして AndroidみたいにLinuxのすぐ上からアプリの下までをMS製の全くの別物に・・・それは流石にないか? もう、LinuxカーネルでWindowsを動かせるようにしろ。 Win8くらいの頃にもうWindows終わりなんじゃね論みたいのが闊歩してて まあ仮にWindowsが今日今ここで死んだとしても1年後くらいにMicrosoft Linuxとかやれる会社だからあそこはもう死にようがない みたいな事を言っていたような記憶があるけど、まさかこういう形で実現するとは。 うーんwindows側とのアプリ連携がどうなるか気になる ターミナルエミュレータなんて既存ソフトいくらでもあるだろ…と思ったけど まあ標準添付でまともなターミナルが出るのは良い事だね 欲を言えばXサーバも欲しい まあこれもフリーや安価なものも出回ってはいるんだけど Windows側のIMEから透過してibus経由で入力できるようなやつだと最高 >同社によるとLinux版「Docker」や仮想ファイルシステムの構築に使われる「FUSE」なども利用できるという。 これが一番嬉しい FUSE使えなくて苦労したので システムコールの変換は諦めたのね まあvmより遅かったし ターミナルは日本語対応完璧にしてくれたらconemuから乗り換えたいな 実用的になるのはウェルカムだが、技術的な面白みはなくなったな。サブシステムのままでの改善は無理だったか…。 今のWSLでエクスプローラーからWSL上のファイルシステムに アクセスする技術が確立されたのが大きいんだろうな。 今のファイルシステムのアクセスの遅さは、Windows上の、つまりNTFSの上に WSLから見えるファイルをそのまま保存していたから。 そこにどうしても変換する処理が必要になっていた。 WSL2では単一ファイルのブロックデバイスファイルのようなものが置かれることになるのだろう。 VM技術を応用するだろうから、VHDファイルそのものになると思うが。 ブロックデバイスとしてマウントするからファイルシステムの変換が必要なくなる。 そのかわりにWindowsからアクセスしづらくなるが、そこで冒頭の エクスプローラーからWSL上のファイルシステムにアクセスする技術の話につながる WSL上にいる9P Server経由でWSLを通して、VHDファイルの中のファイルに エクスプローラーからアクセスするのだろう。 ただ思うにVMがVMのインスタンスごとにLinuxカーネルを起動しているのとは違い WSLのカーネルは一つなのではないかな。Dockerのように複数のディストリでWSLカーネルを共有するのだろう。 今のLinuxサブシステムをVMで動かしたLinuxカーネルに置き換える。 だから「Linuxサブシステム」そのものは存在するというわけだ。 Linuxを起動するわけじゃないから、initプロセスとかsystemdは今と同じく存在しない。 >>471 に補足。↓は2017年10月の記事。 「Bash on Windows」という名称は非推奨に。正式名称「Windows Subsystem for Linux」(WSL)としてベータを卒業、正式リリースに − Publickey https://www.publickey1.jp/blog/17/bash_on_windowswindows_subsystem_for_linuxwsl.html > 「Windows Subsystem for Linux」は、1MBに満たない小さなコードによって > WindowsのNTカーネル上でLinuxカーネルをエミュレーションすることで、 > Windows上でLinuxバイナリを実行する仕組みです。 WSLの何が好きだったかって、この技術的なエレガントさだよ。そうか、とうとう諦めるか…。 今はタスクマネージャーからWSL上のプロセスが見えるわけだが、 これが見えなくなるかな? (新たな)Linuxサブシステムから完全にLinuxカーネルに処理が 渡されるんだとしたらWindowsからは見えなくなるはず。 もし間に割り込んで、なにかするのであれば 見えるかもしれない。でもそうすると遅くなるだろうな。 今までload averageが適当な値だったのは改善されるのかな? それとWindowsのプロセスも呼び出せるようにするなら、そこでも割り込みやIPCが必要になってるな。 米マイクロソフトって社長がインド人技術者になってから良くなったよな 日本MSは相変わらずクソだが よくわからんのだけど、棚上げになってたGPUへの対応とか進展するんです? VMで動かすようになったらメモリ管理はどうなるんだ…? >>463 そういうのが欲しい人はWineを使えばいいのよ マイクロソフトは創業者からの世代交代に成功したので200年続く老舗化も射程距離だが アップルは引継ぎに失敗したので転落確定って話 OSでは稼がず、Visual StudioとOfficeサブスクリプションで稼ぐのが今のMicrosoftやで Edgeも独自レイアウトエンジンEdgeHTMLを放棄してChromiumに移行するしな。 そうか、MSでも駄目だったかという思いで一杯だ。 ちなみにEdgeHTMLの特徴は、とにかくメモリなどのリソースを食わないことだった。 その点はWindowsサブシステムと同じ。 今後はそれぞれChromiumとVMに移行して、実用性と引き換えにリソースを大食らいするようになるんだろう。 >>479 言われると思ったが、それもう使えねえわ。 前は古いアプリが結構動いたが、最近のバージョンだと動かなくなった。 しかもアプリの一つであってOSじゃない。WindowsアプリはWindowsで動かしたほうがい。 >>481 Azureで稼いでるって聞いてる。Visual Studioってそんなに儲かるの? AzureやOfficeのライセンスフィーで喰ってるMSと、 広告料で喰ってるGoogleとどっちが健全なんだろ? Microsoftの1〜3月期決算 ・サーバやAzureを扱うIntelligent Cloud部門の売上高は22%増の96億5000万ドル ・OfficeやLinkedIn、Dynamicsを扱うProductivity and Business Processes部門の売上高は14%増の102億4000万ドル ・Windows、ハードウェア、Xbox、検索のMore Personal Computing部門の売上高は8%増の106億8000万ドル >>483 >WindowsアプリはWindowsで動かしたほうがい だったらカーネル変えちゃダメじゃん >>485 広告は民衆を商品として使う商売だからな ドライバ周りはNTカーネルのほうが圧倒的に優れてるしLinuxにするメリット無いだろ >>485 詐欺に加担している広告業界が健全なわけねーじゃん 朝日新聞「今だから作れる祖母の味 キムさんのスープ」 https://hayabusa9.5ch.net/test/read.cgi/news/1557220519/ 今だから作れる祖母の味 「キムさんのスープ」 祖母の愛情も、自分のルーツも、素直に受け入れられなかった少女が大人になり、生まれ育った長崎市でカフェを開いている。 いまだからこそつくれるスープに自身のアイデンティティーを重ねながら、お客さんたちを元気にしている。 長崎市江戸町にあるカフェ「Nobister(ノビスタ)」。4月中旬のお昼どき、10席の小さな店に常連客が次々と訪れる。 オーナーの金海伸子さん(43)がつくるこの日の日替わりスープは「キムズスープ」。 ニンジンや大根などの根菜に、調味料はみそとコチュジャン、ごま油。 「おいしい」「この味好き」と言いながら、心と体をあたためて、午後の仕事に戻っていく。 日本人の母と在日韓国人2世の父との間に生まれた伸子さん。長崎市で育ち、話す言葉も日本語だったが、食卓は周りの家とは違った。 母がつくるハンバーグなどのおかずに、父方の祖母、金(キム)西運(セイウン)さんがつくるキムチやナムルが並んだ。 https://www.asahi.com/articles/ASM4Q66FDM4QTOLB00Z.html https://www.asahicom.jp/articles/images/AS20190506001187_comm.jpg Microsoft、「Windows Subsystem for Linux 2」を発表 〜LinuxカーネルをOSに同梱 Windows 10のLinux体験は新たなステージへ https://forest.watch.impress.co.jp/docs/news/1183013.html Interixの互換レイヤー使ってた頃に比べると雲泥の差で今のほうがいいんだけどね。 ギフハフにソースコードあるけど誰もビルドしてないんです? Windows Terminal Beta ちょっと使ったけど文字が綺麗 wsl用ならもうこれでいい Canonical、Ubuntuの「WSL 2」対応を発表 2019/05/08 23:01 後藤大地 https://news.mynavi.jp/article/20190508-820096/ Canonicalは5月6日(米国時間)、「Canonical announces support for Ubuntu on Windows Subsystem for Linux 2|Ubuntu blog」において、同日にMicrosoftが発表した新たな技術 「WSL 2 (Windows Subsystem for Linux 2)に対応すると発表した。 UbuntuがWSL 2で動作するようになると、従来よりもファイルシステム性能の向上を期待 できるほか、これまで利用できなかった機能も利用できるようになると見られる。 WSL 2は、LinuxシステムコールをWindowsカーネルのシステムコールに差し替えることで Linuxバイナリを実行するWSLとは異なり、仮想マシンを利用することでLinuxカーネルを 動作させることでLinuxバイナリを実行するというアプローチを採用している。Microsoftは この技術によってWSLが抱えているファイルシステム性能の低さが改善されると説明している。 MicrosoftはWSL 2は通常のアップデートの中で提供し、WSLとWSL 2の共存も可能だとしている。 アップデートに関して、ユーザーが明示的に作業する必要はないと考えられているが、すでに WSLで動作するUbuntuをインストールしているユーザーが実際にどのような作業をすべきかに ついて明らかにされていない。 WSLからWSL 2にアップグレードすることでファイルシステム性能が向上することが期待 されるが、具体的にどのような変化が見られるのかは現段階ではわかっておらず、今後の 詳細な発表が待たれる。 >>494 試したけど神だぞこれ もうVSCodeのUIをWSL側で動かすようなアホな真似は必要ない 結局、MS は、Vagrant, Chef などで、仮想マシン上に、Linux を構築する手間を省いた つまり最初から、仮想マシン上に、Linuxを用意してくれる >>501 それだけじゃないぞ。 今のWSLと同等の使い勝手を提供するって言ってるんだから、 仮想マシン上のLinuxにsambaなんか入れなくても Windows上のテキストエディタから自由にファイルを触れるようになるはず。 俺が以前Vagrantで開発用の仮想マシン(samba等込)を作っていたやり方に 近いがそれよりもWindowsと統合された物ができるのは確実 あとはメモリ管理がホストと共通になっていればゆうことなし。 仮想マシンにメモリを分配するのはいやなんだよ。 Linuxカーネルに手を入れるみたいだから期待はできる。 専用のハイパーバイザで動くんだろうけど、今までの使い勝手が変わってしまうのはちょっと嫌だな。 フレームバッファも実装されて画面もLinux管理下になったら普通にVMと変わらないし。 スクショを見るとターミナルは独自のものっぽいが・・・ >>505 今までの使い勝手は変わらないはずだよ。 普通のVMと違うのは、普通のVMよりはるかに使いやすいってこと 例えば(今までどおり)Windowsから直接コマンドを実行できる Windowsからファイルの変更ができる 起動が遥かに高速 今までだったらWSLは遅いから自分でVM作るって言ってたけど、 もう自分でVMを使う理由すらなくなるよね。 まあ判断するのはWSL2の現物が出てからにしようぜ。 つうか元のWSLだって、速度も互換性もネイティブ並みという触れ込みだったんだぞ、忘れたか? >>507 最初に登場したときは、ベータ版で ネイティブ並みなんて触れ込みはしてないはずだが? ちょっとどこで言ったのか探してきてくれないか? >>509 とりあえずこの辺かな。 http://hayabusa6.5ch.net/test/read.cgi/linux/1459317475/538 > いくつかのベンチマークの結果、WSLは同じハードウェアで直接実行したときに近い結果をたたき出し、WSLはよい結果を出したとThomas氏は言う。 VMみたいにイメージファイルにもろもろ突っ込んでしまうではなかろうか? じゃないと散々苦しんだこの問題は解決しないと思う。 今まで通り、C:は/mnt/cとして、WSL側もUNCパスを参照できるだろう。 >>510 それは「速度も互換性もネイティブ並み」なんて 一言も書いてないって証拠ですか?w WSLってディストリの概念があるのが凄い気持ち悪いんだが SlackwareとかGentooとかArchみたいな、ミニマルな構成だけ提供すれば良いのに >>512 それならWindows側からの参照するのにsamba相当のものが必要になるよね >>512 おそらくそうだろうね。Windows上のファイルである限り、 ファイルごとにセキュリティソフトが反応してしまう セキュリティソフトの検閲を回避するには1ファイルにするしか無いw ま、それをやったとしても、Windowsのエクスプローラーから Linux内にあるファイルを参照できるようになりますからね。 WindowsからLinuxファイルへのアクセスが可能に 〜「Windows 10 19H1」におけるWSLの改善 https://forest.watch.impress.co.jp/docs/news/1170221.html 正直↑のリンク先に書いてある > この機能は「WSL」を初期化する際に「9P」プロトコルのファイルサーバーを起動し、 > それを介してファイルを扱うことで実現されている。そのため、Windowsからアクセスできるのは > 現在のところ、動作中のWSL/Linuxディストリビューションのみとなる。 この制限が腑に落ちなかったんだよね。なぜならWindows上にファイルは有るわけで 動作中のWSL/Linuxディストリビューションに限る必要はないはず。 またWSL上で9Pプロトコルサーバーを動かす必要もないはず。 (だってWindows上から直接参照できるのだもの) WSL2の発表でその理由がわかった。WSL2のLinuxカーネルにデバイスファイルとして マウントさせる仕組みにも使うから、WSL上で9Pプロトコルサーバーを動かすほうが楽なわけだ。 >>514 > WSLってディストリの概念があるのが凄い気持ち悪いんだが それはWSLのせいじゃない。Linuxがそもそもディストリの概念があって Linuxカーネルと、そのカーネルで動く各種アプリ・コマンドが 分かれて提供されてるのが原因 まあそのおかげでMicrosoftは最小限のLinuxカーネル部分だけを提供すれば あとは既存のディストリの成果をそのまま使えるわけなんだが >>516 > それならWindows側からの参照するのにsamba相当のものが必要になるよね それがWindows 10 19H1でリリースされる9Pプロトコルのファイルサーバー samba相当のものが内蔵されてるから、自分で仮想マシン作って構築するより使い勝手が良い >>518 WSL from scratch があっても良くない? 何でNFSじゃなくてわざわざ9Pを実装してるんだろうね? Win側のNFSクライアントの使い勝手が悪いんだろうか >>520 マイクロソフト「いいんじゃね?そういうディストリも普通に作っていいよ。 ただし我々は、Linuxカーネル相当のものを提供するだけではなく 開発者にとって便利なように、完成されたLinuxディストリを提供する。 その一つとしてUbuntuだ。だが君がfrom scratchを作ることに否定はしない」 >>521 WindowsじゃなくてNFS自体の問題 https://ja.wikipedia.org/wiki/9P > ファイルはウィンドウ、ネットワークの接続、プロセスや、その他オペレーティングシステムで > 利用可能なほとんどのものを表現している。 9PはNFSとは異なり、 > キャッシュや、仮想ファイル(例えば、プロセスを表現する/proc)の提供も補助する。 ここにも書いてあるな https://ascii.jp/elem/000/001/818/1818008/index-2.html > Linux/Unixで一般的なNFSを使わなかったのは、9Pが >疑似ファイルシステムなどもサポートできたこと、 >ファイル共有プロトコルとしては軽量だったことが理由と考えられる。 > そのソースコードの由来はともかく、マイクロソフトはWSLで > 9Pプロトコルを扱えるようにした。また、/initプロセスで > 9Pファイルサーバーを動作させるように改良した。これにより、 > WSL側は、VolFs(ルートディレクトリ以下)や/proc、/sysなどの > 特殊ファイルシステムを含めて、Win32側からアクセスを可能にした。 このリンク先に有る図の構成は、おそらくWSL2でも近い形で流用されるのだろう。 この9Pサーバーを実現したことが、WSL2での開発の流れにつながってるのだろう。 > Win32側は、9Pプロトコルのクライアントをリダイレクタードライバーとして実装した。 >これは、C:\windows\system32\driversにある「p9rdr.sys」が対応している。 >このp9rdr.sysは、リダイレクタードライバーとして組み込まれ、ネットワークフォルダーに「wsl$」ホストを見せるようになっている。 > > p9rdr.sysと/init(9Pサーバー)の間は、AF_UNIXによるプロセス間通信を使う。AF_UNIXは、 >ソケット(バークレーソケット)を使う場合に同一マシン内のプロセス間通信に使う >「アドレスファミリー(Address Family)」である。これは、Windows 10 Ver.1803(RS4)で >Windows側とWSLに実装された機能だ。このときには、何に使うのかが見えていなかったが、 >実はこうした用途が想定されていたというわけだ。 いろいろつながってるよね。 >>525 サンクス、なるほどね 仮想マシンに移行するならWin側から/procや/sysは触れる方が良さそうだね 今更WinSockがUNIXソケットに対応して何が嬉しいのかわからんかったけど、なるほどそういうことだったのか・・・ DockerやFUSEが動いてCoderでVSCodeも使える。 それまでの開発ツールを一つの場所に集約できる。 インポート・エクスポートもできて環境のバックアップや以降も簡単にできる。 いいことずくでこれからWSL使う人増えるんじゃないか? /procなんか、一部はWindows側の情報を見せるんじゃないかね? cpuinfoとかmeminfoとか。 そうするとWSL側から、Windowsのプロセスを見れたりするかもしれないな。 これはただの仮想マシンじゃ無理な所でLinuxカーネルを最適化するっていうのは こういうところなのかもしれない。 /procを通してWindows側と連携できるとなると、 分離されたシステム空間で動かすVMとは仕組みが全然違ってくるな。 >>527 残念ながらCoderは VSCode Remote Development と Visual Studio Online が発表されたため一ヶ月以内には終了すると思われる いまやMS WindowsのソフトすらもLinux上で開発する奴が増えたからMSがこれはやばいよとなって MSの物ならPC系Linux、組み込みも簡単に開発出来るんだにしようと必死しているからな VSCode Remote Development、 Visual Studio OnlineとかさすがMSだよな まぁ、開発をしない普通のLinuxユーザー(ただクレ乞食)をMSに取り込む気はないだろうが、開発をやっている連中は 取り込みたいよな。 Windows用アプリケーションをLinuxで開発するってなんかの罰ゲームか マルチプラットフォームでLinuxがメインターゲットの場合だってWin固有のコードはWinで開発するだろ windowsやlらinuxやらって大変だね 素直にmacにすればいいのに >>533 >いまやMS WindowsのソフトすらもLinux上で開発する奴が増えたから へー、そんな事出来るんだ初耳 因みにどんなソフトがあるんだよ低能 >>533 > いまやMS WindowsのソフトすらもLinux上で開発する奴が増えたから 聞いたこと無いな。だって無理じゃん?VisualStudioとかさ 逆にLinuxのソフトをWindowsで開発するって話は多く聞いていて、 WSLでそれがさらに加速する >>542 OSSだけど、VLC ttps://wiki.videolan.org/Win32Compile/ Winでのビルドは頑張ってねとか書かれてる 10年ぐらい前にChromiumのWin版をビルドしたことがあるけど、 準備がすごいめんど臭くてさらにコードをいじらないとビルドできなかったな。 LinuxとMacはそれに比べて簡単だった。 MSのLinux開発への擦り寄りは最終的には「Azureを売る」へ繋がるわけだけど、肝心のLinux on Azureは散々な有様だよね 十中八九、あと3年くらいしたら今の路線はピボットを迫られるだろうけど、そのときWSLはどうなるんだろうね > 肝心のLinux on Azureは散々な有様だよね 大ヒットしてるよ >>543 そんなん使ってるのVLCみたいなマルチプラットホーム向けの極一部だけだぞ Macは大学で導入してるところが多いが 就職したあとどうするんだろ ほらみろーw Windowsユーザーにするやつが釣れただろーw winユーザーはマカーはmac以外使いこなせないと思ってる ってことでバカ呼ばわりはまあわかるのだが >548が犬厨な可能性は考慮してないのだろうか 俺的にはFUSEに期待だな Winの似た様なライブラリとかドライバとかの類はライセンス的にすんげぇ使い辛いからなぁ 標準でマイナーな書庫の直接マウントとかできる様になると色々と有難い 犬もドザもバカーも所詮どんぐりの背比べ 使いやすさデスクトップ編 System7.1以降X未満>>>>>WinXP以降>>>超えられない壁>>>>X以降>>犬 サーバー編 犬>>>>>>>>>>>>Windowsserver>>>>>>超えられない圧倒的な壁>>>>>>>>macOS Server 俺はMacのParallels(VM)でWindows10動かしてその中でWSLを使ってる。 もともとWin10以外にUbuntuもVMがあったけど、WSLだけでどうにかなるからそうなった。UbuntuのVMは捨てた。 >>557 Mac でコンソールは使わないのですか?(まぁ他の UNIX が細々としていますのでアレですが) >>558 使ってるよ。 Linux(WSL)が欲しいのはラズパイのクロスコンパイル環境を用意したいから。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる