探検


【Bash】Windows Subsystem for Linux【WSL】9

■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
垢版 |
2020/12/10(木) 17:44:21.97ID:o6AATirQ
ついに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/
482login:Penguin
垢版 |
2021/01/03(日) 17:51:54.31ID:Yb2JKXR6
>>481
一言でいおう?

WSLは内部で仮想マシン技術を使って作られた、Windowsに搭載されている素晴らしい技術だ
2021/01/03(日) 17:52:17.99ID:0Wk6ZO3O
嘘つきの嘘を証明できてよかった
仕事始めの前にスッキリ
484login:Penguin
垢版 |
2021/01/03(日) 17:53:02.54ID:Yb2JKXR6
あ、逃亡ための捨て台詞だw
2021/01/03(日) 17:54:50.67ID:0Wk6ZO3O
>>484
君はもういいや



WSLターミナルおじさん、嘘ついた件について謝罪するなら聞くぞ?
486login:Penguin
垢版 |
2021/01/03(日) 17:55:29.10ID:Yb2JKXR6
お?今度は俺がターミナルと言ったことにしようとしてる
脳内妄想だけでいきてんなこいつーw
2021/01/03(日) 17:57:03.28ID:0Wk6ZO3O
>>486
いやいや君はもういいよ
俺はWSLターミナルおじさんによびかけてんの
なんで君が反応するんだ?
488login:Penguin
垢版 |
2021/01/03(日) 17:58:01.27ID:Yb2JKXR6
ああ、議論に負けたから、いないとわかってるターミナルおじさんに話しかけて
レスがない、俺勝った!って思いこみたいわけかw
2021/01/03(日) 17:59:30.52ID:EpU91Lvh
今の若者はteratermとか知らんのかな。それがターミナル(エミュレータ)なんだが。
2021/01/03(日) 17:59:49.40ID:0Wk6ZO3O
>>488
めんどくせえな
君との勝ち負けはどうでもいいよ
俺はWSLターミナルおじさんを待ってるんだけど?
2021/01/03(日) 18:03:31.76ID:ewG3szBC
下手に既存のものに例えるからバカが混乱するんだよ
WSLはあくまでサブシステムで…詳しくは公式を読め でいいじゃないかw
492login:Penguin
垢版 |
2021/01/03(日) 18:03:37.55ID:Yb2JKXR6
>>490
お前がそのWSLターミナルおじさんを待ってるのと同じように
俺はお前が「WSLはただの仮想マシンじゃない」に反論してくれるのを待ってるんだが
お前はそこにいるのに、反論しないんだなw
2021/01/03(日) 18:06:21.62ID:0Wk6ZO3O
>>491
WSLターミナルおじさんのレスは「例え」じゃなくてターミナルそのものって考えかたをしていたように読めるなぁ
WSLは何かに例えるまでもなく「ただの仮想マシン」って説明が最も適切なのにねぇ
2021/01/03(日) 18:07:53.16ID:0Wk6ZO3O
>>492
寂しいから構ってほしいのか?
WSLターミナルおじさんの件が片付いたら相手してやるからまあ待ってな
495login:Penguin
垢版 |
2021/01/03(日) 18:07:59.23ID:Yb2JKXR6
「読めるなぁ」=>>493の思い込み

元のレス見たら、そんなこと言ってないのがわかるかもw
どれを見ていってるんだろう

ま、いわないだろうねw
また逃亡
496login:Penguin
垢版 |
2021/01/03(日) 18:08:38.62ID:Yb2JKXR6
>>493
ただの仮想マシンにWindowsのexe実行機能なんてないですよw
497login:Penguin
垢版 |
2021/01/03(日) 18:09:31.09ID:Yb2JKXR6
>>494
それはつまり、WSLターミナルおじさんが来ないから反論してないだけで
反論できないわけじゃないもん!といういいわけかね?
2021/01/03(日) 18:10:35.04ID:0Wk6ZO3O
>>101
>WSL=LinuxやMacのターミナル相当にもそんな機能はないぞw

