探検


【Bash】Windows Subsystem for Linux【WSL】8

■ このスレッドは過去ログ倉庫に格納されています
2020/05/29(金) 17:58:21.78ID:N31NEDSz
ついにWSL2が登場したぜー。こりゃ完全にLinuxだ。ヒャッハー!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】7
https://mao.5ch.net/test/read.cgi/linux/1579395785/
2020/09/10(木) 08:16:30.69ID:BshRQry3
>>677
メモリの削減になるわけ無いだろ
削減できるのはディスク容量
通信量もあるが

つーかDockerイメージ上で開発をやめればいい
開発はホストでやって動かすだけに使うのが一番
2020/09/10(木) 10:58:05.11ID:qIGkYZ9A
稼働しているデーモンが少ない軽量Linuxディストリを使えばメモリ削減になると思うけど
でも、Docker Desktopでいいと思う
2020/09/10(木) 14:53:29.75ID:OBjkKXMS
まさかDocker Desktopの代わりに
自分で仮想マシンに軽いLinux入れるとか言ってんのか?

その軽いLinuxを入れて作ったのがDocker Desktopなのに
素人がDocker Desktopよりも軽いもの作れるわけ無いやろw
2020/09/10(木) 16:01:15.24ID:p6ZSa2ss
そもそもどっかーってなんなの?
2020/09/10(木) 16:05:05.96ID:WI5CcLdD
どっかー逝け
2020/09/10(木) 16:10:26.30ID:upwNoZZw
どっかーん!
2020/09/10(木) 16:59:24.81ID:OBjkKXMS
おジャ魔女どれみ
2020/09/10(木) 19:23:41.03ID:D10RUP+x
そもそもDocker Desktopって使ったことないけどWSL2より軽いの?
それならWSL2 integrationってなんのためにあるの?
2020/09/10(木) 19:30:30.74ID:rm5G5YTz
Homeでも使えるのが利点だけどそもそもDocker使う層はPro使ってるだろうしな
2020/09/10(木) 19:54:55.95ID:mkodpEIG
DockerはAlpineベースじゃなかったっけ?
まあ気になるなら公式を見ればいいだけ
2020/09/10(木) 20:03:17.45ID:RDgQEle2
なんで軽いか重いかの話しか思いつかないのか理解できないな
Docker Desktopは軽いんじゃなくて便利なの

Docker DesktopはWindowsアプリ
Windows上でDockerを使えるようにするもの
つまりコマンドプロンプトからも使えるし
Windows上のフォルダもDockerから参照できる

コマンドプロンプトから使わないというのは勝手だが
それであってもDockerサーバーをどうやって起動するか?
WSL2ではサーバーを動かすのに設定が必要

ディスク周り、ネットワーク周り、ちゃんと構成しないと
Linux上でのDockerと同じように使えない
Docker Desktopがあって全部やってくれてるのに
自分で手間かける理由がない

WSL2 integrationはDockerサーバーに簡単に接続して
ボリュームも正しく扱えるようにするため
2020/09/10(木) 20:30:48.41ID:Q4Osy73W
Windows 10 2004の累積更新でWSL2がクラッシュする問題
https://pc.watch.impress.co.jp/docs/news/1276132.html
2020/09/10(木) 21:58:42.06ID:qIGkYZ9A
> それならWSL2 integrationってなんのためにあるの?
コンテナ外で何か作業したり処理を走らせたりするときに、慣れたLinuxディストリを使いたい、とかかな
2020/09/10(木) 22:23:25.04ID:oA/x3Cj9
Docker Desktopなについてなら、このあたりを読んでみれば?

@IT
https://www.atmarkit.co.jp/ait/spv/1906/19/news074.html
2020/09/11(金) 02:12:13.37ID:Cfl+swV2
Insider Preview 20211でWSL2に物理ドライブをマウントする機能の追加だって
https://devblogs.microsoft.com/commandline/access-linux-filesystems-in-windows-and-wsl-2/

