【Bash】Windows Subsystem for Linux【WSL】9
■ このスレッドは過去ログ倉庫に格納されています
ついに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/ export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0 は気持ち悪いよね・・・・。なんでもっとスマートに出来ないかな。 バーチャルマシンだからWindowsと別ネットワーク スマートな解決ってソフトLANカードだな virtualboxみたいな >>216 > なんでもっとスマートに出来ないかな。 お前の頭の悪さをつぶやかれても困るんだがw awk使ってるのに、awkのパターンマッチング使わずgrepを使う。 ファイル読み込みすりゃいいのに、わざわざcatを使う 動くからヨシで基本を勉強してないだろ export DISPLAY=$(awk '/nameserver/{print $2":0.0";exit}' /etc/resolv.conf) あとオレのマシンだと3行返ってきたから1行だけにしておいたぞ UNIX哲学を踏まえると最初のほうがそれっぽいけど あと有名なUUOCのことを知るんだな https://ja.wikipedia.org/wiki/Cat_ (UNIX)#cat%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A8UUOC UUOCは「無駄なcatの使用(Useless Use of cat)」の略である。 Usenetのcomp.unix.shellに投稿された賢者の観察によると, catの役割はファイルを連結することである。もしファイルが1つしかないのであれば、何かと連結しようとするのは時間と手間の無駄でしかない 。 にも関わらず、次のような使用をよく見かける。 https://en.wikipedia.org/wiki/Cat_ (Unix)#Useless_use_of_cat 猫の無駄な使い方 cat(UUOC)の無用な使用は、ユーザーに便利な機能のみを提供するコマンドライン構造の 一般的なUnix専門用語です。[5] これは「猫の虐待」とも呼ばれます。UUOCのインスタンスを 修正するアクティビティは、デモギフィケーションと呼ばれることもあります。[6]一般的なcat虐待の例は、賞に記載されています。 >>219 そういうことを言ってるんじゃないと思うぞw 理系の頭の善し悪しはともかく対人関係のIQ低そう・・・。 grep の引数に、対象ファイル名を渡せないの? touch なんか、ほとんどのプロ中のプロが、ファイルを作るために使っているw >>216 WSL2にssh serverを入れてssh clientでX11-forwardingするように接続すると、 DISPLAYを設定しなくてもX clientを表示出来るよ。 外部からssh出来るようにすれば、外部のX serverにもX clientを表示出来る。 スレの話の流れ的に export DISPLAY=localhost:0.0 か export DISPLAY=:0.0 で動いて欲しいよねって話じゃないのか? >>4 Windows のファイルシステムにアクセスさせる場合は, 全く実用にならない.いろいろ調べたが,2倍〜3倍以上遅い. Windows 共有フォルダのNASとか使ってる場合, WSL は, まともに mount できないから, WSL2 しか選択肢はないが,全く使えない遅さ. python, perl, shell script で小回りの利くスクリプトで, 例えば5分でスクリプト作って,100MBのログ100本読んで 処理するときとか3倍とか時間かかってホント使えない. 実用になると思ってる人,何に使ってるのかかさっぱりわからん. アプリ開発だろ アプリで100MBのログ100本読むとかしないからな だいたい3倍かかるというのなら、30MBのログか 30本のログにデータ量を減らせばいいわけだ WSLで作業してるぐらいなら、メインはWindowsだし デバグ中にみるログのサイズなんてたかが知れてるからなぁ。 Windows側のファイルへのアクセスが多少遅くても問題にならんわなー、普通の人なら。 接続先サーバーがクラウドだったら、クラウドサービスのログビューワー使うだろうし オンプレとかならリモートのLinuxにログインして見るから関係ない 100MBのログ100本をクライアントのWSLにダウンロードして見るわけないし と考えると100MBのログが100本あるような場合ってどんな場合だよ?となる 3倍かかって使えないなら、1/3の時間なら使えるわけだ さてみんなのログサイズはどれくらい?w もちろん100MB×100本=10GBのログを見ることが皆無とは言わんけどなw ファイル処理が遅いのは小さなストレスだね チリも積もると山となる × 期待はずれというのが正当な評価 ○ 馬鹿が勝手に見当違いな期待してただけ しかも後付で「期待」を作り出しただろw ファイルシステムがLinuxと同じぐらい速いと 期待してたのにーって、遅いと知ってから言い出す。 それ以外の本当の期待は全て満たしてるので ファイルシステムが遅いぐらいしか言うことがないw 実機で10ミリ秒のところがWSLで30ミリ秒なので使い物にならないんですw って事なんだろうなぁw 特定の場合に遅いという話だけを聞いて 使ってもみずに文句を言ってるだけだから 解決法があるなんて知らないと思うし、知りたくもないと思うよw 解決法とか面倒なこと考えずに最初から速いのがあるならそっちのがいいだろう つまりLinuxを使えばいい 大前提としてLinuxでは別の問題があって解決できないから WSLを使うんだよ >>245 だからext4は早いって。素のLinux使うのと一緒だろう。 Linuxの方のボリュームに落けばいいだけなのに何か不都合でもあるわけ?ファイラーからも見れるよ? 仮想マシンとWSL両方にウブンツ入れてフォルダ共有かけてる俺は勝ち組だな! なんに勝ってるかしらんけどw 果たしてUbuntuマシン使っているのに、仮想マシンにUbuntu入れて使うなんてことするだろうか? >>250 WindowsのホームとWSLのホームが位置も構造も違うのはめんどくせえなあと思った Linux使っときゃ1つ管理すりゃいいのに WindowsでWSLっていう回りくどい環境だと管理も2倍以上の面倒くささ >>253 前提としてWindowsも使う必要があるんだが >>254 WSL2だとホームの構造は同じ あとシンボリックリンクは便利だぞw もし知らなかったら可哀想なので説明してあげると シンボリックリンクというのは別の場所にあるファイルやディレクトリに対して 自由なパスでアクセスできるLinuxの機能だよ コマンド一つで例えばLinuxのホームディレクトリの下に Windowsのディレクトリを持ってこれる これでホームの位置の構造の問題は直ぐに解決できる 便利だから覚えておいたほうがいいぞ!Linuxの基本だがなw >>257 WindowsホームとLinuxのホームは別物では? WSLが常に起動してるわけじゃないからリンクも張りたくない >>254 たかがその構造がめんどくさいという理由でLinuxを母艦にしたいとは思わないね。 あくまでも開発用途で必要なだけだし、Linuxじゃできないことが多すぎる Windows+WSLなら大体のことができてしまうからこれで十分 そもそもLinuxで満足してるならこのスレになんで来るんだい? >>259 > WSLが常に起動してるわけじゃないからリンクも張りたくない なんかこの一言で、お前が使ってないのバレちゃってるよw あえて聞くね。答えてね。 「WSLが常に起動してる」ことと「リンクを張ること」に 一体何の関係があるの?WSLが起動してなくても問題なにもないじゃないw >>258 素LinuxとWSLでホーム構造が違うよ 素Linuxだと ~/.foo → ~/dotfiles/foo WSLだと ~/.foo → Windowsホーム/dotfiles/foo Windowsホーム/.foo → Windowsホーム/dotfiles/foo >>261 WindowsからWSL方向のリンクを張れないってことだけど言われなきゃわからないのかな >>263 貼れるだろw あほやなぁ 試してからいえや >>262 だからシンボリックリンクを使いましょう >>262 そういう使い方をしたい場面がよくわからない dotfilesとか置いてるけどそれはLinuxのホームディレクトリにおいてればいいだろ >>265 張れない時は張れないよ WSLディレクトリの有無に依存するんだから >>268 起動している時に貼ればいいだけだろw まさかWSLが停止するとシンボリックリンクが勝手に消えるとか思ってんのかwww だーかーら、使ってないってバレバレなんだよ WSLから見てWindowsは常に存在してるが逆は成り立たない なのでWindowsからWSLにリンク貼るなどWSLに依存する構造はよろしくない WSLへのリンクはUNCパスへのリンクに過ぎない これは今までもごく当たり前にリモートサーバーへのリンクとして使われていた なにをいってんだろうなw 問題はLinux用のdotfileとWSL用のdotfileが異なることだな 管理対象が無駄に増えて面倒だ >>273 リンクじゃなかったら困らないんですか? それはなんでですか?www これ、もうお前が答えられない質問な >>274 > 問題はLinux用のdotfileとWSL用のdotfileが異なることだな 異なる部分だけ吸収すればいいだけ シンボリックリンク使えば吸収できるし 使わなくても一行程度で終わる話 >>275 素Linuxなら困らんよ そもそもwindowsへの/からのリンクなんて貼らないからな 素Linuxのホームは1つのホームで完結してる WSLは無駄にホームを分裂増殖させてるから管理が2倍めんどう >>276 めんどくせぇー わざわざWSLを使うことによってめんどうを呼び込んでるじゃねえか 素Linux使えばそんな面倒なことしなくていいのに ID:vj+7dSvOが言いたいことと反論のまとめw アホ「WSLが停止するとシンボリックリンククリックしてもアクセスできないニダ!」 オレ「WSLが停止してるなら、シンボリックリンクじゃなくてもアクセスできねーだろアホ」 オレ「アクセスできないだけでシンボリックリンクはそのまま残ってるだろ、どアホ」 アホ「アクセスできないと困るニダ!」 オレ「アクセスできないと困るのは、シンボリックリンクと関係ない話だろ」 >>278 面倒の内容が「シンボリックリンクを一つ貼れば終わり」だって言ってるんだが そこは認めるんだよな?w >>282 どんなものが解決できねーんだよ 具体例をいえ >>283 たとえばdockerの設定とかだなー winとlinuxでインストール方法、ファイルの置き場から中身まで構造が違うから個別に用意しなきゃならん >>284 dockerの設定って何? 具体例をいえといったのに なぜ何も言わない >>285 そんくらいググれ ファイルの場所も内容も違うからな >>286 せいぜいそんくらいだろ 設定は使い回せる > ファイルの場所も内容も違うからな 全部同じだよ > 設定は使い回せる Docker for Windowsは結局の所Linuxで動いてる Dockerだから設定ファイルとやらはそのまま使える お前の言う設定ファイルが何なのか知らんがなw >>286 WSL内にDocker入れるのに、windows側にも両方入れるの? 君ガイジじゃない? >>291 Dockerはクライアントサーバー型って知ってるか? WSL側に入れるのはクライアント Windows側に入れるのはサーバー 役目が違ってる。 ほんと恥ずかしいよお前w WSL使わないならこのスレ来るなよ。ここはWSL使いが盛り上がればいいんだよ。きっと目の上のたんこぶで気になるんだろうな。オレはWSLからexeの起動とかWindows側にあるファイルをLinuxコマンドで操作したりとか、WSLが無くてはならないものになってるよ。 >>292 ん?クライアントサーバ逆になってる上にWSL側にもクライアント入るけど大丈夫か? こいつはWSLとWindows側両方にDockerサーバー入れて設定ファイルを別々に管理するのが気持ち悪いだとか言ってるけど、サーバーはWSL側にしか入らないし、設定ファイルをまとめて管理したい意図が全然理解できなかったわ 今日からWSL2を使い始めてる(これまではWSL1だった)んですが、Windowsで実行する各種Gitクライアントはwsl$配下で起きているGit管理ファイルの変更をリアルタイムに検出してくれないようです これを同一ファイルシステムの時と同じように検出させる方法はありますか? Gitがネットワーク上のファイル変更をリアルタイムに監視しないんだろう、というのは想像が付いてます ネットワークドライブの割り当てをしても同じでした また使ったことないやつが暴れてんのかよ ていうか相手してるやつもウザい >>295 > ん?クライアントサーバ逆になってる上にWSL側にもクライアント入るけど大丈夫か? 逆じゃないだろw ああ、ほんと、お前わかってないw > サーバーはWSL側にしか入らないし、設定ファイルをまとめて管理したい意図が全然理解できなかったわ Docker for WindowsはWindows側にいれるもの WSLがなくても動くの知らんのか? だから設定ファイルってなんだよ? WindowsとLinuxで異なるDockerの設定ファイルなんてねーつーの >>299 > 使えんよ 使えないものを具体例を言って そういや>>283 でも具体例聞いたのに言ってないね 具体例聞かれるとボロがでるから 無視する癖でも付いてるのか?w >>300 WSLにサーバー入れるんじゃなくてクライアント入れるの? 言い間違いぐらい認めようよ君 正確には クライアントはWindowsとWSL サーバーはWSL側だけ が正しい わかってないのはお前の方 もしかしてクライアントとサーバーって言葉の意味を知らないで使ってんのか?w お前はDockerクライアントをWSLだけに入れて、サーバーをWindows側に入れてんの? 何がしたい? >>302 HyperVバックエンド時の設定とか色々だよ >>305 それを一つのdotfilesフォルダで管理する必要はないのでは?WindowsとWSL側で分けて管理してなんの不都合があるの? あとwindowsからWSLのsymlinkが作れないってどこ情報?ローカル⇄リモート両方できるけど? milink /d dotfiles \\wsl$\Ubuntu\home\username\dotfiles これでいけるのでは? >>306 そのドライブ、フォルダが無かった場合はどうなる? >>307 アクセスできないけどWSLが起動すれば問題ない それが気になるならWindows側に設定置いてWSLからそれを参照すればいいだけでは?何か不都合でもあるの? Windows側にファイル置いてる俺はなんの不自由もなくWSLのUbuntu使ってるから、アクセスガーの言うことにはなんの効力もないよ。 WSLじゃなくてLinux使いたい理由がホームディレクトリが一つだけで設定をまとめて置けるとか その程度の目的でわざわざLinuxを使う気にはならない 大したことしてなくて必要もないのにLinux使ってそうだな アンチWSLはメンタルが↑キーとエンターキー交互に叩いて「俺Linux使ってるスゲー!」レベルだったりしてw > milink /d dotfiles \\wsl$\Ubuntu\home\username\dotfiles 循環してどうなるのだろ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる