【Bash】Windows Subsystem for Linux【WSL】9
【Bash】Windows Subsystem for Linux【WSL】9
元スレ
1 :login:Penguin:2020/12/10(木) 17:44:21.97 ID:o6AATirQ.net
ついに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】8
https://mao.5ch.net/test/read.cgi/linux/1590742701/
200 :login:Penguin:2020/12/26(土) 23:48:29.86 ID:ermSb0BU.net
んだんだ、WSLが急に出てきたとか思ってるニワカだし、スルーでいいかとw
112 :login:Penguin:2020/12/25(金) 13:42:44.75 ID:nhnBhNUy.net
547 :login:Penguin:2021/01/04(月) 17:31:01.19 ID:CNWU9REp.net
> 例えばインプットメソッドやdbusもサービスの一つです。
Windowsでは日本語はIMEが機能を提供してますよw
151 :login:Penguin:2020/12/25(金) 19:53:58.26 ID:yRN9t5sm.net
僕が考える「馬鹿なマイクロソフト」は間違ったことを考えているはず(僕の想像)
その間違った考え(僕の想像)を指摘する俺は天才!
とかいいそうなんだよなw
350 :login:Penguin:2021/01/01(金) 22:14:30.82 ID:wE9JiCTI.net
普段はwsl.exeを起動して
(当然コマンドプロンプトが前面に表示される)
使ってる。
今か仮にwsl.exeを実行して表示されるコマンドプロンプトを「WSLウィンドウ」と呼ぶ。
それで,「OS起動後1回目にWSLウィンドウが立ち上がるまでの時間」
と「そのWSLウィンドウを閉じたあと少し時間を置いてWSLが立ち上がるまでの時間」
とにあきらかに差がある。
Microsoftの文書にそういう記述を見つけ出すことはできなかったんだけど,
おそらく一回立ち上げるとWSLウィンドウを閉じたあとも
背景でWSLにまつわる何かしらのプロセスが生きているんじゃないかと推測している。
その「背景で動くWSLにまつわる何かしらのプロセス(非GUI)」を
OS起動と同時に立ち上げられたら,
WSLウィンドウの表示が速くなるんじゃないかと期待してる訳。
分かりずらくてほんとすいません……。
295 :login:Penguin:2020/12/29(火) 14:10:19.15 ID:t8F+Mjwc.net
ん?クライアントサーバ逆になってる上にWSL側にもクライアント入るけど大丈夫か?
こいつはWSLとWindows側両方にDockerサーバー入れて設定ファイルを別々に管理するのが気持ち悪いだとか言ってるけど、サーバーはWSL側にしか入らないし、設定ファイルをまとめて管理したい意図が全然理解できなかったわ
449 :login:Penguin:2021/01/03(日) 17:16:49.70 ID:Yb2JKXR6.net
そうそう。WSLの中でUbuntuとFedoraとOpenSUSEのように
インスタンスが違うからホームが別れているんだよ
594 :login:Penguin:2021/01/05(火) 19:35:11.01 ID:kBQynpkq.net
面白みとかを重視してるのはお前だけ
WSL1とWSL2の並行開発で
両方ともより実用的になっていっている
81 :login:Penguin:2020/12/24(木) 14:18:27.17 ID:sqZ4JTDr.net
Linuxデスクトップでいいよね
なんでわざわざWindows
190 :login:Penguin:2020/12/26(土) 17:56:31.46 ID:ermSb0BU.net
マジで基地外は歴史も知らんのかよw
最初は今で言うWSL1しかなかったからWSLと言っててWSL2が出てきたのでWSLをWSL1 と言うようになった
なので今でも単にWSLと書けばWSL1とWSL2の両方に共通的な話か個別の話ならWSL1を意図していると解釈するのが普通
反論したいならまともな根拠示せ
601 :login:Penguin:2021/01/06(水) 02:24:14.39 ID:CuzF/s9T.net
だからWSL1でのやり方を調べろ
localhost:2375のオンにするだけじゃなくて、そこに接続しに行かないと駄目
そもそも初期のDocker for WindowsはWSL登場前に作られたもので
WSL2はおろかWSL1にも対応しとらん
コマンドプロンプトまたはPowerShellから使うもの使うDockerも docker.exe だ
Windows上で動いてるDockerサーバーにdocker.exeではない
Linux版から接続するならTCPポート経由しかない
そこにWSL2対応版のDocker for Windowsが登場して
WSL2からの接続は何もしなくてよくなった
しかしWSL1からの接続はそのような便利な仕組みは用意されてない
だから今まで通りのやり方でやればいいだけ
477 :login:Penguin:2021/01/03(日) 17:45:08.12 ID:0Wk6ZO3O.net
それにしても先日WSLがターミナルだなどと言う嘘をついたやつ一体なんだったんだろうな?
嫌がらせのつもりで嘘言ったのか、マジで知らなくて勘違いしてたのか?
22 :login:Penguin:2020/12/22(火) 22:14:36.78 ID:/HDWOBUs.net
284 :login:Penguin:2020/12/29(火) 13:26:32.79 ID:vj+7dSvO.net
たとえばdockerの設定とかだなー
winとlinuxでインストール方法、ファイルの置き場から中身まで構造が違うから個別に用意しなきゃならん
271 :login:Penguin:2020/12/29(火) 13:14:00.09 ID:vj+7dSvO.net
WSLから見てWindowsは常に存在してるが逆は成り立たない
なのでWindowsからWSLにリンク貼るなどWSLに依存する構造はよろしくない
586 :login:Penguin:2021/01/05(火) 15:13:30.36 ID:ay6LGQLY.net
Linux開発で使えると聞いてdockerのオフィシャルイメージを動かしたらカーネル互換性なくてクラッシュ
みたいなことがあってからWSLは信用してない
159 :login:Penguin:2020/12/26(土) 07:36:29.83 ID:LxVRcXsN.net
WSLディスリ野郎はグロ針化したLinuxマンセーと同じパターン。
つまり、志賀w
ちゃんとWindowsとWSLとCygwin使ってたら「Cygwin以下」なんて嘘は言えないw
285 :login:Penguin:2020/12/29(火) 13:27:23.98 ID:k0Mc3I9O.net
dockerの設定って何?
具体例をいえといったのに
なぜ何も言わない
113 :login:Penguin:2020/12/25(金) 13:43:20.08 ID:7ewmohhL.net
> MacでiTermをVMとして使いたい話はしてない
俺がしてる
246 :login:Penguin:2020/12/28(月) 23:24:42.70 ID:GkfAw+V7.net
大前提としてLinuxでは別の問題があって解決できないから
WSLを使うんだよ
416 :login:Penguin:2021/01/03(日) 07:26:21.89 ID:Yb2JKXR6.net
> あと、WSLから起動したwindowsバイナリがWSLのメモリを食い潰して、
WSLのメモリってなに?
WindowsバイナリがLinux環境で動くわけないんだけど
573 :login:Penguin:2021/01/05(火) 11:43:31.96 ID:a6MKPo5T.net
89 :login:Penguin:2020/12/24(木) 21:27:01.58 ID:ET44Qnlg.net
正直virtualbox virtualpcで仮想環境つくるほうがいい
一般人にはメリットないわ
372 :login:Penguin:2021/01/02(土) 18:19:00.59 ID:Dc68zw+S.net
Windows初心者っぽいけど、いったい何がしたいんだ?
25 :login:Penguin:2020/12/22(火) 22:17:14.21 ID:5BrIzTyC.net
> マウントしろ
だから、お前がLinuxデスクトップでbashを使う時にでDockerにマウントしろ
俺はそんな面倒なことはしない
> Windowsの流儀でやるならWSLも要らんだろ
だからWindowsの流儀で劣っていたCUI環境を
大幅に改善させたのがWSLだっていってんだろ
> PowerShell使えば?
それも使えるし、なんでも使えるw
540 :login:Penguin:2021/01/04(月) 17:14:32.54 ID:adRkdK/i.net
だから、 SSH と使い勝手が変わらない。
特に WSL である理由がない。
312 :login:Penguin:2020/12/29(火) 20:08:19.66 ID:Y3DWIIPO.net
アンチWSLはメンタルが↑キーとエンターキー交互に叩いて「俺Linux使ってるスゲー!」レベルだったりしてw
146 :login:Penguin:2020/12/25(金) 15:44:50.76 ID:7ewmohhL.net
> WSLにはVMとしての役割が求められているということだ
ああ、違うよ。より良いカーネルの互換性を実現するためだよw
> Gitバンドルのbashなりなんなりもっと手頃な手段がある
それらは、Ubuntuのパッケージをそのまま使えたりしない
MSはLinuxディストリビューターがやってる大変な
パッケージのメンテナンスをしたくないんだよ
179 :login:Penguin:2020/12/26(土) 13:43:36.16 ID:c03Kht39.net
WSLをディスりたいだけかよw
人間として最低だなww
90 :login:Penguin:2020/12/24(木) 23:34:00.78 ID:AxWXmEw0.net
今時VirtualPCなんか使ってる奴いるのか?
知識が15年か20年くらい昔のまま止まってねーか?
95 :login:Penguin:2020/12/25(金) 00:32:11.29 ID:9xL6gMdZ.net
Windowsにおける苦痛な点がないというのは立派な利点でしょ
482 :login:Penguin:2021/01/03(日) 17:51:54.31 ID:Yb2JKXR6.net
一言でいおう?
WSLは内部で仮想マシン技術を使って作られた、Windowsに搭載されている素晴らしい技術だ
606 :login:Penguin:2021/01/06(水) 11:05:34.21 ID:K63oZeN2.net
問題になるのはボリュームのパスなんだよね
WSLからWindowsのパスにwslpathで変換すればいいから
dockerコマンドの方はどうにかなるとして
docker-composeの方がわからん
個人的にボリュームはなるべく使わないようにしてるから
WSLからdocker.exeを実行した場合のノウハウがない
485 :login:Penguin:2021/01/03(日) 17:54:50.67 ID:0Wk6ZO3O.net
君はもういいや
WSLターミナルおじさん、嘘ついた件について謝罪するなら聞くぞ?
514 :login:Penguin:2021/01/04(月) 12:44:33.02 ID:24c8BlHo.net
コンソール(操作卓) – システム直結の(システムと同じ「建物」にある)どでかい机
ターミナル(端末) – システムとリモートで接続する小さなクライアント装置
共に太古のシステムにおける構成要素であって、(厳密に言うと)現代のシステムでは存在しない
ターミナルエミュレータは文字通り(在りし日の)ターミナルの挙動をエミュレーションするソフトウェア
2 :login:Penguin:2020/12/10(木) 19:31:40.03 ID:TB58pINX.net
WSLからWindowsのファイルシステムにアクセスするのは遅いな
WSL1も遅かったがWSL2はもっと遅くなってる
find -L(シンボリックリンクの解決)を使うとfindよりも極端に遅くなる
Windowsのファイルシステムにアクセスしない場合はWSL2は十分速いんだが
430 :login:Penguin:2021/01/03(日) 15:23:59.93 ID:Mm9OIsfc.net
あー、ちがうそうじゃない
UNCじゃなくてホームフォルダとか特殊フォルダのことね
WSLでホームに出力って処理したのにWindowsのホームに出力されたら糞でしょ
14 :login:Penguin:2020/12/22(火) 21:22:12.64 ID:/HDWOBUs.net
>Linuxアプリを動かせるようにするものだって
だからそう言ってんじゃん
Linuxアプリ動かすだけならDockerで十分だろ
Dockerはアプリケーションコンテナなんだからよ
>Linuxを使う時、お前はホームディレクトリに何も置かないのか?
>Linuxを使う時、GUIデスクトップ+Dockerの中だけで作業してるのか
ホームディレクトリにファイルは置いてるがべつにホームにこだわる必要はない
必要なファイルは作業用のコンテナにマウントすればいいだけだからな
Dockerでできる作業は全部Dockerだよ
これはLinuxでもWindowsでも同じ
んでWSL2でやるような作業って全部そういうDockerだけでできる作業なんだよな
Dockerにできないあるいは難しい仕事をやろうと思ったらsystemdなどを動かしてアプリケーションではなくシステムを切り出すしかない
397 :login:Penguin:2021/01/02(土) 21:53:44.64 ID:9VBoTzCe.net
> シンプルで良い
LinuxのGUIの何がいいの?って何度も聞くんだが
答えが出たことってないんだよなw
258 :login:Penguin:2020/12/29(火) 12:07:43.66 ID:k0Mc3I9O.net
もし知らなかったら可哀想なので説明してあげると
シンボリックリンクというのは別の場所にあるファイルやディレクトリに対して
自由なパスでアクセスできるLinuxの機能だよ
コマンド一つで例えばLinuxのホームディレクトリの下に
Windowsのディレクトリを持ってこれる
これでホームの位置の構造の問題は直ぐに解決できる
便利だから覚えておいたほうがいいぞ!Linuxの基本だがなw
327 :login:Penguin:2020/12/30(水) 22:28:40.18 ID:nRZrvQqz.net
299 :login:Penguin:2020/12/29(火) 14:48:44.21 ID:vj+7dSvO.net
235 :login:Penguin:2020/12/28(月) 20:25:55.97 ID:orKENejG.net
接続先サーバーがクラウドだったら、クラウドサービスのログビューワー使うだろうし
オンプレとかならリモートのLinuxにログインして見るから関係ない
100MBのログ100本をクライアントのWSLにダウンロードして見るわけないし
と考えると100MBのログが100本あるような場合ってどんな場合だよ?となる
3倍かかって使えないなら、1/3の時間なら使えるわけだ
さてみんなのログサイズはどれくらい?w
549 :login:Penguin:2021/01/04(月) 17:33:52.39 ID:adRkdK/i.net
582 :login:Penguin:2021/01/05(火) 13:46:54.16 ID:kBQynpkq.net
RedHat Linux専用コマンド呼び出してるshellコマンドはRedHat Linuxで動くが他のLinuxで動かない
だからRedHat Linuxを使うなって話か?w
131 :login:Penguin:2020/12/25(金) 14:56:49.29 ID:7ewmohhL.net
> しかしフル仮想化と比べると機能が足りない
それこそが、WSLがVMとして使えない証拠
お前がWSLをVMとして使えない理由を言ってる
406 :login:Penguin:2021/01/03(日) 02:29:16.62 ID:7sYc6NWK.net
73 :login:Penguin:2020/12/23(水) 22:35:50.28 ID:5VLiTBhv.net
380 :login:Penguin:2021/01/02(土) 19:56:07.95 ID:7uTx+jC2.net
BOWはCYGWINと違ってBSD実行ファイルをちゃんと動かせるシミュレーターみたいなものだよ
47 :login:Penguin:2020/12/22(火) 22:53:18.74 ID:/HDWOBUs.net
手始めにWSL2ターミナルからコマンドレット直接呼び出してみて
Windows操作はPowerShellコマンドレットが最も充実している
これができないんじゃ力の大半を奪われたも同然
レスを投稿する(名前省略可)