[過去ログ] 【Bash】Windows Subsystem for Linux【WSL】8 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
771(1): 2020/09/29(火)01:57 ID:mf0IufdG(1/16) AAS
>>769
> ディストリ側のインストーラーが対応することで
だからそんな必要がないという話
WSLはディストリ側から見れば単にファイルを置いてるだけに過ぎない
Linuxは単に実行ファイルを置くだけで動くように作られてるんだよ。
772: 2020/09/29(火)02:04 ID:mf0IufdG(2/16) AAS
ここに仕組みが書いてあるな
外部リンク:news.mynavi.jp
> WSLGは隔離されたコンテナのように動作し、Linuxディストリビューションとはソケットによる通信を行う。
Linuxディストリビューション(のデスクトップアプリ)はソケット通信するだけ
だからディストリ側のインストーラーがやることなんてなにもない
WSLG、これはMSが用意するWSL上で動くコンテナ。
ディストリで提供されるデスクトップ用実行ファイルは
ソケット通信でこの用意済みのWSLGコンテナと通信するだけ
773: 2020/09/29(火)02:06 ID:mf0IufdG(3/16) AAS
>>769
お前Linuxでデスクトップ表示する仕組みを知らんだろ?
その仕組に則ればディストリ側は何もすることがないんだよ
WSL側でお仕着せの統一的なデスクトップを表示するための環境が用意してあって
そこにソケット通信するだけだから
776: 2020/09/29(火)02:26 ID:mf0IufdG(4/16) AAS
>>774
5月に発表があった時、年内に進捗を報告する見通しって言ってたじゃん。まだまだよ。
外部リンク[html]:www.publickey1.jp
と言ってもWSLも発表されて数年で実装されたし
WSL2も発表されて数年で実装されたし、
今までの実績からいって何年もかかるってことはないだろ
それぐらいMSの開発スピードは速い
777: 2020/09/29(火)02:28 ID:mf0IufdG(5/16) AAS
>>775
それは既にアプリに実装済みで、その仕組を使ってLinuxのデスクトップは表示されてる。
ソケット通信の先をMSが作るだけ
780: 2020/09/29(火)05:21 ID:mf0IufdG(6/16) AAS
>>778
お前バカだろw
環境変数DISPLAYで渡されてるのしらんの?
Linuxのデスクトップアプリはこの環境変数に設定されてる
IPアドレスに接続するだけなの
だからあとはWSLのinitでこの環境変数を提供して
接続先を用意するだけ
781: 2020/09/29(火)05:26 ID:mf0IufdG(7/16) AAS
>>779
> ゲストOSからrdp鯖やpulse鯖に見えるWSLGをこれからMSが用意するので
> ゲストOSのディストリビューターはWSL環境にインストールされた際にこれらを利用する設定を作らないと、
不要。「これらを利用する設定」=環境変数DISPLAYとXDG_SESSION_TYPE を準備するだけ
各ディストリのアプリはGUIを表示する時、DISPLAYに接続するように作られてる
それがもともとのLinuxデスクトップアプリの仕様だから
環境変数DISPLAYとXDG_SESSION_TYPEを用意するのはWSL(のinit)で実現できる
783: 2020/09/29(火)05:34 ID:mf0IufdG(8/16) AAS
> ラズパイをヘッドレス運用する際にxrdp入れて使う設定だって
だからそれを全部MSが用意するって話なんだが
ディストリとは別に、RDP周りの設定が全て準備されてる仮想マシンをMSが1つ作って
ディストリ上で動くアプリは環境変数DISPLAYで指定された、そのMSが準備した仮想マシンにソケット接続するだけ
あとはMSが作った仮想マシンとWindowsホストとのやり取りで
ウインドウを表示するだけだな
784: 2020/09/29(火)05:36 ID:mf0IufdG(9/16) AAS
>>782
> だからそれは一体どこの誰が用意して設定してくれるの?
書いただろ。ディストリ起動するときに実行されるinitが環境変数を用意する。
それは今も行われてる。WSL使ったことないの?
WSLのbashを起動したら、環境変数 WSL_DISTRO_NAME=Ubuntu-18.04 とか見えてるんだがw
> WSL環境なら接続先はlocalhostなんじゃね(鼻くそほじりながら)
それはWindowsホスト、つまりコマンドプロンプトから
WSL上で動いているサービスに接続する時の話
なーんもしらんのかw
786: 2020/09/29(火)05:38 ID:mf0IufdG(10/16) AAS
訂正
それはWindowsホスト、つまりコマンドプロンプト"等"な
Windows上のブラウザから、WSLのサービスに接続する時もlocalhost
Windows上で直接動かしているように見せかけるのがWSLだからね
787: 2020/09/29(火)05:38 ID:mf0IufdG(11/16) AAS
>>785
ほら。お前のレスが証拠。俺のレスの内容へのコメントがなくなったねw
788: 2020/09/29(火)05:39 ID:mf0IufdG(12/16) AAS
環境変数DISPLAYも知らないレベルが相手だったのかねw
790: 2020/09/29(火)05:52 ID:mf0IufdG(13/16) AAS
ああ、そうか、ディストリ上のGUIアプリと仮想マシンとの接続はソケット接続って書いてあるな
環境変数DISPLAYの値はlocalhost:0.0じゃなくてDISPLAY:0.0とかなんだろう
これならポート番号もいらんな。
Docker Desktop for WSL2のWSL2インテグレーションと近い仕組みかもしれないな
Docker Desktop for WSL2ではWSL1のときに必要だったDOCKER_HOST環境変数が不要になってる
どうやってWSL2上のDocker仮想マシンに接続しているかと言うと
ディストリの中でdocker-desktop-proxyというプロセスが動いていてソケット接続で待ち受けてる。
あとはディストリ内のDockerクライアントがソケット接続でdocker-desktop-proxyにつないで
それがDockerの仮想マシンにプロキシしている。
このdocker-desktop-proxyが必要なのはDockerだからであって
省3
791: 2020/09/29(火)05:54 ID:mf0IufdG(14/16) AAS
>>789
不思議でもなんでもないなw
WSLで起動するPID番号1のinitはMSが作ったinit
ディストリを起動するときに最初に起動するのがMSのinitなんだから
環境変数の準備なんて普通にできるよ
793: 2020/09/29(火)12:25 ID:mf0IufdG(15/16) AAS
>>792
MSが作ったinitは、WSLの各ディストリの(標準の /sbin/int ではなく) /init にコピーされて現在使われてるんですが?
ディストリ側で利用する設定になってなくても「WSL登場の最初から使われてる」んですが?
MSが作った /init は今現在、すでに使わてるんですが何を言ってるんですか?
795: 2020/09/29(火)14:24 ID:mf0IufdG(16/16) AAS
WSLの特徴は仮想マシン上にディストリを"インストール"してないこと
もしこれが一般的な仮想マシンのようのディストリをインストールしていたら
インストーラーが起動して、各サービスも起動して・・・
でもそれらはWSLにとっては不要だから無効にしてと
ディストリのインストーラーに対していろんな調整が必要になる
WSL1は単にLinuxバイナリを起動するだけ
WSL2は仮想マシンこそ使われてるがWSL専用の軽量Linuxが動いていて
Ubuntuなどのディストリはコンテナ技術を使って起動するから
こちらもディストリのインストーラーは使われない
WSLの仮想マシンはたった1つだけで、複数のディストリから
省3
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.033s