探検


【Bash】Windows Subsystem for Linux【WSL】11

■ このスレッドは過去ログ倉庫に格納されています
2021/07/29(木) 06:31:29.44ID:280Si2bb
ついに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】10
https://mao.5ch.net/test/read.cgi/linux/1615976083/
2021/07/29(木) 09:52:52.53ID:ZjoMwMRE
乙
2021/07/29(木) 18:55:47.90ID:qMTZ38KC
サイズがでかいんだけど、cドライブ以外にはインストールできないのかしら?
2021/07/30(金) 06:10:03.77ID:xJ3sy5k+
>>3
https://pcvogel.sarakura.net/2019/08/06/31963
2021/07/30(金) 08:57:59.30ID:/qvJGvpi
立ってた
2021/07/31(土) 02:21:12.74ID:XzU5a9E6
>>4
サンクス

wsl2だから移動は無理ぽです。MSも移動するなと言ってますし。
結局diskpartで250gb -> 6gb位まで減らしましたよ
2021/07/31(土) 09:59:18.01ID:Eof3ImCL
Install WSL with a single command now available in Windows 10 version 2004 and higher
https://devblogs.microsoft.com/commandline/install-wsl-with-a-single-command-now-available-in-windows-10-version-2004-and-higher/
2021/07/31(土) 15:59:45.76ID:5j9DKPyJ
>>7
こりゃ便利だな。しかしデフォルトがうぶんちゅかよ
2021/08/03(火) 16:28:51.04ID:xJDlGah+
未だにwsl2が数秒で立ち上がる理由が分からん。
どうなっとるんだ
2021/08/03(火) 16:59:52.62ID:Bw7eV5P7
え?
2021/08/03(火) 19:18:35.30ID:c7kdQYU8
サーバープロセス起動しないからな
2021/08/04(水) 16:08:58.91ID:+pywMRCa
11のbetaでもwslgが機能した
実装されるのかな
2021/08/04(水) 22:51:13.46ID:/YeDxVqD
え?
2021/08/05(木) 00:41:21.60ID:S0d7J2sh
今更なんだけどWindowsのデスクトップにUbuntuのhomeのショートカットを作成するとダブルクリックしてファイルが見れたりするから便利だよね
Ubuntu起動してなくてもこれで起動するから良いよね
そのファイルをデスクトップにドラッグ&ドロップ出来るし

