【Bash】Windows Subsystem for Linux【WSL】7
レス数が900を超えています。1000を超えると表示できなくなるよ。
ヒャッハー!WSL最高!開発にLinuxは使わねぇー。Windowsで開発してLinuxは動かすだけや!
WSL2アーキテクチャ
https://www.atmarkit.co.jp/ait/articles/1906/14/news019.html
WSL 2では、仮想マシン環境が起動し、bashがコマンドを受け付けるまで2秒程度という速度で起動できる。
このため、コマンドプロンプトなどからwsl.exeなどを使ってbashコマンドを処理する時間は、
現在のWSL 1とほとんど変わらない。また、本物のLinux実行環境であるため、
これまで正しく動作できなかったアプリケーション、例えばコンテナシステム(Dockerなど)や
ユーザーファイルシステム(FUSEなど)も動作させることができる。その上で、現在のWSL 1と同等の機能と使い勝手を実現するという。
WSL 2はWSL 1を置き換えずに併存する
WSL 2が登場したからといって、WSL 1は廃止になるわけではなく、引き続き利用可能である。
ファイル共有プロトコル「9P」でWSL 1との互換性を確保
このように、WSL 2とWin32環境の間のファイル共有は、どちらも9Pを使うことになる。
また、WSLからWin32プログラムを起動する「Win32相互運用性」では、最初にWSL側で、
実行ファイルを判別する必要がある。具体的には、実行ファイル先頭のマジックナンバー
(Win32ではMZ)を見て、LinuxのELF64か、Win32の実行ファイルなのかを判断する。
【Bash】Windows Subsystem for Linux【WSL】6
https://mao.5ch.net/test/read.cgi/linux/1560665525/ MSあたりの巨大企業が本気で取り組むと凄いことが出来るんだろうな
Excelなんかも最初はダメダメだったけどいつの間にかスタンダードになったしな 善いことだ
そのうちMicrosoft Linuxとかやり出してLinux界隈に要らん反感を買うのでは…と思っていたが、WSLのやり方はずっと穏健でスマートだった。
いまやWindows自体が堅牢で計量な環境なので、そこにLinuxを融合するのは理に適ってもいる まじかよw
> Adding Linux GUI app support to WSL is on our roadmap
GUIアプリサポートするんだ?設計的にはX ServerをWindowsに搭載するんだろうな。 WaylandでレンダリングしたものをRDPでWindows側で表示しているらしい
まあ自分で適当なXサーバ入れてRDPで接続しても同じ事だが
お仕着せでデフォで手段が提供されるなら喜びこそすれ嘆く理由は無いな >>825
"These apps connected to a wayland server running inside of WSL, which communicated with a RDP client on the Windows host."
Wayland+RDPらしい 思い起こせばん十年前MSからAT互換機用Win3.1日本語版が出た事によって98の呪縛から解き放たれたあのときの興奮に近いモノを感じる GPUはWindowsの方が強力につかえるのに
機械学習とかで使うGPGPUはLinuxの方が充実してたからな でも/dev/nvidia0が直接生えるわけじゃないのね
まあいずれツール側が対応してくれるんだろうけど >>833
これ
nvidiaもnouveauもアレだから、マシになることを祈りたい >>820
GPUとGUI使えるのか
もうLinuxにWinのデスクトップのせちゃえよ >>837
WSLは出来ないことを出来るようにするんじゃなくて
より手間なく出来るようにするのが目的
いわば統合開発環境を提供しているようなもんだ >>839
使いづらいLinuxのデスクトップを排除、Windowsの制御化に
持ってくることが重要なのだから、それをやると劣化することになる。 Mainlining The Microsoft DirectX Kernel Driver For Linux Will Be An Uphill Battle
https://www.phoronix.com/scan.php?page=news_item&px=Microsoft-DXGKRNL-Uphill-Battle いうほど使いにくいか?
慣れちゃってるから解らないのだがどの辺が使いにくいの? まぁWindowsに慣れてれば使いにくいだろうし、
日々Linux使ってればそりゃ慣れてるんだから使いやすいだろうし WSL2でのDirectXはWDDM2.5以上のグラフィックドライバが必要なのか
流石にPC買い換えないといかんか >>827
なんでWaylandなんでしょうね。
X11+xrdpでもいいように思うけど。 waylandは色々と潜在的な問題を抱えてて先行き不透明なのになぁ >>850
いざとなればMicrosoftが資金出したり、開発協力だして何とかなるような気がするけど。 GoogleもChromeOSでWayland使ってる
いざとなればMicrosoft+Googleで >>852
よく考えれば、ば30年前の技術を引きずってる
X11に固執するよりはいいかもね。
X11に関しては今でもサーバー導入すればいいだけの話だし。
ただ、昔の人間から言わせるとX11は残ってほしい。
make world して翌朝ドキドキしてCRTを見た頃が懐かしい。 今のMSとGoogleは協力できるところは協力してるよね
Google Chrome 83安定版リリース、Microsoftの協力でフォームの見た目&操作性が大幅アップデート
https://gigazine.net/news/20200520-google-chrome-83/ Win10のEdgeの最初で最後の仕事が「Google Chrome」検索だからな Xはサーバーとクライアントを分けれるからGUIだけ他のパソコンで表示できるたまに役に立つ
リモートデスクトップと違ってウィンドウ単体だけ持ってきてまるで自PCで動かしてるかのように扱える MSの力でWayland+RDPが主力になるのかな
楽しみ 逆にMSのテコ入れが無かったらいつまでたってもWaylandまともにならない気がする >>856
その概念を作り出したのはXの功績だけど、その後成長しなかったのが残念。
MicrosoftのRDPが優秀すぎる。アプリケーション単体もエンタープライズでは
実装されているし。 >>858
巨大な企業の資金と開発力はありがたいですね。
GNUやLinux信者には苦痛かもしれないけど、ユーザーには喜ばしいことです。 MSの人と話したことあるけど、Azure売るためにはWindowsサーバを押すつもりも無いし、Dockerも積極的に取り入れるみたいなこと話してた ただ、ADは優位性があるので積極的にプッシュしてた >>860
Linuxのデスクトップユーザーはタダ使いが多いから、
開発する企業・連中が十分資金集め出来ないからな。
MSのような巨大な企業が資金と開発力を提供してくれると開発が進むだろうからな
(たとえ、WaylandをWinのために開発するにしても、その恩恵はLinuxユーザーも受けれるだろうからな) >>865
ユーザーは単純に喜ぶけど、コアな信者は忸怩たるものがあるでしょうね。
WSLについても主従が逆転したみたいで支持してないんじゃないかな? >>864
ADはよく考えられているということが、使ってるとわかる。 PaaSを上手くビジネス展開するためにはIDaaSが必要になってくるしね
SaaSベンダーがPaaSを使って自由自在に動けるようにするには、課金の効率化のためにすぐれたIDaaSが必要になってくる >>868
できない(出世できない)人の典型的な書き込みだな。 古い古いGPUと呼ばれる以前のクソみたいなグラフィック出力コントローラーを未だに使っているならともかく
NV/AMD/Intelの現行GPUならWayland向けのドライバも提供されているし、パフォーマンスではWaylandに軍配が挙がるのは言うまでもなく
欲を言えばローカルマシン内部でRDPで伝送するオーバーヘッドが気になるので、WSL側でレンダリングしたサーフェイスをホストのWindows側に直で渡せる仕組みなどを整備できれば完璧かもしれないが、
そこまで要求される用途もビデオゲームかVRくらいしか思いつかないので、RDPで抽象化で良いのでは。
Wayland+RDPという構成も強制ではなく、使いたければWSL側でX11+VNCでも、ホスト(Windows)側でXサーバ起動でも、これまでのやり方が否定されたり禁止される訳ではないので、やりたければ自分で設定して好きに使えば良いだけの話だし。
デフォ環境がWaylandだからで嘆く理由もわからない。信用ならないと思うならX11を使えば良いし、RDPを使いたくなければVNCでもX11+SSHでも、好きにすれば良いだけ。
忸怩たる思いとかイミワカンナイ いや普通にWaylandでは不具合がまだ多すぎるからって話 そんな不具合多いの?Wayland
どんな不具合があるの? NVIDIAも参画してくれたか
Linuxデスクトップいらなくなるな >>875
Waylandが悪いと言うよりnvidiaのLinux向けドライバがクソ RDPがWaylandと通信できるようになるってことだよね Waylandのフレームバッファ周辺の層がRDPサーバになるってこったろう XRDPのWayland版というか、そんなようなものだろう。
Waylandが嫌なら自分でXRDPでもXVNCでも使えば済む話 >>882
使うのが嫌というか、なぜMSが選んだんだろうっていう話じゃない? MSが絡んだとたんにテノヒラクルーで蛇蝎のようにきらうのが信者だろw
MSがOSS界の救世主に見えてきた。 WindowsとLinuxが合体して何か良いことあるん? >>883
そんな話はお前が突然始めた事だし
xrdpやxvncなら既にあるので、MSがわざわざ作る必要もない
MS謹製のWindows側で動作するXサーバも見てみたかったが、まず先にLinux側で動作するWayland+RDPサーバだというならそれも妥当だし
新規でWindows用のterminalを作るくらいだから、将来的にはXサーバを作る流れも来るかもしれない 単発IDで自分でリリース読めよレベルのクソ質問を投げてくる似非関西弁
同じ奴だろうな 勘違いしている人がいるっぽいから言っておくと、2014年リリースのweston 1.6でRDP
バックエンドが実装されているから、遅くとも6年前にWaylandはRDPに対応している
ttps://github.com/wayland-project/weston/blob/1.6/src/compositor-rdp.c 今回のWSL2の対応のポイントはWaylandとRDPそのものじゃなくてWSL2上のLinuxに
デバイスドライバを組み込んでホスト側のDirectX 12を利用できるようにしたことかと
Waylandでは、Wayland Clientはgtk+等がOpenGL ESを使ってバッキングストアに描画し
Wayland Compositorが合成してDRM等で画面に表示する
WindowsではDirect2DやUnity等がDirect3Dを使ってバッキングストアに描画しDWM.exeが
合成してDirectX 12で画面に表示する
GoogleがChromeのWebGLで使っているOpenGL→Direct3DライブラリのANGLEのように、
OpenGL ES→DirectX 12のライブラリを実装してやれば、WSL2上のWayland Clientはバイナリに
一切手を加えることなくホストのDirectX 12のアクセラレーションを利用して描画でき、
それをWayland Compositorが合成しRDPで投げてホスト側のRDP Clientで表示できる
仕組み上RDPのコストがかかるがWindowsの通常のアプリとほぼ同等の性能でLinuxの
GUIアプリを動かせるというのが今回の新機能のポイントかと WSL2がHyper-Vベースだっていうけどこれ、仮想環境にUbuntuを入れるのと何か違うんだろう
Vagrant + VirtualBox等の組み合わせに比べて、なんか利点でもあるのか? WindowsとLinuxで相互にlocalhostでやり取りできたり双方のファイルを相互に扱えることに魅力を感じない奴や、
むしろゲストOSは別ホストでキッチリ別れていた方がやりやすいという人は、
これまで通りにVirtualBoxやVMwareで(べつにHyper-Vでも構わないが)使えばいい。
それは否定も拒否もされていないし、駆逐・廃絶するような意図もない。
あくまでWindows(とVisualStudio)からLinux環境を扱いやすくするための方策がWSL(2)。
Linux側から見てもお零れに預かれる部分があるかもしれないが、本来そんなものは意図されていない WSL2は知らんがWSLだと
powercfg.exe -lastwake | grep USB
とかwindowsとlinuxのコマンド混ぜて使えるな。 >>895
GPUが使えるようになるのが大きいのでは? VirtualBoxなら、LinuxゲストでVBtool入れればホスト側のOpenGLアクセラレーションを使える。
>>890の言うことが本当なら、WSL2環境の方がより強力だが。
GPGPU的な用途も可能にするというから、今後は変わっていくだろうけど >>898
ドライバ入れれば高速化するのはVMwareでも同じ。
VBはマルチプラットフォームだから移植性を高めてるせいで性能は妥協してるな。 >>898
LinuxでOpenGLが必要なものってCADぐらいのような気がするけど、
普通はWindows版があるし何の意味があるんだろう? >>899
VMWareは有償だからいろいろ面倒。個人利用でPlayerは無料だけど。 ふとWSL2のFirefoxでスピードテストをしてみたがスループットはWin10のEdgeと変わらないぐらい出るんだな
550Mbpsも出てびっくりした
pingは3msほど遅いみたいだけど そうそう、FirefoxはUbuntu標準で入るしChromeよりまともに動く。
いくつか拡張機能が動かなかったけどWSL2で動くブラウザ。 >>891
> WSL2がHyper-Vベースだっていうけどこれ、仮想環境にUbuntuを入れるのと何か違うんだろう
簡単にまとめれば、仮想環境にUbuntuを入れた場合、手間が必要で各自バラバラの環境になるので大変
> Vagrant + VirtualBox等の組み合わせに比べて、なんか利点でもあるのか?
まず起動が速い。WSL2は仕組みが異なっていて、仮想マシン上で直接Ubuntuが動いているのではなく
仮想マシン上で超軽量のLinuxカーネルが動いていて、その上でLinuxのコンテナ技術を使ってUbuntuが動いている
超軽量のLinuxは起動に数秒しかかからず、一旦起動したらずっと起動し続けてる
Ubuntuを使う場合は、その起動済みのLinuxの上で1コンテナとしてUbuntuが起動するから速い
さらに当然とも言えるが、Ubuntuを普通に使ったときに起動する、百以上のプロセスが何も起動しない
Ubunutを構成するサービスの殆どが不要だからだ。WSL2ではプロセスはinitとbashの2つだけしか起動しない
それは起動が速いだけではなくメモリ使用量が少ないことも意味する
そして仮想マシン上で直接動いている超軽量のLinuxカーネルはHyper-Vに最適化されており
不要になったメモリをOSに返すことができる。これで仮想マシンを使った場合に
ホストで使用できるメモリを減らして仮想マシンに割りあてなければいけない数GBのメモリを
ホスト・ゲストで効率よく共有できる
またWSL2でUbuntuを起動したときに、実行される特殊なinitはファイル共有の9pプロトコルを
内蔵しておりUbuntuで自分でsamba等を入れて正しく動くように設定する必要がなくなる
そのそしてWindowsからWSL側のコマンドを実行したりその逆もできるようになっている
こういったことがOSの機能として標準化されているためサードパーティも対応が用意になる
例えばDocker Desktop は公式にWSL2に対応しており
特別な設定を行うことなくWSL2からDockerを使用することができるようになった
もしこれらのことを仮想マシンにUbuntuを入れてやるとするならば
Dockerは仮想マシンごとにインストールするのか?そのイメージはどこに置くのか?
など様々なことについて、自分でシステムを構築する必要が出てくる
そしてそれらはあくまで自分のみで構築したシステムになるので他の人とその仕組を共有できない >>900
直接OpenGLを使っていなくても、Wayland上で動作するアプリはGtk+やQTがOpenGL ESを使って
ハードウェアアクセラレーションを行っているし、IntelやAMDのGPU用のXorgのmodesetting
ドライバやamdgpuドライバは現在OpenGLでハードウェアアクセラレーションを行うGlamorなので、
VMWareやVirtualBOX等の仮想マシンがOpenGLのアクセラレーションに対応していないと
LinuxゲストのGUIのハードウェアアクセラレーションがかからなくなる
>>904
念の為いっておくと、WSL2のベースとなるHyper-Vはdom0がWindowsなだけで、dom0が
LinuxなXenと仕組みは全く同じ
今回WSL2でのDirectX 12サポートもXenの準仮想化の仕組みを利用 >>905
Xenは全く使ってませんよ?
使ってるのはCPUがもともと持っている機能だけです。 ん?まさか「準仮想化」がXen特有の技術、Xenの用語だと思ってませんよね? Hyper-VはCitrixのXenSourceと共同開発したものであってMSオリジナルじゃない
RDPも30年ぐらい前のNT 3.51の頃のCitrixのWinFrameがオリジナル
それとWSL2と同じような仕組みは15年前にcoLinuxというものがあった
ttp://www.colinux.org/ > RDPも30年ぐらい前のNT 3.51の頃のCitrixのWinFrameがオリジナル
30年もMSが開発してるんですねー > Hyper-VはCitrixのXenSourceと共同開発したものであってMSオリジナルじゃない
つまり共同開発しているのだから「CitrixのXenSource」オリジナルじゃないと? >>910
ごめんWinFrameは1995年だったから25年前だね
Citrixは昔からWindowsのソースコードを利用できる会社の一つで複数のユーザが
同時にデスクトップを利用できるように改造したNT 3.51がWinFrame
これがMetaFrameに発展しMSにライセンス提供されたのが1998年のWindows Terminal
ServerでこのときできたプロトコルがRDP
Hyper-VはそもそもWindows版Xenとしかいいようがない
Xen対応準仮想化LinuxがHyper-Vでもそのまま動くから 昔はWindowsのソースコード利用できる会社による変なソフトがあったのよ
ttps://en.wikipedia.org/wiki/Wabi_(software)
これはSPARC上のSolarisでWindows 3.1アプリを動かせるアプリで
最終的にはWin4Linというのになって10年前ぐらいに消滅した
ttps://en.wikipedia.org/wiki/Win4Lin
Wn32APIやMFCをUNIXに移植したWiseというのも1990年代にあった
ttps://en.wikipedia.org/wiki/Windows_Interface_Source_Environment >>912
> Xen対応準仮想化LinuxがHyper-Vでもそのまま動くから
Xenと準仮想化Linuxに何の関係が?
汎用に作られた「準仮想化Linux」にXenとHyperVがそれぞれ対応してるってだけの話しでしょう >>912
もう25年も開発しているなら、コードの殆どはMSが作ったコードでしょうねー SafariはもともとKHTMLをパクったものだからAppleオリジナルじゃないよ! このように、どんだけMSで開発している期間が長くても
一番最初のオリジナルが別だったり
共同開発で100%自社製じゃないってだけで
意味のない「オリジナルじゃない!」という発言をする
アホがいるということでこの話はおしまい。 歴史を知らなければ正しい理解につながらないのだよ
だいたいMSオリジナルなんてほとんどないわけで
IEはSpyglass Mosaicベースだし、MS SQL ServerはSybase SQL Serverの魔改造だし、NTは
Machを作っていたリチャード・ラシッドがMSに研究所作らせてDECでヒマしてたデヴィッド・
カトラーを引き抜いて作ったOSだし、だいたいどっかに元ネタがあるか買収したもの
Linuxだって、forkではなくcloneがメインだったり、sysfsのように/に設定等を結びつけるのとか、
ユーザモードのファイルシステム実装のFUSEとか、UNIXと違う部分はだいたいPlan9由来
そういう点だとmacOSのベースとなったNeXTSTEPはすごいよね
WebブラウザやWebサーバだけでなく今のCMSの概念はWebObjects由来だし、Cocoaのような
大規模なクラスライブラリもNeXTSTEPのFoundation/APPKITの発展版、NeXTSTEPのIDE
Project Builderが今のXcodeだし、30年前のものが今も引き継がれているのはステキ >>919
まとめるとC言語作った人がスゴイってことですね。 >>921
あ、ASM作った人がもっとスゴイのか。 レス数が900を超えています。1000を超えると表示できなくなるよ。