やっぱり要望が多かったんかね
2020/09/11(金) 07:09:20.62ID:KMkWey04
物理ドライブマジか
WindowsでZFSあるな
2020/09/11(金) 07:21:26.17ID:wfTGw+pC
次は画面だな
2020/09/11(金) 08:13:03.79ID:RLWwkeSz
画面てなんだよターミナルの事か?
2020/09/11(金) 09:18:30.62ID:Ymdhy1Ko
画面ってなんだよ
2020/09/11(金) 09:33:40.19ID:hMQK4yJ1
WSLがより完璧なLinuxの代替ツールとなっていく
2020/09/11(金) 09:47:26.29ID:Wv9KSAgb
画面w
2020/09/11(金) 10:58:54.43ID:i2ZyKz01
GUIの事だろ
2020/09/11(金) 12:09:11.07ID:9Vkaho/l
xrdp入れるだけでデスクトップの機能は入るよ
2020/09/11(金) 12:27:16.29ID:IjxYogNN
alpine - Docker Hub

5 MB サイズって書いてある
2020/09/11(金) 14:04:42.95ID:Y2OT6U4T
物理ドライブまじかよ嬉しいわ
2020/09/11(金) 14:15:00.56ID:WseDEV0x
物理ドライブってことは書き込みのボトルネックが外れるってこと?
2020/09/11(金) 17:31:54.33ID:70x55i1K
物理ドライブ使えるようになったらWindowsからext4やらxfs使うのが楽になるな
2020/09/11(金) 17:35:51.98ID:3dTBFdDL
しかもLinuxカーネル経由だから互換性の問題も出にくい…のか?
2020/09/11(金) 18:33:56.55ID:J8OqKEUE
そのうちSubsystemだったLinuxが本体のWindows乗っ取る…なんてことはないか
Linux Subsystem for Windows
2020/09/11(金) 18:40:38.36ID:9zLGlVxd
もう、それでいいとおもってる
2020/09/11(金) 19:34:59.08ID:jR4K7F5x
画面もカーネル直で扱えたほうが効率がいい
2020/09/11(金) 20:19:28.14ID:3aDv+/QR
画面!
2020/09/11(金) 20:20:50.51ID:i2ZyKz01
瓢箪から駒
2020/09/12(土) 00:03:22.59ID:FiN74urg
>>707
実際にはWSLがのっとってるのはLinux
2020/09/12(土) 00:49:28.77ID:sMmw/XOd
Win8の頃にデスクトップ廃止&モダンアプリ強制しようとしてグダグダに迷走していた頃に
もしも明日Windowsが終わっても、Microsoft自体は1年後にMicrosoft Linuxとか出していける企業だからしぶとい
みたいな話をしていたが、その後実際にこういう形(WSL)でLinuxを取り込むとは思わなかったな
714login:Penguin
垢版 |
2020/09/12(土) 00:59:56.91ID:SBxq3Srt
膨大なWin32の資産を捨てるわけないじゃん。
2020/09/12(土) 08:11:53.29ID:gPvPRgiB
>>707
Wineでも使ってろ
2020/09/14(月) 09:56:01.10ID:Z6pyxfCD
Dockerで何某検証したりk8s使ったりするならdocker desktopを使った方がいいな

開発目的でも言語のバージョン切り替えやミドルウェア連携をハードに依存させたくないならdocker使うべきでしょ

特にないならdocker desktopはいらんかな
2020/09/15(火) 20:41:35.82ID:oBlOtoUk
絵の出る画面はないの
2020/09/15(火) 20:47:17.72ID:EO9D2chp
sl
2020/09/15(火) 21:01:05.64ID:RkNj+Cct
ノートPC壊したので
ジャンクのノートPC1000円で購入
使用していたHDDに換装したら使用できた
再構築しなくて良かったと言う自分用日記
2020/09/15(火) 23:56:19.60ID:jrU6R3T3
それwsl関係ある?
2020/09/16(水) 06:45:58.83ID:0LCz9dD2
テキストに修飾することはできますか?影付き文字とかにできませんか?テキスト背景は完全に
透明にしたいのですが、完全に透明にすると文字が見えにくくなります
2020/09/16(水) 08:39:25.79ID:eA9cNmY2
完全透明で見やすいとかありません
文字の問題ではありません
矛盾してます
2020/09/16(水) 08:40:54.32ID:eA9cNmY2
背景を透明といいますが、背景は透明にはなりません
後ろのウインドウが見えてるはずです。
つまり「他の文字や画像」の上に文字を置くということです
見やすくなるわけがありません
2020/09/16(水) 08:42:23.64ID:eA9cNmY2
半透明ウインドウでかっこいい!と主張しているサンプルイメージを見てみましょう
後ろに見えるのは壁紙です。あえてそうしています。
実際に使う場面であるウインドウを置いたら見づらいからです。
2020/09/16(水) 08:44:30.59ID:eA9cNmY2
結局の所、本当に欲しいものは、ターミナルの背景に壁紙を置く機能なのです
2020/09/16(水) 09:54:59.45ID:HpxwAxjC
(半)透明と壁紙では目的が全く違うだろ
2020/09/16(水) 10:25:51.59ID:Pn1ha2hv
だから半透明かつ見やすいなんてものは無いって話をしてる
2020/09/16(水) 11:09:50.46ID:XMwKjPpw
基本あーゆーのって窓や林檎よりすげーだろドヤっ?てやるだけで実用性はない

https://cdn-ak.f.st-hatena.com/images/fotolife/p/paiza/20190704/20190704175535.png
http://vio.homeip.net/ogs/suse/jpg/kde4eff09_s.jpg
http://vio.homeip.net/ogs/suse/jpg/kde4eff10.jpg
https://cdn-ak.f.st-hatena.com/images/fotolife/N/NeoCat/20080611/20080611202610.png
2020/09/16(水) 11:29:17.25ID:2aSDhvF5
背景を透過や画像にできるかどうかはターミナルエミュレータの機能であって、WSLは関係ないんじゃね
Windows側は昔使っていたTera Termで透過ウィンドウできたような記憶はあるけど、今時Tera使うか?って話にもなるし
Windows Terminalでできたかどうかは知らない

Linux側なら腐るほどある
なんならGNOME terminalでできるだろ
2020/09/16(水) 11:33:25.49ID:FDeqD1wg
Compizって10年前だろ
2020/09/16(水) 11:38:36.44ID:LbN6tnxw
半透明はオサレじゃねえ
裏窓内容を確認したい奴には一応実用性あんだよ

完全透明:OSD感覚?透明部分は透過クリックできて操作も可能
半透明:視認目的、メイン窓開いたまま隠れた裏窓の内容が確認できる
窓内壁紙:オサレ、裏見えない

メイン窓の視認性は落ちるけどそこは透明度と暗色被せでカバー
全透明は自作アプリで文字周囲だけ表示エフェクトとかやらない限りは厳しそう
2020/09/16(水) 12:01:29.76ID:aTyMmNy1
Windows Terminalも半透明の機能はあるけどアクティブなときだけ有効なんだよ
逆にして欲しいんだが
2020/09/16(水) 12:13:04.30ID:eA4LYKHJ
>>731
だから「見にくくなる」のを承知で
後ろのウインドウを見たいって話でしょ?
2020/09/16(水) 12:46:40.82ID:UCSIfUPo
実用性w
2020/09/16(水) 13:12:45.88ID:iOjQfGCK
>>728
そう。お前の中ではなw
2020/09/16(水) 13:13:01.85ID:fB+dPW6E
4.19.128が一般にも振ってきてるのか
2020/09/16(水) 13:21:39.07ID:xDwIcCdm
>>732
激しく同意
2020/09/16(水) 15:08:24.40ID:HpxwAxjC
>>733
はい
739login:Penguin
垢版 |
2020/09/16(水) 20:03:55.53ID:x9sL4ZLh
Ubuntu 18.04 だけど、