WSLはターミナルだってよwww
499login:Penguin
垢版 |
2021/01/03(日) 18:12:00.07ID:Yb2JKXR6
「ターミナル相当」なら「ターミナル」じゃないのは当たり前では?

え?まさか、そういう話?w
2021/01/03(日) 18:15:17.38ID:0Wk6ZO3O
WSLターミナルおじさん来ねえな
2021/01/03(日) 18:37:31.53ID:7LLRfs6s
伸びすぎてよくわからんので、各人で主張をまとめてもらえる?
502login:Penguin
垢版 |
2021/01/03(日) 19:17:10.39ID:Bv5a5r0s
細かいことを気にしないで自分の使いたいように使ってる俺がサイツヨ!
って事さ。
ターミナルうんぬん拘ってるのは木を見て森を見れないバカ。
2021/01/03(日) 20:45:41.32ID:8cRbPPCF
ターミナルとしてしか使ってないって意味では
2021/01/03(日) 23:14:08.78ID:8cRbPPCF
せっかく一台分仮想環境用意したのにターミナルとしてしか使ってない
2021/01/04(月) 10:00:56.93ID:C4G02P9R
ターミナル(端末)ってこういうのだからね。
https://ja.m.wikipedia.org/wiki/VT100
これをソフトで実現したのがターミナルエミュレータ。ANSIエスケープシーケンスが実装されているからVimやEmacsが動くんだよ。
2021/01/04(月) 10:04:08.64ID:C4G02P9R
こっちの方の説明の方がわかりやすいかな。
https://ja.wikipedia.org/wiki/%E7%AB%AF%E6%9C%AB
2021/01/04(月) 10:07:47.00ID:C4G02P9R
WSLを起動したときに立ち上がる黒い画面はコンソールといったほうが適切なような気がするが。
2021/01/04(月) 10:24:09.28ID:YQzDjcbj
>>505
恥ずかしいからもう諦めろ
みんなターミナルエミュレーターのことを略してターミナルって言ってんだよ

Macに入ってる「ターミナル」ってアプリの事は知ってるか?
https://webkaru.net/dev/mac-terminal-app-alias/

Windows Terminalの事は知ってるか?
ついに完成「Windows Terminal」の機能と使い方まとめ
https://www.atmarkit.co.jp/ait/articles/2005/28/news018.html

TeraTermのタームは何の略か知ってるか?
2021/01/04(月) 10:26:20.33ID:C4G02P9R
>>508
オレに言うな。
2021/01/04(月) 11:35:34.66ID:QywSoxtQ
この「ターミナル」もそうだけど
各自用語の意味を違った解釈して
バトってるように見えるな
あと「仮想マシン」ってのも
どの仮想レイヤで言ってるのか
2021/01/04(月) 11:48:49.66ID:C4G02P9R
>>507
コンソールの実体はconhost.exeか。コマンド実行するとコマンドプロンプト起動するけどbashを引数に付けるとWSLが開く。
2021/01/04(月) 11:55:46.56ID:CNWU9REp
>>510
「仮想マシン」が人それぞれで違ってるわけじゃないね

「ただの仮想マシン」としか認識してない人と
「仮想マシンを使い、Windowsとのファイル共有、exeの実行、Windowsコマンドとのパイプライン処理での
UTF-8⇔UTF-16変換機能、1つの仮想マシンで複数のディストリに対応等様々な機能が搭載されてる」と
正しく認識している人がいるだけのこと

無知だから追加機能を何も知らない。そういう人がただの仮想マシンと言ってる
2021/01/04(月) 12:43:17.99ID:m4ijfLgX
>>512
ただの仮想マシンにちょっと機能を追加しただけだからただの仮想マシンだよ
ただの仮想マシンに適当なツールを入れただけ
それはただの仮想マシンだ
2021/01/04(月) 12:44:33.02ID:24c8BlHo
コンソール(操作卓) - システム直結の(システムと同じ「建物」にある)どでかい机
ターミナル(端末) - システムとリモートで接続する小さなクライアント装置

