X



トップページLinux
1002コメント324KB
【Bash】Windows Subsystem for Linux【WSL】7
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
垢版 |
2020/01/19(日) 10:03:05.36ID:6YirC2HC
ヒャッハー!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】6
https://mao.5ch.net/test/read.cgi/linux/1560665525/
0721login:Penguin
垢版 |
2020/04/28(火) 16:13:12.49ID:4ZJt4EG8
>>720
wsl1にて、ubuntu20.04でsleepはやはり使えなかったよ。
debian testingは今のところglibc2.30なので問題なし。
0722login:Penguin
垢版 |
2020/04/28(火) 17:43:39.53ID:JhezuRKL
sleepは使えなかったとか書くと
sleepコマンドが使えないとか勘違いされそうw
0724login:Penguin
垢版 |
2020/04/28(火) 18:40:06.00ID:AET2t4QY
>>722
未実装のシステムコールを呼んでいるのでsleepコマンドは使えないよ
0727login:Penguin
垢版 |
2020/05/01(金) 08:01:21.61ID:o40QEBOU
ViertuelBoxとかVMwちすかいでいいだろ
0731login:Penguin
垢版 |
2020/05/03(日) 22:12:39.05ID:EmGQJ6S0
WSL2使ってみたけどIPアドレス周りはやっぱり使いづらい
いっそのことブリッジ接続にしてmDNSで名前解決した方が使いやすいと思う
0732login:Penguin
垢版 |
2020/05/03(日) 22:56:31.45ID:HzIYo4aM
ブリッジ接続に変えられる様にして欲しいよな
ポート転送接待するの面倒い
0733login:Penguin
垢版 |
2020/05/04(月) 01:00:30.85ID:AbFsj1YM
>>731
ちゃんとローカルIPアドレスで接続できるようになったでしょ?
0734login:Penguin
垢版 |
2020/05/04(月) 01:01:09.90ID:AbFsj1YM
>>732
ポート転送する必要もなく
ローカルIPアドレス+開いたポート番号で
問題なく接続できるようになってる
0735login:Penguin
垢版 |
2020/05/04(月) 01:13:54.30ID:0OeU85j1
だけど、WSL2環境からホストのWindows環境はlocalhostで接続できないよな?
ifconfigでIPアドレス調べないとダメだったはず。
0736login:Penguin
垢版 |
2020/05/04(月) 01:33:28.91ID:xVnxWD8+
WSL用の仮想LANがパブリックネットワーク扱いなのはどうなんだぜ
0737login:Penguin
垢版 |
2020/05/04(月) 04:43:50.09ID:Frfw4Zhk
>>735
IPアドレスを調べるっていうのだけが問題なら
ホストのWindowsには名前が付いてそれは変わらないんだから
普通にホスト名で接続できるでしょ?

>>736
Windowsでサービスを起動する
Windows上のWSL上でサービスを起動する

どちらで起動しても外からは同じように見えるようにするためじゃね?
0738login:Penguin
垢版 |
2020/05/04(月) 06:59:39.26ID:ecnmuLwN
な 普通の仮想の芯のほうが便利だろ?
0739login:Penguin
垢版 |
2020/05/04(月) 08:48:09.88ID:Frfw4Zhk
>>738
ん?今の話が仮想にしたら何か解決するわけ?
WSLに関する話が理解できないからって
仮想に逃げるのやめなよ
0741login:Penguin
垢版 |
2020/05/04(月) 10:00:37.31ID:Frfw4Zhk
>>740
外部から接続したいなら、
普通にWindowsのIPアドレスで接続できるだろ
ファイアウォールでポート開けてないだけでは?
0742login:Penguin
垢版 |
2020/05/04(月) 10:10:37.85ID:fhAzG6rK
ふわふわしてるので具体例を出してみれば?
0743login:Penguin
垢版 |
2020/05/04(月) 10:15:46.11ID:eyVz2i95
>>742
誰の何に対してそれ言ってるの?
0744login:Penguin
垢版 |
2020/05/04(月) 18:28:08.36ID:b2qubNIc
>>10
こんなスレはあきらかに、Windows板に立てるべき話題。

あきらかに、板の存在意義に反している。
この板の自治はどうなっているんや?

Linuxと、それ以外(Windowsなど)を明確に分けるべき。
さもなければ、Linux板が宣伝に利用され、さらにはドザによる荒らしも生じる。

>>1の内容は、明らかにこの板(Linux)に対する荒らしではないか。
許しては今後どんどんひどくなるぞ。

削除依頼出した方がいいと思う。
0745login:Penguin
垢版 |
2020/05/04(月) 18:39:53.85ID:xUCP8Erl
対応は今後どんどんひどくなるってからでいいよ
0746login:Penguin
垢版 |
2020/05/04(月) 18:55:18.86ID:mBam+5U6
Linux開発者の多くがWSL上で作業するようになるので、この板に在ったほうが良くないですか?
0747login:Penguin
垢版 |
2020/05/04(月) 19:01:31.23ID:6xrglS5k
>>744
そう思うなら他人任せにせず自ら動けよ
0748login:Penguin
垢版 |
2020/05/04(月) 19:03:13.72ID:mBam+5U6
削除依頼は公開されるのでファンネル使ったほうが良いんですよ。
俺は意見を言っただけ、あいつらが勝手にやったと言えるので。
0749login:Penguin
垢版 |
2020/05/04(月) 19:04:31.33ID:mBam+5U6
X410の良いところはストアからインストールするだけで使えるところですね。
0750login:Penguin
垢版 |
2020/05/04(月) 19:35:58.10ID:05bo0Njj
この星の無数の塵の一つだと
 今の僕には理解出来ない♪
0751login:Penguin
垢版 |
2020/05/04(月) 20:45:07.99ID:eyVz2i95
賢いつもりの無能が一番害悪とよくわかる流れ
0752login:Penguin
垢版 |
2020/05/04(月) 20:49:42.80ID:WANnh7xU
>>741
外部からはポート転送の設定しないとアクセスできないだろ?
試しにファイアーウォール無効にしてやってみたけど出来なかった
0754login:Penguin
垢版 |
2020/05/05(火) 04:33:22.18ID:yCzntEt3
WSL は、Windows でgrep できないから、Linux を使うためのもの

Windowsには興味がなくて、Linuxに興味があるから、この板でよい
0755login:Penguin
垢版 |
2020/05/05(火) 05:02:21.75ID:i2HVAc0c
>>753
いやだからそれしか方法無いってことでしょ?
0756login:Penguin
垢版 |
2020/05/05(火) 05:25:10.37ID:2B3j7MlD
>>755
WSL1を使うという方法もある
WSL2はWSL1の代替ではなく両方メンテナンスされる
動作モードの違いのようなもの
WSL1とWSL2はモードの切替に数分かかるものの相互に変換できる

またDockerを使う方法もある。ただしUbuntuに直接入れるのではなく
Docker for Windowsを使うこと。これはWSLから接続することも出来るが
WSLを必要とせず、コマンドライン+Windowsでも動作するものなのだから
外部から接続することも出来るだろう
0757login:Penguin
垢版 |
2020/05/05(火) 17:50:03.59ID:p9Osjn7I
>>754
じゃあ、>>1の一行目っていりますかね?
はじめから付いてた?
0758login:Penguin
垢版 |
2020/05/05(火) 17:53:49.22ID:p9Osjn7I
>>757
明らかに低度の低い荒らしがいるわけで、
気にしないで放置してるとLinux板が腐ってくるよ。
0761login:Penguin
垢版 |
2020/05/06(水) 02:51:19.93ID:rVlEFKd1
wsl2を使ってみているんだけど、Linux側からwsl.exe -l -vをやると、コマンドの出力にnull文字が沢山含まれている。
どうしてだろ?
0762login:Penguin
垢版 |
2020/05/06(水) 03:39:33.15ID:SQ9H4ybg
>>761
普通はWindowsのコマンドはコードページを変えるとそのコードページに合わせて
文字コードを切り替えるようになってるんだけどねぇ

wsl.exeの出力はコマンドプロンプトでchcp 65001してもchcp 437しても
切り替わらない。何故か常にUnicode(UTF16)ででてる
wsl.exeはもちろん英語でも対応してるんだから文字コードを
切り替えることができるはずなんだけど

wsl.exeのバグだろうね
https://github.com/microsoft/WSL/issues/4607
0763login:Penguin
垢版 |
2020/05/06(水) 03:50:08.90ID:rVlEFKd1
>>762
UTF-16かぁ。とりあえず不具合ということでスッキリした。ありがとう。
0764login:Penguin
垢版 |
2020/05/06(水) 04:03:18.09ID:jgfxEe9J
-l -vの出力にASCII外の文字がないのは幸いだったな
0765login:Penguin
垢版 |
2020/05/06(水) 04:15:54.93ID:rVlEFKd1
nkfはasciiと判別するんだよな。-W16L付けると変換してくれるけど、wsl.exeのバグが修正されるとまたおかしくなる。スクリプト書くときの話です。
0766login:Penguin
垢版 |
2020/05/06(水) 04:23:59.54ID:rVlEFKd1
WSL2いいなぁ。WSL1と同様、瞬時に起動する。dockerも使えたし、sshfsなんかも動くんだね。
0767login:Penguin
垢版 |
2020/05/06(水) 04:43:40.59ID:SQ9H4ybg
>>765
今の時代nkfとか日本専用のツール使うの卒業しろよ。iconv使え。
wsl.exeのバグが修正されたらとかあとで考えればいいと思うが
wsl.exe --helpの2バイト目がnull文字かどうかで判断すればいいだけだぞ
シェルスクリプトではnull文字は直接扱えないから
cut?head?とod使うことになるだろうけど
0768login:Penguin
垢版 |
2020/05/06(水) 04:44:04.06ID:SQ9H4ybg
あとfileでもある程度検出できるな
0769login:Penguin
垢版 |
2020/05/06(水) 10:20:47.82ID:rVlEFKd1
>>767
nkf は Ubuntu のディストリビューションに標準で入っているよ。
iconvは入力文字の自動判定ができないので、nkfを使ってみたんだけど、
結局自動判定できなかった。
公開するコマンドに組み込んで使いたいので、バグの修正後も動くものに
したい。結局、以下のどちらかにしようと思う。後者の方が良さそう。
wsl.exe -l -v | tr -d '\0' | tr -d '\r'
wsl.exe -l -v | sed 's/[^[:print:]]//g
0770login:Penguin
垢版 |
2020/05/06(水) 10:32:33.18ID:rVlEFKd1
あ、ごめん。nkf は cmigemo の依存パッケージでした。
おそらく、cmigemo をインストールしたときに一緒に入ったんだと思う。
公開するコマンドということから、nkf は使うべきでないコマンドでした。
0771login:Penguin
垢版 |
2020/05/06(水) 10:52:20.94ID:zTyp00tA
iconvも必ずしも入ってるか?と言われたら疑問残るけどね
POSIXで規定されてるとは言えたしか比較的最近の話だったはずだし
ああでもDockerイメージのdebianもcentosもalpineですら入ってるのか
なら問題ないかもな

あとは本質的にはWindows側の問題なんだからwsl.exeのラッパーバッチファイルとか
作るってのもありかもね。バッチファイルでできるかしらんけど
できなきゃvbscriptやpowershellを使うとかね
0772login:Penguin
垢版 |
2020/05/06(水) 13:44:13.65ID:vyWpj2fr
日本語のために必要なツールなんだから、
別にどれ使ったっていいんだよ
今でもlessの文字化け対策にlv併用してるくらいだわ
0773login:Penguin
垢版 |
2020/05/06(水) 14:13:32.37ID:OM1MkCCv
どれ使ってもいいなら、なおのことiconvでしょ?
POSIX準拠
0774login:Penguin
垢版 |
2020/05/06(水) 15:15:31.86ID:mTouaUlT
Ruby は標準で、NKF も入っている

