【Bash】Windows Subsystem for Linux【WSL】7
レス数が950を超えています。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/ 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作った人がもっとスゴイのか。 Lattice C 2.xはATOKと太郎で有名になったな
MS-Cは3.xはバグだらけで4.xでようやく
使い物に
PLINK86が偉かったというのもあるな >>922
そもそもコンピューターのもとの真空管作った人がスゴイ?
と、いうことはその前のエジソンがスゴイってことですね(笑)。
自分の都合のいいところで歴史を始めるのは馬鹿っぽいから
やめたほうがいいよ。 マイクロソフト嫌い
アップルジョブズすごい
LinuxはアンチMSだからアップル翼賛のはず
でも素晴らしさでは君らは俺の下
反吐が出る
真の敵はこいつら AppleはOSだけでなくハードウェアも独占していて碌なことがない。
クロスプラットフォームな技術にも非協力的。 MS SQL ServerはSybase 由来だったのはver.7まで。
2000で作り直してるし2017でLinux版のために共通基盤からもう一度作り直してる。 あれはロックエスカレーションの
閾値がエグくてな、カスタマイズ
しないと使い物にならなかった。 >>920
> そういう点だとmacOSのベースとなったNeXTSTEPはすごいよね
NeXTSTEPはBSDのパクリだよ 個人的にはWSL2でRedisを動かして、
Windows側からC#でアクセスして
かっとび状態に出来るかどうか?
UWPなりBlazerで使えればなおよしかなぁ 今WSLではいろんなディストリビューションが選べるようだけど
なぜCentOSがないのだ…… >>935
UbuntuはMSと提携してる
MSとしてはいろんなものに対応する必要はない
Debian系の方がよく使われてる
CentOSが提供しない
こういうところだろうな
いくらMSがWSLを作ったからと言って
ディストリがMSストアで提供しないと使えんよ ぶった切って申し訳ない
ubuntu20.04をwslで入れて、ubuntu-desktopを起動したいんだけど
マウスカーソルが出て壁紙が表示された直後に
画面が真っ暗になってしまうんだけど
何か手順が足りないんだろうか…?
アドバイスいただけると助かります
3Dアクセラレーションに問題があるのかなぁ >>938
WSLのsleep問題は改善したのか? >>940
正式対応とかは別に謳ってないよ、今後正式対応
ただ別にGUI環境は整えること出来るからそれしてるだけでしょ
Xserver経由だったり、vcnやxrdpで接続しても良いし >>935
RHELベースのPengwin Enterpriseで我慢しとけ >>932
MachはBSDのforkみたいなもんだからな Win9xとNTはバージョンが違うだけの同じWindowsと思っちゃう人かな ubuntu 20.04のglibcに問題があってWSL1だとうまく動かないみたいね(´・ω・`) >>943
これってWindows Updateで自動的にアップデートされないんだっけ? いずれ自動でアップデートされるけど、リリース直後にアップデートしたければ手動でやるしか無い
そして手動でアップデートすると、月例や臨時アップデートで自動アップデートが降ってくる順番も早くなる(人柱の順位が上がる)という >>945
Win9xが不具合だらけでNTができたって思ってる人が多い気がするけど
実際にはNTの方が先に発売されてるんだよな
9xの方が後から作られた >>953
Windows NT 3.1の方が早いんだな
3.5=デイトナは格安で配布したから
こちらの方が知名度高いけど NTは3.1からで、Win32はそこで作られた
16bitのDOS/Win3.xをWin95から5年間で5年後のフル32bitのNT5.0で一本化する計画
Win9xシリーズはそのための大エクソダス計画のための捨て石シリーズ
NT5.0は2000になり、9xも95の次の97が出遅れて98に、さらに98SEで打ち止めのはずが9x部隊が造反したため
IEとDirectXの開発権とバーターでMeの発売を許し、NT5.1となるXPでようやく一本化
5年かけて踏み台OSを作ってユーザーを誘導するという、当時アンチが挙ってできるわきゃねえと囃し立てた計画を
Mirosoftは実際に計画し、実行して見せたのは後にも先にも類を見ない偉業だった訳だが あと9xを16bitOSと思い込んでるアホは21世紀の今でも多いよね
起動時に16bitコードを踏むのと、16bitドライバもまだ一部で使えるというだけでカーネルかられっきとした32bitOSだった GDIの座標空間がNTと異なり16ビットだったぞ
ChicagoはChicago 8Kでも16ビットで十分だが計算する時にオーバーフローするかもな。
MacとiOSの座標系はFloatで表現される。Retinaとかあるし。 2010年頃になって座標系をfloatにするのはわからんでもないが
90年代それも前半のものでfloatでないからクソとか言い出す奴は頭どうかしてる ああ、マジで頭イカレてるよお前。お前の狂った頭の中にはアップルかそれ以下かしか無いんだろ そこはCopland完成させてから言え
それ系の板にな。でしょ WSL2入れてみたけどなんかネットワーク周りがいまいちだな >>967
ハードウェアセンサーはサポートしてます? >>969
lm-sensorsでCPU温度とれますか? WSL1: Hyper-Vを使わないのでVT-x使用可能=WSL1とVMwareやVirtualBox併用可能
WSL2: Hyper-Vを使うのでVT-x使用不可=WSL2とVMwareやVirtualBox併用不能
こういう認識で合ってる? VMwareやVirtualBoxがHyper-Vに対応すればいいんやで >>971
WSL2でもVMwareとVirtualboxとの併用可能
VMwareはプレビュー版で対応した >>973
ありがとうございます WSL2への移行試してみます やってみたけどダメだった・・orz
やっぱりハードウェアセンサーのサポートはまだだった むしろ何でいけると思ったのか
そういう余計な部分をサポートする必要が無い(から余計なサービスやデーモンを起動する必要もない)のでサクサク動作が期待できるのに いやフォーラムに同じように望んでいる人達が居て要望を送っておいたのでもしかしたら反映されてるかなとかすかな望を持ってたのよ Windows用のアプリを探して入れりゃいいだけなのに リモートからホストの温度を取りたいんだ
Linux〜Linuxなら簡単なんだけどなぁ ならWSLなんか使わずLinux入れればいいんじゃね Windowsじゃなければ走らないソフトがあるから使ってるに決まってるだろう ならWindows上でプレーンテキストにひり出したのを加工してsyslogにでも吐いて貯めとけよ >>978
無駄に試すよりまずリリースノートなどを読めよ WSL2使ってみたがbashの起動がめちゃくちゃ速いな WSL2めっちゃメモリ食うなw
1.5GBも食ってたvmmemが
メモリ16GB以上ある人用だなこりゃ 実装も動作もWSL 1と違うんだからWSL 2とかじゃなくて別な名前にしてほしいよな。
Lindowsとかw >>987
WSL2はより完全なLinuxに寄せた分、Windowsファイルシステムとの
親和性が落ちたのかな レス数が950を超えています。1000を超えると書き込みができなくなります。