【Bash】Windows Subsystem for Linux【WSL】10

1 :login:Penguin:2021/03/17(水) 19:14:43.97 ID:14KJ8UmF.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】9
http://mao.5ch.net/test/read.cgi/linux/1607589861/

44 :login:Penguin:2021/04/15(木) 19:49:31.05 ID:pkysKjEr.net

そもそもシステム跨いでのストリーム処理とか一体どうなってるのか怪しからん…
モニタするのはホスト側からじゃダメ?なの?
linuxのtailが使いたいという理由ならwsl — tail -fでホスト側からも呼べる、結局ストリームはシステム跨ぐわけで、解決になるかは不明だけど

62 :login:Penguin:2021/04/16(金) 01:24:04.47 ID:qB1T3F0f.net

そしてそのhomeはonedriveで管理してるんだけど、win合法ファイル名でも怒られることがあるな
これがポータビリティ矯正ギプス…

4 :login:Penguin:2021/03/19(金) 10:39:36.90 ID:SZ2r73BI.net

wslstorestorage.blob.core.windows.net/wslblob/wsl_graphics_update_x64.msi

49 :login:Penguin:2021/04/15(木) 21:05:07.85 ID:pkysKjEr.net

,48
ごめんgcはget-contentって言うpowershellのコマンドです、wslスレはみんなドザーなんだろうと、てっきり
cattacwcheadtailnkfテキスト入出力全部入りみたいなヤツです、(代わりにちょっと重いけど)linuxにもポートされてるのでぜひ

2 :login:Penguin:2021/03/18(木) 13:39:44.87 ID:CM3dEfa7.net

保守

27 :login:Penguin:2021/04/04(日) 13:38:43.36 ID:lqvqzwRy.net

リリースノートかと思ってタップしたら丸ごとかよ
110MiBとかパケ死ぬところだったぜ

7 :login:Penguin:2021/03/31(水) 02:34:23.17 ID:fPIrfUG6.net

pwsh滞ってんぞはよしろ
wtとか代わりはいくらでもあるんだから

32 :login:Penguin:2021/04/05(月) 02:27:54.58 ID:PT7nvd5N.net

やっぱりメソッド繋げてく文法と補完は相性いいな

23 :login:Penguin:2021/04/01(木) 02:03:44.09 ID:OBGVJwq8.net

emacs遣いだけど、WSLでemacs動かして画面をVcXsrvに表示している。ターミナルは殆どをshell-modeで動かして、エスケープ・シーケンスが必要な場合のみansi-term使っている。
shell-modeはdiredやtrampと連動するからとても便利。この便利さは使ったことある人にしかわからんと思うけど。

20 :login:Penguin:2021/03/31(水) 23:40:08.21 ID:rjFjoH6P.net

僕もWindowsTerminalが今までで一番使いやすいと想うな
WSLも普通に使えるし、設定がファイルだし 設定ファイルなくならないでほしい

5 :login:Penguin:2021/03/25(木) 19:08:31.39 .net

なにが始まるんです?

30 :login:Penguin:2021/04/04(日) 15:12:45.95 ID:lqvqzwRy.net

時代錯誤な…と思ってget-helpしたらextract/expandが標準コマンドなのを知らなかった
wslはwin専用なのだから一番ポータブルか、難癖みたいなこと言ってごめんよMS

35 :login:Penguin:2021/04/05(月) 08:01:41.61 ID:PT7nvd5N.net

それでもインタラクティブシェルで入って中から弄れるのにはやっぱり便利と思うし、
環境変数とか慣習に合わせてちゃんとしてくれる、エンコードをよろしく扱ってくれるとか利点は確かに多いんだけどやはり二重に入れるとギガが死ぬのが辛いんだわ
wslだけ立ち上げて、そこにwinのpwshから接続するような感じで使えたらいい感じそうで…
やり方知ってる人居たら教えてほしい

11 :login:Penguin:2021/03/31(水) 11:47:17.44 ID:fPIrfUG6.net

ターミナルばっか力入れてシェルがなおざりって話よ
wtは別に無くても(wtがなかったからだが)いいターミナルが野良で沢山開発されてるし、そんな力入れるところなのかと
やっとpreviewでファンシーなメニュー付いたってレベルじゃねえか