bin の後ろに、// とあるのは、なぜ?
正常に動くけど、気持ち悪い

which yarn
/mnt/c/Program Files (x86)/Yarn/bin//yarn

yarn --version
1.22.4
2020/09/16(水) 20:12:03.42ID:9NqOW7Gk
検索パスが/で終わってるからだと思うが
741739
垢版 |
2020/09/16(水) 20:32:19.46ID:x9sL4ZLh
Windows のシステム環境変数PATH を見たら、
OpenSSH, nodejs などの末尾に、\ が付いている。
付いていないものも多いけど

一々、直すのは面倒・危険だから、このままにしておきます
2020/09/16(水) 21:41:45.18ID:ZCXMrJZ5
http://blog-imgs-80.fc2.com/d/o/d/dodoyuioac/005_201508030530496a3.jpg
http://blog-imgs-80.fc2.com/d/o/d/dodoyuioac/006_20150803053421bb6.jpg
http://blog-imgs-80.fc2.com/d/o/d/dodoyuioac/007_20150803053423954.jpg
http://blog-imgs-80.fc2.com/d/o/d/dodoyuioac/008_20150803053424bc2.jpg
http://blog-imgs-80.fc2.com/d/o/d/dodoyuioac/009_20150803053425b4b.jpg
http://blog-imgs-80.fc2.com/d/o/d/dodoyuioac/010_2015080305342869a.jpg
http://blog-imgs-80.fc2.com/d/o/d/dodoyuioac/011_20150803053510001.jpg
2020/09/19(土) 16:39:36.77ID:A8UImIKo
SSDに換えてから初めてWSL2触ってみたが、なるほどこれはHDDに戻れないな
2020/09/19(土) 17:11:36.59ID:H1OZ04Be
5年いや10年遅いな
2020/09/19(土) 17:47:13.42ID:/hY5DV2E
まぁ、でも来年始めたら11年遅くなるわけだし、それに比べたら1年早いということ。
遅れた時間は変えられないが、これからの時間の使い方次第でどうとでもなるでしょ?
2020/09/19(土) 21:43:57.05ID:/XwoLXjl
コマンドラインからディストリビューションのインストールできるようにならないかな。
2020/09/19(土) 22:31:58.12ID:zqvGin6H
>>746
正式版は来年だがwingetで出来るんでは
2020/09/20(日) 15:42:40.22ID:5fgclNdN
今wsl上のDockerでファイルの書き込みすると変換処理挟んで極端に速度落ちるけど
ネイティブなext4ドライブにアクセス出来るようになれば速度落ちずに書き込み出来るようになるのかな?
2020/09/20(日) 15:44:54.26ID:5fgclNdN
今はコンテナにマウントしたWindowsのフォルダ(NTFS)に書き込みしてますが10MB/s程度しか出ないです
2020/09/20(日) 16:09:21.36ID:rnpsyE7Z
それはWindowsと共有したいからそうしてるんだろ?
ext4ドライブに移したら意味なくね?
2020/09/20(日) 19:13:27.66ID:g0YYRKTO
>>746
windows store使わないという意味ならできる
2020/09/23(水) 02:54:57.11ID:VOlk/sG0
20H2でWSL2の問題が修正
2004にもそのうち同等の修正が入ると思われる
https://blogs.windows.com/windows-insider/2020/09/22/announcing-windows-10-insider-preview-build-19042-541-20h2/
2020/09/23(水) 08:08:06.89ID:8lAzYiU7
What’s new in the Windows Subsystem for Linux - September 2020
https://devblogs.microsoft.com/commandline/whats-new-in-the-windows-subsystem-for-linux-september-2020/

GUI app support in WSL is becoming a reality!
We are getting closer to an initial preview and happy to announce a preview release for Windows Insiders within the next couple of months.