共に太古のシステムにおける構成要素であって、(厳密に言うと)現代のシステムでは存在しない

ターミナルエミュレータは文字通り(在りし日の)ターミナルの挙動をエミュレーションするソフトウェア
2021/01/04(月) 12:46:04.36ID:m4ijfLgX
VirtualBoxやVMWareもそうだ
ただの仮想マシンだけどツールを入れればホストと相互作用できる
でもそれはただの仮想マシンだ
WSLも同じようにただの仮想マシンにちょっとツールを入れただけ
2021/01/04(月) 12:56:26.49ID:FnIRCT6r
ubuntu.exe(ディストリビューション名'Ubuntu'をインストール時のユーザーで起動・ログインしてホームディレクトリに移動する、wsl.exeとは違う起動方法)を、別ディストリビューション名でもやる方法ない?
理由あってデフォのUbuntuディストリビューションをexport/別名importしてそれぞれ別の道を歩ませることにしたんだけど
2021/01/04(月) 12:57:18.38ID:FnIRCT6r
理由というのはWSL1と2の共存
518login:Penguin
垢版 |
2021/01/04(月) 13:00:33.76ID:RwAsp17K
Linuxには何種類かあるけど、インストールするとしたら
どれが良いの?Ubuntu?
2021/01/04(月) 13:02:19.11ID:jwt1trlL
要件にあったものを
特に無いなら何でもいい
2021/01/04(月) 13:03:22.52ID:CNWU9REp
>>515
> WSLも同じようにただの仮想マシンにちょっとツールを入れただけ