win/linuxを統合して扱えるのが売りなら、シェルの開発が急務だろう

50 :login:Penguin:2021/04/15(木) 22:14:13.36 ID:pkysKjEr.net

とりあえずwsl内のpwshからwinのfilesystemにtail -fが効かないことと、gc -tail 1 -waitは効く事を確認した
PS C:¥Users¥doser>notepad.exe
aaa
bbb
ccc
でtmp.txtを作成、dd, eeを追記し保存はステイしておく

38 :login:Penguin:2021/04/05(月) 09:21:35.91 ID:PT7nvd5N.net

ですかー
NTFSのstream(ads)とかlinuxで使えない、かつファイルシステム関連で危なさそうな機能触るとどうなるんだろうか?とか思いました

41 :login:Penguin:2021/04/15(木) 19:05:01.97 ID:FC0f5Zd/.net

mingw-w64で作成したWindowsプログラムから随時ファイルに書き出したテキストを
wsl2側のtail -f で監視したいのだけど更新されません
無理なんすかね?

58 :login:Penguin:2021/04/16(金) 00:10:11.44 ID:unf3hDsm.net

書き込み激しい/tmpもNTFSにした方が便利かも
VMが借りた領域なかなか返さないので
30GB位まで膨らんだらdiskpartで20GBくらい取り戻すを繰り返してる

52 :login:Penguin:2021/04/15(木) 22:28:03.69 ID:pkysKjEr.net

wslの問題、ではあるんだろうが、
tail相当のコマンドが対応してるかしてないかって話だな
‾/winhomeは/mnt/c/Users/doserへのシムリングです(NTFS)

何が優れてるとかじゃなく、wsl用に拵えたシェルのビルトインコマンドなんだから動いて当たり前ですよね、むしろ動かなければ炎上案件

取り敢えずubuntuならapt にpackages.microsoft.com/ubuntu/…レポを追加して
sudo apt install powershell[-preview|-lts]で目的は達せるはず

33 :login:Penguin:2021/04/05(月) 03:00:28.56 ID:PT7nvd5N.net

ubuntuだけど常に最新かは分からんがaptで一発よ、まあ apt/sources.list.dにmsのレポ追加は必要だけど

v6->v7は変更多いのにデフォルトで/usr/local/microsoft/powershellを直接置き換えやがる
併存させたいならaptに任せずmakefile読んでビルドするべき

57 :login:Penguin:2021/04/16(金) 00:04:06.58 ID:unf3hDsm.net

wslゲストからNTFSを扱うのは全く問題無い、というかオーバーヘッドが減るしNTFSのADS機能も使えるので、/homeはC:¥Users¥へのsymlinkにするのがベストプラクティス
マウントするんじゃないぞ、既にマウントされてそこからパス通してるので

13 :login:Penguin:2021/03/31(水) 18:16:03.79 ID:hrCQTrrw.net

unix風のコマンドやエイリアスも用意して、とりあえずlinuxユーザーも対話シェルとしては違和感なく使えるレベルにはなってる、と思う

しかしもうwindows powershell (v2-4くらいが入ってるんだっけ?)の印象が悪すぎる
もうとっくに開発中止&非推奨になってるけど、
わざわざクロスプラットフォーム版のpwsh(Core, v7)をgitから落としてビルドして、って物好きそんなおらんぞ

25 :login:Penguin:2021/04/01(木) 03:13:06.35 ID:gpySUhAy.net

ストアでポチるだけでwin向けにXアプリ動かせるのは面白いかもね、一般ユーザ向けに
wsl(ディストロ丸ごと)+X入れるとそれだけで10GBくらい食いそうだけど、アプリ動かすだけのミニマル構成出せば受けるんじゃないかな

しかし、じゃあこれからはXで書けよ!って流れは絶対に回避したいジレンマ

21 :login:Penguin:2021/03/31(水) 23:45:03.88 ID:fPIrfUG6.net