Below is an early look at an internal build running GUI apps in WSL!
You can see that WSL will support many different types of applications, including IDEs running fully in a Linux environment.
We have included lots of fit and finish details, such as showing the icons for Linux apps in the task bar and support for audio with your microphone
(and yes, that really is the Linux version of Microsoft Teams running in WSL).

https://devblogs.microsoft.com/commandline/wp-content/uploads/sites/33/2020/09/gif3.gif

Stay tuned for more details about this feature coming soon.
2020/09/25(金) 08:45:03.56ID:4iJcjo7P
$ sleep 1
がいつの間にか動くようになってた
直ったのかな?
2020/09/25(金) 09:17:06.42ID:g1/lJqj2
wsl2 scp でファイル転送するとエラーになるときがある。
wsl1 では問題なし。
もうしばらく様子見かな。
2020/09/26(土) 14:44:00.38ID:BBYb9W7W
Windows側のOpenSSH(scp.exe)をWSLで呼び出すとどうなる?
2020/09/26(土) 15:49:53.81ID:q/tlHuJQ
Windowsから起動したのと何も変わらない
2020/09/26(土) 16:09:17.52ID:BBYb9W7W
いや、どうだったんだよw
scp.exeで転送出来ないのか?
2020/09/26(土) 20:03:17.80ID:MtpX9Xqp
自分でやればいいだろ
2020/09/27(日) 20:51:47.56ID:nFYEks5J
Linux GUIアプリがWindows 10で動く日 - 阿久津良和のWindows Weekly Report
https://news.mynavi.jp/article/20200927-windows10report/
https://news.mynavi.jp/article/20200927-windows10report/images/001l.jpg
2020/09/28(月) 08:42:53.37ID:Q7CYuRHe
善きこと

まあ自分でセットアップすれば同じ事は既にできるが、
WSL側で標準的な実装を提供してくれるなら、それこそバカチョン化できる
よほど思想的にアンチMSを拗らせているようなディストリ以外は、インストーラー側でWSL環境も考慮するようになるだろう

Windowsの機能(の一部)としてLinuxを取り込めるなら、拒絶する理由は無い
2020/09/28(月) 11:29:31.27ID:IP6XMmhW
> インストーラー側でWSL環境も考慮するようになるだろう
その必要はないんだよなぁ

もともとLinuxはGUIがない環境(つまりWSLと同じ)にも対応しているし
WSLは本質的にはLinux用バイナリを起動する機能だから
必要なのはそこにファイルがあることだけ
それもchrootなどの機能で昔からLinuxは対応してる

chrootというのは指定したディレクトリ上にOSのファイルを置いて
そのディレクトリをルートディレクトリとしてバイナリを動かすこと
chrootで起動するためのディレクトリを作る機能がそのままWSLに応用できるわけよ
2020/09/28(月) 14:29:19.78ID:qnAo/JSz
WSLにインストールされる環境でいちいちchrootなんか使っていないし
WSL環境に固有の設定はインストーラ側で対応だし
何言ってんのコイツ
2020/09/28(月) 15:01:08.68ID:264CnOhH
WSLのchrootとqemu-user-staticでラズパイのエミュレーション環境を作ったけど?
ARMのバイナリをコンパイルするだけでなく、そのまま動作させることもできた。
2020/09/28(月) 17:10:31.65ID:IP6XMmhW
>>763
chrootしたことある?
どうやってchrootするためのディレクトリ作るよ?
なんかのツール使ってしかやったことなさそうだね

やり方は簡単。
/procや/devといった特殊なもの以外を特定のディレクトリにコピーする
/procや/devはバインドマウントするだけ

たったこれだけで新しい環境でバイナリが起動できるんだよ
Linuxはそういう事ができるように作られてる

WSLでやるのはこの環境を作るだけ。Linux側の対応は既に出来てるから不要
2020/09/28(月) 17:59:07.95ID:I3FenIUV
chrootおじさんはchrootで時代が止まってそう
2020/09/28(月) 19:05:32.95ID:ctv3/S1B
なんでそう思うんだ?普通にDockerも使ってるが?
Docker(コンテナ)も根底にはchrootと同等の技術が使われてる