逆もしかり
2021/08/05(木) 09:00:58.31ID:Voig/Qpi
>>14
いや起動してるからアクセスできてるんだろ・・・
Vmmemが走ってるでしょ
2021/08/05(木) 09:02:48.30ID:Voig/Qpi
>>14
いやショートカットから(ホストWindowsのExplorer上から)勝手に起動してくれるという意味か
その通りやなすまんな
2021/08/05(木) 11:58:16.73ID:4L5MKfRd
いいってことよ
18login:Penguin
垢版 |
2021/08/05(木) 20:24:39.01ID:5WuLj3DE
え?
2021/08/05(木) 22:06:01.86ID:zAumX1t/
>>6
exportしてunregisterしてimportするだけだろ
2021/08/06(金) 16:04:15.46ID:RuX9QLaU
>>18
え?w
2021/08/09(月) 13:44:45.79ID:cjsnURkg
一々wsl --shutdownとかしてないならそのまま動いてるやろ
logoutせずに死んで接続切れてもps aで前回のinitの残骸見えるし
再アタッチめんどいからkillしてる
2021/08/09(月) 14:10:16.98ID:cjsnURkg
>>14
ファイルシステム相互運用するなら逆にした方が安全だと思うよ、/homeをwindows(NTFS)に置いて、wsl側からsymlink貼るとか
NTFS上でのextシンボリックリンク作成コマンド(ln -s)が最近まで正しく動かなかったし、今も属性が少ないからNTFS上で変に見えるという問題がある
windowsコマンドで作れば情報落ちはない
ni src -target link -itemtype symboliclink的なのをラップして使うべき
2021/08/13(金) 03:11:10.52ID:pdq6cIx9
WSLg Win + 矢印での移動効かないのキツい
Linux側で対応できるものなのか? なんかいいツールない?
タイリングサポートしてるのが欲しい
2021/08/13(金) 13:52:02.76ID:LNjAegiE
WSL2を開発環境として利用することを検討してます
VagrantやDockerのようにIaCでWSL2環境を管理したいのですがそういったツールはありますか?
2021/08/13(金) 15:21:08.67ID:WtvVnaRU
>>24
Dockerでよくね?
2021/08/13(金) 15:48:38.58ID:LNjAegiE
>>25
調べました
Dockerコンテナのエクスポートインポートに対応してるんですね
DockerHubやプライベートレジストリからWSL2インスタンスを構築するスクリプトとか作ったら便利かもですね
2021/08/13(金) 17:56:00.84ID:LNjAegiE
私のPCではエクスプローラーのナビゲーションウィンドウにWSLディレクトリが表示されません
グーグル検索によると2020年4月のプレビュー版にこの機能が搭載されています
この機能はプロダクションでオミットされたのでしょうか?
それとも何か設定を変えれば表示されるようになりますか?
2021/08/17(火) 14:23:14.28ID:l6vHU8zU
まず\\wsl$\distro-nameが/に対応してるかチェックしたら
してたらサイドバーのコンテキストメニューから打ち込んで追加できない?
対応してないなら知らん
2021/08/17(火) 14:53:22.08ID:a75T1LrU
手元に環境ないので一般論だけど
windowsパス\\wsl$\のwsl$はサーバを指す識別子だから、実装はともかくネットワークの設定あたりからドライバ(単なるリダイレクタ)が拾えるはず
無いなら探すか、今まで変に弄くった記憶がないか確かめるといいかも
2021/08/17(火) 15:21:03.16ID:a75T1LrU
もし提供されてないバージョンでも、エクスプローラをファイラとして使うのに問題はない、色々なプロトコルに対応してる
WindowネイティブなSMB(linux側は移植のsamba)をお勧めする
2021/08/17(火) 15:34:44.96ID:hQ7IkOoy
ナビゲーションウィンドウに「Linux」って出てくるヤツの事じゃない?
19063から実装っぽいから、Win10系(1904x)にはまだバックポートされてないって話かと

まあ、当面は¥¥wsl$でアクセスするしかないと思うよ
2021/08/17(火) 16:56:51.68ID:di3qrv6G
>>31
本格実装はWindows 11から、Windows 10では現状のまま放置されそうだな。
2021/08/18(水) 18:09:15.95ID:TEMjoqXv
WSLgでAndroidアプリ使ったろうとanbox入れようと思ったら前提となるカーネルモジュール組み込みの時点でコケた
MSの独自カーネル周り(CBL-Mariner)だから一般のディストリとはやっぱ違うのか
2021/08/18(水) 18:50:18.98ID:k5rXwQEp
>>33
やり方を間違えたのではないか?
github.com/microsoft/WSL2-Linux-Kernel
からカーネルソース落として、
README-Microsoft.WSL2
の注意事項は読んだか?
2021/08/18(水) 18:55:06.44ID:ssMvbM0S
なんか面倒くさいから、一台Linuxマシン用意したら全て解決だよ
2021/08/18(水) 19:06:11.31ID:pWv05CPx
>>33
どうコケたのか分からんけど、自分はWSL2でanbox動かしたことあるよ

5.?辺りでモジュールはカーネルツリーにマージされたから、anboxのサイトにあるソースをコンパイルして組み込むのは、多分かなり難しいはず
(ヘッダの構成とか変わっててコンパイルが通らなかった)

>>34 のサイトからソース持ってきて、make 〜 menuconfigでanboxの分をスタティックリンクで有効にしたカーネルをビルドして差し替えたけど
スタティックリンクにしたのはWSL2では起動時にモジュールをロードしないから
まあ、この辺は普通のディストリとは違うね
2021/08/19(木) 12:34:04.93ID:6V8nlkBZ
wslgってWin11じゃないと使えないの?
11は糞UIとか重いとか聞いて恐れてる
2021/08/19(木) 14:14:58.87ID:TVFRHyrU
「Windows 10 バージョン 21H2」の新機能が実装、Release Previewチャネルで提供開始
WSLのGPUコンピューティング対応などが目玉。ただし、配信対象は一部に限られる
https://forest.watch.impress.co.jp/docs/news/1344790.html
39login:Penguin
垢版 |
2021/08/21(土) 08:09:47.19ID:AD6X62cm
Windows にubuntu入れてLinuxのHDDイメージをマウントすると
許可されていないとなるんだけどなんでやろ