msはjson+guiで簡単設定推してる感じなんで大丈夫でしょう(VSCodeとか

12 :login:Penguin:2021/03/31(水) 17:14:07.09 ID:fcWxx74S.net

ああ、代わりのターミナルは他にあるんだからwt開発するリソースをシェルにまわせってことか
理解さんくす

40 :login:Penguin:2021/04/09(金) 00:22:00.78 ID:TxMtmH4I.net

readlineは#includeするだけで汚染されるやべーやつなので
CLISP事件参照

31 :login:Penguin:2021/04/05(月) 02:23:05.49 ID:PT7nvd5N.net

psreadlineいいね、bash/gnu readlineと同等の機能は揃ったか
大人の事情か、なぜ再発明したという感じはするが…とにかくすごい馬力だ
readlineと設定共有出来ないのがとても残念

補完候補が薄く表示されるのがとてもよい

17 :login:Penguin:2021/03/31(水) 20:26:50.51 ID:fcWxx74S.net

私はwt使う前はfluent terminal気に入ってたなあ
何でも入りって感じではないけど野暮ったさ無くて軽いのが良かった
今いいのがあるなら知りたいね専スレありそうだけど

つかPowershellとpwshって別物なんだ…追えてねー…

37 :login:Penguin:2021/04/05(月) 08:48:42.22 ID:T7vCqe2j.net

windowsでpwsh –helpするの

Unix系OSでログインシェルとして使うにはpwsh -l/-loginオプションを指定し、shellsに追記、chsh
とは書いてある
しかしすぐ下にwslで(windows版の)pwshは現在サポートされてませんと明記されているぞ

非推奨だけどオプション用意して手順まで書く、ってのはすなわち人柱待ちじゃないかろうか
そのうちサポートするつもりとも読める
コードベースが同一で、linux/MacOS向けリリースはまともに動くので、やろうと思えばできるだろう

人柱になろう

42 :login:Penguin:2021/04/15(木) 19:21:43.99 ID:pkysKjEr.net

mingwに詳しくないかけど、見たいの動的なテキストだし多分関係ないよね?
gc /mnt/c/…/log -tail 1 -wait
(powershell on ubuntu)
とかじゃダメ?こんな感じのやった事はある
ログはホスト/ゲストどっちのファイルシステムにあるの?(上の例ではテキストがホスト上、シェルはゲスト側で稼働)

47 :login:Penguin:2021/04/15(木) 20:14:48.79 ID:Narv5AZ1.net

いろいろアイデアを有難うございます
帰宅していますので(家にはWin機がない)
明日試させて頂きます

28 :login:Penguin:2021/04/04(日) 14:38:47.44 ID:B8pr52fG.net

ホント勘弁してくれ。これ何回目よ?

43 :login:Penguin:2021/04/15(木) 19:49:07.95 ID:FC0f5Zd/.net

有難うございます
gcって何ですか? graphvizにも同名のコマンドがありますが違いそうだし…

>mingwに詳しくないかけど、見たいの動的なテキストだし多分関係ないよね?
おっしゃる通りmingwなのは重要ではなく,テキストをファイルに書き出すシンプルなwindowsのプログラムです

>ログはホスト/ゲストどっちのファイルシステムにあるの?(上の例ではテキストがホスト上、シェルはゲスト側で稼働)
ログはホスト上でシェルはゲストで可動しています
あれ?! ゲストのファイルシステムにホスト側からアクセスできましたっけ?

3 :login:Penguin:2021/03/19(金) 00:44:04.10 ID:fekxo9VW.net

お疲れさま

51 :login:Penguin:2021/04/15(木) 22:15:59.03 ID:pkysKjEr.net

PS C:¥Users¥doser> wsl -u doser
Welcome to Ubuntu 20.04 LTS
; ‾/.profile, ‾/.login Loaded.
; $profile Loaded.
PowerShell 7.20 …

PS ub20:doser> (gcm tail).source
/usr/bin/tail
PS ub20:/home/doser> tail –version
tail (GNU Coreutils) 8.30

PS ub20:/home/doser> tail -f ./winhome/tmp.txt
aaa
bbb
ccc
(ここで追記するも反応なし.)

PS ub20:/home/doser> gc –tail 10 -wait ./winhome/tmp.txt
aaa
bbb
ccc
ddd
ee
(ここでメモ帳に追記、保存)
ff
g

59 :login:Penguin:2021/04/16(金) 00:49:27.92 ID:VjO2DK8g.net

それやっちゃうと、Win32ビルドのプログラムにより作成されるドットファイルが競合する

26 :login:Penguin:2021/04/04(日) 13:18:10.64 ID:nZmeM4ZZ.net

39 :login:Penguin:2021/04/05(月) 09:34:03.87 ID:PT7nvd5N.net

じゃあdocs二重に入れてるのは重複削除でもしますか
100メガ弱のがja/enそれぞれホストゲストに入って4倍っていうね
なんかあっても単なる.mdだし最悪読める

日本語訳は7.2まで仕上がっててすごいと思うんだけど、誤訳やマークアップのズレがすごく機械翻訳っぽいな、MSのヘルプサイト感そのまま…
まあ雰囲気で読めるからそれでも重宝だけど

39 :login:Penguin:2021/04/05(月) 09:34:03.87 ID:PT7nvd5N.net

じゃあdocs二重に入れてるのは重複削除でもしますか
100メガ弱のがja/enそれぞれホストゲストに入って4倍っていうね
なんかあっても単なる.mdだし最悪読める

日本語訳は7.2まで仕上がっててすごいと思うんだけど、誤訳やマークアップのズレがすごく機械翻訳っぽいな、MSのヘルプサイト感そのまま…
まあ雰囲気で読めるからそれでも重宝だけど

46 :login:Penguin:2021/04/15(木) 19:59:07.89 ID:1obmFQmu.net

tailだと無理っぽいねぇ
かったるいけどless使うとか、開いてから大文字Fでtailっぽく使える

14 :login:Penguin:2021/03/31(水) 18:19:57.44 ID:hrCQTrrw.net

結局メイン用途であろうテスト環境に使うならbsh系スクリプトも書かなきゃならんしなぁ
一部だけ熱いファンが居るzshみたいな立ち位置になりそう

36 :login:Penguin:2021/04/05(月) 08:21:28.89 ID:PT7nvd5N.net

とりあえず/etc/shellsに/mnt/c/…/pwshをブチ込んでみるか…

8 :login:Penguin:2021/03/31(水) 09:00:09.96 ID:286aHzTX.net

Windows TerminalからPower Shellを使うのでは?

55 :login:Penguin:2021/04/15(木) 23:50:55.34 ID:oW7YM7fj.net

これで出来たよ

54 :login:Penguin:2021/04/15(木) 22:43:38.04 ID:pkysKjEr.net

シェル自体も多分関係ない
PS ub20:doser> (gcm dash).source
/usr/bin/dash
PS ub20:doser> dash -l
$ pwd
/home/doser
以下同様

34 :login:Penguin:2021/04/05(月) 07:54:50.71 ID:PT7nvd5N.net

普通ホストゲスト両方にPowerShell入れるものなの?
ジョブ投げるだけならpwsh(–shutdown)
wsl linuxonlycmd arg1…
みたいに投げれるし、前スレかで誰かが言ってたwin側から投げるの利点、win/linuxのジョブをシームレスに扱えるというのもあるわけで

16 :login:Penguin:2021/03/31(水) 20:13:43.72 ID:Zku3LQiy.net

>いいターミナルが野良で沢山開発されてるし
参考までに教えてくれ
WindowsTerminalの前はminttyかputty使ってて他も試したけどいいのがない

9 :login:Penguin:2021/03/31(水) 09:24:12.73 ID:5eZqg0IS.net

wt→pwsh(win側)→ubuntuで使ってる
6系は怒涛のアップデでlinuxシェルとして実用域に達したと思うんだけど、7になって多分一年くらいなのにまだ7.0xでバグフィックスくらいしかしてねえっていうね
本気でlinux取り込もうと思うならMSもっと頑張れよと

18 :login:Penguin:2021/03/31(水) 21:03:51.54 ID:Zku3LQiy.net

それ一瞬使ったけどすぐWindowsTerminalに乗り換えたな

描画だけで言えばputty-d2ddwがいい
でもタブがないのとwslだとsshかcygterm経由なので今は使ってない
ConEmuは機能は豊富でいいんだけど設定が煩雑なのはいいとしてもUIが酷い
派生のCmderは多少マシにはなってるけど
WindowsTerminalは設定画面付いたし後は分割がもっと柔軟に出来ればいいかな

6 :login:Penguin:2021/03/29(月) 12:13:18.85 ID:tjdazS3Q.net

何も始まんなくてワロタ

参考になったらSNSでシェアお願いします!

レスを投稿する(名前省略可)

この記事を読んだ方へのおすすめ

  • アーケードエミュレーターMAMEスレ 0.142b

    元スレ 1 :名無しさん@お腹いっぱい。 :2018/06/13(水) 15:31:11.54 ID:qYI5gbBd0.net アーケードエミュレーターMAMEを語るスレです これまではアケ板にありましたがこの度ソフト…

  • Web翻訳家 志賀慶一氏を語るスレ 15

    元スレ 1 :login:Penguin:2018/06/27(水) 00:34:08.66 ID:YlAMIcES.net Linuxの日本語翻訳で国際的な活躍をされている志賀慶一氏を語るスレです 渦中の人物について …

  • 【radiko】どがらじ 2【Time Free】

    元スレ 1 :名無しさん@お腹いっぱい。 :2018/08/20(月) 18:04:58.80 ID:3a+5SkNo0.net 公式サイト https://dogaradi.123net.jp/ ▼対応ラジオサービス …

  • 【時事】生越昌己についてあなたの意見ください 11

    元スレ 1 :login:Penguin:04/11/29 18:00:48 ID:qfQm9nWI.net ちょっと頭おかしい人ですよね? あほですか? 自称ネットの第一人者みたいなこといってるようなんですけど、 本当…

  • Notepad++ part2

    元スレ 1 :名無しさん@お腹いっぱい。:2010/11/23(火) 12:03:55 ID:U7i0KK9+0.net 「NotePad++」の公式サイト  ttp://notepad-plus-plus.org/ N…

  • 【Bash】Windows Subsystem for Linux【WSL】7

    元スレ 1 :login:Penguin:2020/01/19(日) 10:03:05.36 ID:6YirC2HC.net ヒャッハー!WSL最高!開発にLinuxは使わねぇー。Windowsで開発してLinuxは動か…

  • ●▲あなたが欲しいソフト作ります!★■

    元スレ 1 :login:Penguin:2007/04/20(金) 15:04:49 ID:+UG+nV5H.net どうぞ、よろしく 40 :login:Penguin:2009/03/15(日) 14:13:57 …

  • 今でも使ってる古いフリーソフト

    元スレ 1 :名無しさん@お腹いっぱい。:2017/05/07(日) 20:31:01.00 ID:NJkMO0+O0.net 特に問題も起きないし、後継のソフトも出ないしで、 とっくに開発は止まってるけど今でも使い続け…

  • タブレットPCでLinux

    元スレ 1 :login:Penguin:2012/01/25(水) 23:33:51.88 ID:BQYiyVw4.net Androidを消して他のディストリとか入れようぜ 549 :login:Penguin:20…

  • ubujpの愚作を拒否し英語UIを使う漢の集うスレ

    元スレ 1 :login:Penguin:2018/08/20(月) 00:20:48.78 ID:GWc455la.net 何のためにUIの日本語翻訳などいるのか?おれたちは精鋭である。同志諸君 どんどんカキコしてくれ…

  • 【ダウンローダー】MiPony 【割and炉.part9】

    元スレ 1 :名無しさん@お腹いっぱい。:2018/06/30(土) 04:14:59.60 ID:fx7QnyAO0.net アップローダーにも対応したダウンローダーです。用途は人それぞれです… 日本語版公…

  • userChrome.css・userContent.cssスレ Part10

    元スレ 1 :名無しさん@お腹いっぱい。:2019/10/25(金) 10:53:04.96 ID:hElsE0lB0.net ●※前スレ userChrome.css・userContent.cssスレ Part9 h…

最近のコメント

匿名 : 東京の中小IT企業の情報交換スレ
 伝説の接待王ワロタ (9/21)
匿名 : 東京の中小IT企業の情報交換スレ
 ブラック企業の話ばっかだな (8/21)
匿名 : 【残業代】福井 株式会社アスタ【未払い】
 本当に残業代未払いなんか? (8/19)
ページTOPへ↑