nkf(Network Kanji code conversion Filter, https://osdn.net/projects/nkf/) を
Ruby から使うためのモジュールです

NKF.guess(文字列)で、文字コードをそこそこ推測できる
0775login:Penguin
垢版 |
2020/05/06(水) 15:18:05.84ID:OM1MkCCv
Rubyが標準で入っていない
0776login:Penguin
垢版 |
2020/05/06(水) 15:29:15.72ID:ajLBsLop
alias less=lv
にしちゃってるな
0777login:Penguin
垢版 |
2020/05/06(水) 15:50:55.85ID:iqoJrc+c
スクリプトとかでは使わんけどnkfのほうがコマンドとしては簡単だから手打ちでは使うな
0778login:Penguin
垢版 |
2020/05/06(水) 19:59:38.30ID:rVlEFKd1
WSL2でもmount typeでdrvfs使えるんだね。
ファイルサーバのマウントはcifsに置き換えかと思っていたら肩透かし。
0779721
垢版 |
2020/05/07(木) 19:28:17.41ID:rGgpyf/C
sleepコマンドが使えない件、Slowビルド19041.208では未解決だけど、Fastビルド19619.1000では解決されてた。
0780login:Penguin
垢版 |
2020/05/07(木) 19:29:52.06ID:viX3Vhtw
マジか・・・
着実に出来が良くなってきてるな。
もう、WSL 2の方がいいな。
0781login:Penguin
垢版 |
2020/05/07(木) 19:31:07.17ID:obVUzoXD
sleep問題はWSL1の問題
0782login:Penguin
垢版 |
2020/05/08(金) 19:36:10.76ID:X4EbkNlE
初めてWindows10にubuntu入れたが日本語表記しない
どうすればいいん?
ubuntuはマイクロのストアからものですん
0784login:Penguin
垢版 |
2020/05/08(金) 21:50:07.30ID:iRE8SE+W
完全に本当のUbuntuと同じやり方で
日本語化するんだなw
0785login:Penguin
垢版 |
2020/05/08(金) 22:21:09.00ID:bE4PkXNm
そりゃUbuntuなんだから当たり前だろ
0786login:Penguin
垢版 |
2020/05/08(金) 23:55:15.94ID:bcrCHZPo
insiderだけで正式まだやろ?
0787login:Penguin
垢版 |
2020/05/09(土) 00:13:19.13ID:r+1KzGG3
来週の月例の日にぶつけてくるんじゃないかと・・・
1909もそうだったし。
0790login:Penguin
垢版 |
2020/05/10(日) 12:26:55.83ID:kZkg1KVX
Windows Terminalは、結局、bold表示には対応しないままRC1になっちゃいましたね
対応の方法について思ったよりも広範囲で論争になってるみたい
https://github.com/microsoft/terminal/issues/109

全角記号に日本語全角フォントを使ってくれないのも残念なままですが、
こっちはUnicodeレベルでぐちゃぐちゃだからなぁ
0791login:Penguin
垢版 |
2020/05/10(日) 12:46:23.83ID:yUNy7vQ2
> Windows Terminalは、結局、bold表示には対応しないままRC1になっちゃいましたね

bold表示に対応してる端末なんてあるの?
0793login:Penguin
垢版 |
2020/05/10(日) 14:20:18.38ID:yUNy7vQ2
>>790
https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters

元の仕様は8色しかなく、名前を付けただけでした。SGRパラメータ30?37は前景色を選択し、
40?47は背景を選択しました。かなりの数の端末が、異なるフォントではなく明るい色として
「太字」(SGRコード1)を実装したため、8つの追加の前景色が提供されました。


bold = 明るい色のこと
0794login:Penguin
垢版 |
2020/05/10(日) 20:18:58.67ID:zmLd2FBr
CRTの頃の実装なら、高輝度は確かにより太っては見えるしな
0795login:Penguin
垢版 |
2020/05/12(火) 16:46:21.83ID:H+SjQFPU
wslってdockerとかコンパイラとか開発環境いれていく以外に便利な使い道あるの?
windowsで動かないけど、wslでなら動く便利ツールが存在するとか
0796login:Penguin
垢版 |
2020/05/12(火) 17:17:15.32ID:3i+/TLbh
bashが使えるだけでもだいぶ便利だけど、、
0797login:Penguin
垢版 |
2020/05/12(火) 17:32:28.36ID:ZqQPauGF
emacsがまともに使えるだけで幸せ
0798login:Penguin
垢版 |
2020/05/12(火) 17:36:40.93ID:kVRIGMdl
365日サーバー稼働している俺には必要ない
Teratermで充分
0799login:Penguin
垢版 |
2020/05/12(火) 17:39:13.91ID:ZqQPauGF
今であればVSCodeとRemote Developmentが使えるところだな
0800login:Penguin
垢版 |
2020/05/12(火) 18:04:51.03ID:kVRIGMdl
ちょっと聞きたいけどwslによるlinuxってどこにインコされるの?
network>wsl>linuxみたいだけど
windows上からは見れないんだよね実際にwindows上のどこにあるの?
0801login:Penguin
垢版 |
2020/05/12(火) 18:18:49.56ID:2mV/kTm8
%LocalAppData%\Packages以下にある
ストアアプリのデータと同じ場所
0802login:Penguin
垢版 |
2020/05/12(火) 18:22:17.01ID:ZqQPauGF
>>800
WSL1はNTFS上(ApoData配下の深いところ。Windowsからアクセスする時は、\\wsl$から行かないとだめ)
WSL2はHyper-Vの仮想マシンのディスク上(こちらも\\wsl$からアクセスできる)
0803login:Penguin
垢版 |
2020/05/12(火) 18:29:07.00ID:/ntNymf/
>WSL2はHyper-Vの仮想マシンのディスク

ってどこにあるんだろうな。.vhdxだろうけど。
0806login:Penguin
垢版 |
2020/05/12(火) 19:30:55.27ID:H+SjQFPU
>>796
どういう用途にbash使ってるのかしりたい
個人的にはコマンドをパイプで組み合わせるくらいならwindowsで困ってない
(xargsをwindowsでは使いたくないけど)
batかくよりshell scriptが書きたいはわかる

windows上のファイルをbashやshell上のファイラーで管理するのは茨の道だと思ってたんだが
そうでもない?
0807login:Penguin
垢版 |
2020/05/12(火) 21:28:00.80ID:OAIN1IoC
>>806
誰も答えないので。自分の場合はだけど、ファイラーはemacsのdiredを使っている。
ファイル開くのは f 押すのみ。emacsカスタマイズして、Windowsのドキュメント
もemacsから開けるようにしているので、explorerあまり使わない。
ファイルのコピーや移動はwdiredってのを使うと、2つのdiredバッファ間で c や r で
対応できる。sshにはtrampってのを使ってやはりそこでもdired使っている。開いた
diredバッファ間でやはりwdired使えるので、WinSCPは一切使わない。というか
インストールもしていない。bashはshell-modeっての開いている。ANSI端末である
必要があれば、ansi-termってのもある。shell-modeはtrampの接続先でも使えるので、
ターミナルソフトも使わない。なのでTera Termもインストールしていない。
という、変な使い方をしている人も居るということで。
0808login:Penguin
垢版 |
2020/05/12(火) 21:50:20.21ID:BcTviD0i
>>795
MS「開発に便利なWSL作ったで!」
開発者「うぉー!」
お前「開発以外で何が便利なの?」
0809login:Penguin
垢版 |
2020/05/13(水) 07:29:41.22ID:Ah+WnKtd
室井佑月さん、外出自粛解除の韓国を評価…「韓国のやり方はうまくいった…この国も見習うべき」
https://headlines.yahoo.co.jp/hl?a=20200507-05070110-sph-soci

小倉智昭「頭を下げて」 韓国にコロナ対策聞くことを提案
https://headlines.yahoo.co.jp/hl?a=20200506-00000031-dal-ent

東国原 コロナ対策「日本は韓国方式を取り入れるべきだった」
https://headlines.yahoo.co.jp/hl?a=20200503-00000087-dal-ent

岡田晴恵教授、PCR検査を徹底した韓国を「強いリーダーシップを持つ指揮官をおいて徹底してやってきた」
https://headlines.yahoo.co.jp/hl?a=20200507-05070093-sph-soci

韓国のコロナ対応 羽鳥アナ「経済の回復、解除も早い」 玉川徹氏「日本はいまだに根づまりとか…」
https://headlines.yahoo.co.jp/hl?a=20200507-00000091-spnannex-ent
0811login:Penguin
垢版 |
2020/05/13(水) 21:38:43.28ID:IAJHeVvz
所で何時正式発表有るのよ
いい加減待ちくたびれたわ
0812login:Penguin
垢版 |
2020/05/14(木) 04:27:20.82ID:OoJdk48M
5月28日ってウワサは出てるね
0813login:Penguin
垢版 |
2020/05/14(木) 06:41:31.45ID:jg9GWJLR
Insider Preview リングで入れて、すぐにオフでいいんでない?
0816login:Penguin
垢版 |
2020/05/18(月) 16:45:48.48ID:cq3tdt3c
WSL = 鳥限定奇形Hyper-V
でFA?
0818login:Penguin
垢版 |
2020/05/19(火) 13:29:05.26ID:EnrnMm/a
WSL2ってすごいな。便利すぎやろ。
0819login:Penguin
垢版 |
2020/05/20(水) 00:43:56.60ID:TEfzKMYD
せやろ。まだ正式リリースちゃうんやけどな。
0821login:Penguin
垢版 |
2020/05/20(水) 01:21:04.88ID:c9U5YRI9
なんだかすごいことになってきたな。
■ このスレッドは過去ログ倉庫に格納されています