その今までに存在していない画期的な「ちょっとツール」がWSLなんですよ
2021/01/04(月) 13:03:54.29ID:2aeYiVq0
じゃあredhatで
2021/01/04(月) 13:04:34.86ID:2aeYiVq0
>>520
仮想マシンと相互作用するツールはWSL以前からあったが?
2021/01/04(月) 13:08:26.25ID:3682Fdir
>>517
wsl.exeで好きな様に起動できるが
2021/01/04(月) 13:09:04.51ID:CNWU9REp
>>522
仮想マシンの中からexeを実行するツールはどこにあるの?
2021/01/04(月) 13:15:13.81ID:2aeYiVq0
>>524
SSH
2021/01/04(月) 13:24:46.69ID:CNWU9REp
>>525
まったく違いますね。
2021/01/04(月) 13:29:07.73ID:8KNnKbUt
>>526
基本的には同じだよ
仮想マシンの中から外のexeを実行できる
2021/01/04(月) 13:32:51.93ID:FnIRCT6r
>>523
うおーwsl.exeの第一引数にチルダ渡せるようには公式ドキュメントは読めなかったぜありがとう
2021/01/04(月) 13:50:21.75ID:CNWU9REp
>>527
基本的に同じということは、違うと言ってるのと同じですねw
530login:Penguin
垢版 |
2021/01/04(月) 14:25:27.71ID:LtK9+p2R
基本的には同じだし応用的にも同じだ。
だが実践的には違う。
2021/01/04(月) 14:54:09.47ID:8KNnKbUt
>>529
「仮想マシンから外のexe実行できる」のは同じだよ
要件満たしてもバイナリまで一致しないと違うって言い張るタイプ?
2021/01/04(月) 16:01:07.71ID:CNWU9REp
>>531
嘘ついたらいけないね
SSHを使わないといけないんだから
それともWSLはSSHというすごいものを内包してるとでも言う気かな?w
533login:Penguin
垢版 |
2021/01/04(月) 16:57:19.43ID:adRkdK/i
SSH経由でやっていたことをWSLでやるだけで、特に変わりないと思うが。
2021/01/04(月) 17:03:57.43ID:CNWU9REp
え?仮想マシンからSSH経由でWindowsに接続して
コマンド実行してるの?SSHサーバーは?認証はどうやってんの?
ものすごい面倒なことを、WSLは見事解決したって話をしてるの?
535login:Penguin
垢版 |
2021/01/04(月) 17:04:01.71ID:adRkdK/i
WSL コマンド経由で Linux 上のコマンドを実行する場合、Linux 側のカレント・ディレクトリを Windows 側と合わせてくれる。
(WSLコマンド には Linux 側で継続するシェルが無いので)これは便利なんだけど、作成したファイルの所有者が Windows 側と一致しない。
当然と言えば当然の動作だけど、 SSH と差別化を図るなら、所有者を Windows 側とあわせてほしい。
現状では、 SSH と特に変わりがない。
536login:Penguin
垢版 |
2021/01/04(月) 17:09:25.47ID:adRkdK/i
WSL2 を作った時点で、風呂敷を広げすぎた気がするな。
WSL1 で十分だったような気がする。
ウェブ開発者を取り込みたい意図は理解するけど、ウェブ開発環境そのものを Windows に取り込むべきだったのでは?
そういう戦略の場合、WSL1 で頑張るほうが良かったと思う。
537login:Penguin
垢版 |
2021/01/04(月) 17:11:38.86ID:adRkdK/i
風呂敷を広げすぎると、 WSL は失敗すると思う。
WSL によって Linux ユーザーが増える。
そして何が起きるか?
Windows から Linux への移行が起きるかもしれない。
そこまで考慮すると、 WSL2 は戦略的に失敗してる。
2021/01/04(月) 17:12:17.83ID:CNWU9REp
>>535
頭が悪いことを言わないほうが良い
WSL側からrootをとって、Windows側の別ユーザーのデータを
アクセスできるようにしたいとか
頭が悪すぎて、もう一言「馬鹿?」としか言えないレベル
2021/01/04(月) 17:14:24.94ID:CNWU9REp
WSLのすごいところは、WSLでrootを持っているように見えて
Windowsからすれば1ユーザーとして隔離されてる所
WSLでなにをやってもほかユーザーには全く影響しない
セキュリティについてよく考えられてるわ
540login:Penguin
垢版 |
2021/01/04(月) 17:14:32.54ID:adRkdK/i
>>538
だから、 SSH と使い勝手が変わらない。
特に WSL である理由がない。
2021/01/04(月) 17:15:26.95ID:CNWU9REp
>>540
SSHは使い勝手が悪いという話だろ
セキュリティについてちゃんと考えろ
WSLはほかユーザーとちゃんと分離されてる
542login:Penguin
垢版 |
2021/01/04(月) 17:18:05.75ID:adRkdK/i
>>541
それもしかして俺のツイートをコピーしてる?
俺はそういう意味でツイートしたんじゃないんだが。
543login:Penguin
垢版 |
2021/01/04(月) 17:20:43.60ID:adRkdK/i
WSL コマンド経由で Linux コマンドを呼び出すと、ファイルの所有権が Windows 側と一致しない。
これでは結局手間が同じ。
544login:Penguin
垢版 |
2021/01/04(月) 17:24:32.96ID:adRkdK/i
ではどうするかというと、 Linux 側で作業しましょうとなる。
WSL1 にはサービス実行の問題があって、例えばインプットメソッドやdbusもサービスの一つです。
そんなこんなで、WSL2 が出てくるわけですが。
あれ?バーチャルマシンで良かったのでは??ってなる。
Microsoft の悪い癖が出てると思います。
2021/01/04(月) 17:30:08.77ID:CNWU9REp
> WSL コマンド経由で Linux コマンドを呼び出すと、ファイルの所有権が Windows 側と一致しない。
一致できるわけ無いだろ
Windowsは日本語ユーザー名ですら作れるのに
ホントアホすぎるw
546login:Penguin
垢版 |
2021/01/04(月) 17:30:52.27ID:adRkdK/i
>>545
だから、 SSH と使い勝手が変わらない。
特に WSL である理由がない。
2021/01/04(月) 17:31:01.19ID:CNWU9REp
> 例えばインプットメソッドやdbusもサービスの一つです。
Windowsでは日本語はIMEが機能を提供してますよw
2021/01/04(月) 17:31:34.96ID:CNWU9REp
>>546
SSHはいちいちログインが必要で
ユーザがどうとかいうめんどくさい話がでてくる
WSLはそれを解決してる
549login:Penguin
垢版 |
2021/01/04(月) 17:33:52.39ID:adRkdK/i
>>547
https://imgur.com/a/VH9UP2d