コンテナはchrootの発展だからな。ディレクトリの分離だけでなく
リソースの分離まで行うのがコンテナ技術
2020/09/28(月) 20:06:53.55ID:0kiQYTy8
温故知新っていうやつだな
2020/09/28(月) 23:03:56.26ID:iH/pC0Zb
chrootの使い方なんか誰も聞いていない

現状のWSLでもxrdp経由でグラフィカル環境を実現することは可能だが(君には難しくて無理ということだが)、
WSL側でお仕着せの統一的な環境が容易されるようになれば、ディストリ側のインストーラーが対応することでこれまで自力では設定できなかった馬鹿な奴ら(君のことだよ)でもグラフィカル環境を扱うことができるようになるだろう
それは善い事なので、妨げるまでもない…という話に、なぜchroot?

頭おかしいだろ
2020/09/28(月) 23:12:51.74ID:iH/pC0Zb
Androidタブレットにchrootで既存のディストリ環境を導入するアプリは利用していてそれなりに便利に使ってはいるが、
それはAndroidでARMだからという環境に強いられた、消極的な理由でしか無いしなあ…
x86ならdockerでいい(dockerの方がいい)
Windowsと言わず、chromebookですらそうだ
2020/09/29(火) 01:57:12.82ID:mf0IufdG
>>769
> ディストリ側のインストーラーが対応することで
だからそんな必要がないという話

WSLはディストリ側から見れば単にファイルを置いてるだけに過ぎない
Linuxは単に実行ファイルを置くだけで動くように作られてるんだよ。
2020/09/29(火) 02:04:31.48ID:mf0IufdG
ここに仕組みが書いてあるな

https://news.mynavi.jp/article/20200927-windows10report/
> WSLGは隔離されたコンテナのように動作し、Linuxディストリビューションとはソケットによる通信を行う。

Linuxディストリビューション(のデスクトップアプリ)はソケット通信するだけ
だからディストリ側のインストーラーがやることなんてなにもない

WSLG、これはMSが用意するWSL上で動くコンテナ。
ディストリで提供されるデスクトップ用実行ファイルは
ソケット通信でこの用意済みのWSLGコンテナと通信するだけ
2020/09/29(火) 02:06:36.10ID:mf0IufdG
>>769
お前Linuxでデスクトップ表示する仕組みを知らんだろ?
その仕組に則ればディストリ側は何もすることがないんだよ

WSL側でお仕着せの統一的なデスクトップを表示するための環境が用意してあって
そこにソケット通信するだけだから
2020/09/29(火) 02:11:39.41ID:kc+dqC3E
そのWSLGはいつ出るんだろうな
2020/09/29(火) 02:24:24.64ID:iQB8/dA8
そのソケット通信をディストリ側が実装なりなんなりしないとあかんのちゃいますん?
2020/09/29(火) 02:26:46.49ID:mf0IufdG
>>774
5月に発表があった時、年内に進捗を報告する見通しって言ってたじゃん。まだまだよ。
https://www.publickey1.jp/blog/20/wsl_2linuxguimicrosoft_build_2020.html

と言ってもWSLも発表されて数年で実装されたし
WSL2も発表されて数年で実装されたし、
今までの実績からいって何年もかかるってことはないだろ
それぐらいMSの開発スピードは速い
2020/09/29(火) 02:28:00.29ID:mf0IufdG
>>775
それは既にアプリに実装済みで、その仕組を使ってLinuxのデスクトップは表示されてる。
ソケット通信の先をMSが作るだけ
2020/09/29(火) 03:58:08.30ID:2BIZPgFi
>>771
実行ファイルに通信先のソケットのポートやプロトコルを教えてやる設定はどこに置いて、その設定は結局誰が書くんです?

トンチンカンな問答を吹っ掛けられても、読まされるこっちが頭おかしくなりそうなのでアンカー飛ばして来ないでもらえますかね、キチガイ。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況