# mount -t ext3 -o loop /tmp/hdd_10gb /hd
mount: /hd: mount failed: Operation not permitted.
2021/08/21(土) 13:17:59.85ID:WKklRPSm
>>39
sudoが必要とかそんなことではないか
2021/08/21(土) 13:38:17.91ID:PoHcIqoy
恐らくWSL1だから
1にloopデバイスは無い
4239
垢版 |
2021/08/21(土) 18:57:56.24ID:AD6X62cm
>>40
sudo bash した状態です

>>41
あら、ホントだ。WSL1だったようです。
ありがとうございます。
C:\Users\xxx>wsl --list --verbose
NAME STATE VERSION
* Ubuntu-20.04 Running 1
2021/08/21(土) 20:32:04.17ID:z+Np32+I
x上で日本語入力できない。そんな人いない?
2021/08/21(土) 20:37:59.95ID:OwYd+OqZ
いない
2021/08/22(日) 09:33:26.75ID:acGrSojw
つめてぇ
2021/08/22(日) 10:23:44.88ID:5YrHiLGG
こんなんではだめなのか?
https://astherier.com/blog/2020/08/install-fcitx-mozc-on-wsl2-ubuntu2004/
2021/08/22(日) 12:04:12.56ID:6ULG/u7J
そもそも全く環境書いてない時点でお馬鹿な低スキル確定だから、質問に答える価値ゼロなんよ
2021/08/22(日) 12:15:46.90ID:uzXgPRlZ
そう言う言い方では煽りにしかなってないと思うのだが
2021/08/22(日) 12:25:06.88ID:epNRihTl
煽りだよ
50login:Penguin
垢版 |
2021/08/22(日) 13:34:37.82ID:acGrSojw
43です。お騒がせしています。長文です。
>>46さんのHPは見ているのですが、うまく回避できません。
現状、Ubuntuだけのコマンドラインでは日本語の入力はできています。
Xを立ち上げると日本語入力できないので、fcitx-diagnoseで見つけたエラーをつぶしています
2つほど、エラーが消えません


# 環境:
4. ディレクトリ:
2. `${XDG_CONFIG_HOME}`:
環境変数 `XDG_CONFIG_HOME` がセットされていません。
現在の `XDG_CONFIG_HOME` の値は `~/.config` (`/home/***/.config`) です。
と
## Gtk:
2. `gtk-query-immodules`:
1. gtk 2:
**gtk 2 用の `gtk-query-immodules` が見つかりません**
**gtk 2 用のFcitx im モジュールが見つかりません。**
2. gtk 3:
**gtk 3 用の `gtk-query-immodules` が見つかりません**
**gtk 3 用のFcitx im モジュールが見つかりません。*

で、この回避に手間取っています。
今やっているのは、
XDG_CONFIG_HOMEは.bashrcにexport XDG_CONFIG_HOME=~/.config
と書き込んで

immoduleはlocateで
/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0
/usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0
にあるのを確認しただけで、エラーをうまく回避できません。
何か手はありますか?
2021/08/23(月) 09:48:13.91ID:6741vT89
WSL2にインストールしたUbuntu上のDockerコンテナ内から
Windowsアプリを実行したいです。

Ubuntuの/mnt/c配下のアプリがあるディレクトリから実行すると実行できています。

しかし、同じディレクトリをdocker-compose.ymlにてbind-mountして実行すると
実行できません。(標準出力に何も表示されず)

ディレクトリ自体にはアクセスできていて、権限もフルで設定されています。
コンテナ内からtouchで該当ディレクトリにファイル作成もできています。

何か方法はあるのでしょうか?
2021/08/23(月) 11:13:48.11ID:VqmI91z8
>>51
コンテナ内でWindwosアプリは実行できないでしょう
■ このスレッドは過去ログ倉庫に格納されています

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