たとえば、こういう場合ですね。
550login:Penguin
垢版 |
2021/01/04(月) 17:36:38.00ID:adRkdK/i
わたくし WSL を普段使いしてますから。
問題点はよーく存じ上げておりますよw
2021/01/04(月) 18:03:39.02ID:2aeYiVq0
>>536
というか単に高速起動するLinux仮想マシンってポジションでよかったんだよね
Windows相互運用は完全にオマケの不要な機能
552login:Penguin
垢版 |
2021/01/04(月) 18:08:18.54ID:LtK9+p2R
WSL2を必要としてる層がどれだけいるか?
2021/01/04(月) 18:09:56.32ID:2aeYiVq0
>>548
VagrantのようにSSH初期化プロセスも組み込めばいい
ただの仮想マシン+SSH
これが我々たち開発者にとって最も馴染みのある構成だろう
無理にWindowsと密結合しようとして色々とおかしくなってる
2021/01/04(月) 18:27:32.45ID:0qYd4zqa
wslからwindowsのexeを実行するのは
windowsからパス変数を受け取ってexeならwindowsに
流すすごくない技術
windowsからリナックスのバイナリを実行するのは
バイナリに書いてあるwindowsかlinuxかの識別情報で
仕分けるすごくない技術
/mnt/c/に自動マウントするのは
簡単にできるけどvirtualboxとかはわざわざそんなことしない
リアルな仮想マシンを用意したいから
本物のlinuxにそんな機能はない
555login:Penguin
垢版 |
2021/01/04(月) 18:37:59.49ID:adRkdK/i
答え: SSH で十分。
556login:Penguin
垢版 |
2021/01/04(月) 18:39:02.63ID:adRkdK/i
まあでも、GNU をちょっと使いたいとき、便利だけどな。
その程度でやめておけばいいのに、なぜかがっつり行こうとして失敗するよな。
2021/01/04(月) 18:39:43.09ID:X1JN6vxT
WSL2は中途半端すぎて何がしたいんだって感じ
2021/01/04(月) 18:42:58.78ID:X1JN6vxT
余計なことされると開発環境としての価値も下がるんだよね
"WSL2では動いてたのに!"現象に嵌りそう
2021/01/04(月) 19:16:04.71ID:kR6PLI7M
WSL2で時計が狂う件、みなさんはどう対処していますか?
2021/01/04(月) 19:20:08.60ID:PZVLatbw
時計が狂ってもいいツールを使えばいいよ
2021/01/04(月) 22:35:51.10ID:CNWU9REp
>>551
> Windows相互運用は完全にオマケの不要な機能

それがお前の本音だろ?
そっちの方が重要な機能なのにWSLを認めたくないから
わざわざそうつぶやいちゃうw
562login:Penguin
垢版 |
2021/01/04(月) 22:58:01.57ID:adRkdK/i
逝ってよし!
2021/01/04(月) 23:32:32.02ID:CNWU9REp
そもそもソフトウェアっていうのは今までも(大変な思いをして)やってきたことを
効率化するために有るわけで、頑張れば出来る!は何の反論にもなってないんだよ

WSLによってそれが実現できて、さらにOSの機能として標準化されたから
WSLの機能を前提として便利なものを簡単に作れるようにもなってる。Docker for WSL2等の話な

便利じゃない!こうやれば出来る!って言えば言うほど
その部分をなにもやらなくても出来るようになったんだと明確化されるだけw
564login:Penguin
垢版 |
2021/01/04(月) 23:57:46.48ID:adRkdK/i
言うほど大したもんじゃないだろ。
2021/01/05(火) 00:25:09.79ID:GfG+VMyj
>>564
じゃあWSLと同等のものを作るための手順書いてみてよ
えーと、まずWindows側にSSHサーバー入れて
他ユーザーに影響を与えないように証明書なしに接続するようにするんだっけ?w
完全に動く形でお願いね
2021/01/05(火) 02:08:42.96ID:zsihhY0V
cygwin
MinGW
busybox for windows
ライバル
wslはもとがbash on windows
wsl2になってもvirutual pcのほうが使いやすい
2021/01/05(火) 02:56:56.18ID:GfG+VMyj
× wsl2になってもvirutual pcのほうが使いやすい
○ wsl2になってもvirutual pcにあれやこれを入れて設定しまくって
世間では同じ設定はないからオレオレの環境でしかないけど頑張れば使いやすく出来る
ファイル共有時の実行権限のパーミッションをどうするかsamaの設定に苦労したなぁ(遠い目)

だろ?w
568login:Penguin
垢版 |
2021/01/05(火) 08:56:03.60ID:6lDRu/kF
WSL便利すぎて1とか2とか些細なことでわめく奴のバカさ加減を高見の見物w
2021/01/05(火) 09:30:58.63ID:E8xHAiM3
そもそもWindows相互作用はない方が使いやすい
570login:Penguin
垢版 |
2021/01/05(火) 09:52:57.92ID:JIi9CHoH
WSL2はGPUがnativeに使用できる様になってからが本番だろ。現状は過渡期。
2021/01/05(火) 10:56:04.18ID:kBQynpkq
>>569
ならWSLでいいだろwww
2021/01/05(火) 10:56:46.03ID:kBQynpkq
>>570
GPUをネイティブに使ってる人ってどれだけいるんですかねw
2021/01/05(火) 11:43:31.96ID:a6MKPo5T
>>571
仮想マシンでいい
2021/01/05(火) 12:18:26.27ID:oGdD/j0j
WSL環境でゲームする馬鹿は居ないと思うけど機械学習なんかでGPL使えたらまたWindowsに便利な道具が増えてしまって、いつもの彼がより一層の情緒不安定に
575login:Penguin
垢版 |
2021/01/05(火) 12:21:58.09ID:iFD/RNhV
Linux実機用意しなくてもいいもんなぁ。
良いことだ。
2021/01/05(火) 12:33:13.27ID:kBQynpkq
>>573
仮想マシンだとWindowsとの相互利用をするために
大変な思いをして自力実装しなければいけない
しかもそれは他人と共有できてないから汎用性がなく
WSL前提のツールみたいなものが登場しない
2021/01/05(火) 12:46:44.97ID:a6MKPo5T
>>576
相互作用してほしくないんだよ
WSLが勝手にWindowsと相互作用するから、せっかくのLinux開発環境なのにWSLおま環現象が発生するかもしれんだろ
2021/01/05(火) 12:59:58.34ID:kBQynpkq
>>577
つまり「Linuxを使うとおま環でインターネットができないかもしれないからWindowsを使う」みたいな話?
2021/01/05(火) 13:00:40.51ID:a6MKPo5T
>>578
?
2021/01/05(火) 13:29:23.68ID:kBQynpkq
>>579
ああ、わからないんだねw

Windowsとの相互作用がLinux環境に影響を与えることはありません。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
だけどお前は無知だから「なんか知らんけど、なんか起きるかもしれん」
という理由で怖がってるだけ

無知だから知らない。何が起きるかわからないからやらない。という発想は
「パソコンをLinux機に置き換えるネットができなくなるかもしれないから採用しません。」
という説得力有る理由(皮肉w)と同じなんだよ
2021/01/05(火) 13:39:48.62ID:a6MKPo5T
>>580
あるだろ
exe呼び出してるshellコマンドはWSLで動くが他のLinuxで動かない
はいWSLおまかん現象
■ このスレッドは過去ログ倉庫に格納されています

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