ヒャッハー!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/
【Bash】Windows Subsystem for Linux【WSL】7
■ このスレッドは過去ログ倉庫に格納されています
2020/01/19(日) 10:03:05.36ID:6YirC2HC
680login:Penguin
2020/04/22(水) 23:36:50.39ID:fY7PQw5b ワハハハ
もっと頑張れよ、キチガイw
もっと頑張れよ、キチガイw
2020/04/22(水) 23:41:37.62ID:rnx7UGWV
てか必死貼るしか脳がないのは流石に
2020/04/22(水) 23:42:23.58ID:FvzpSUQR
ワハハハ
もっと頑張れよ、キチガイw
もっと頑張れよ、キチガイw
2020/04/22(水) 23:50:42.97ID:78ZbWCT+
>>681
X410は有料、OSSと同じ事しかできない、それ以上の書き込みが全くない
単発の工作ばっかで何を質問しても中身のある返事が全く帰ってこない
いつまでも火消しの煽り続けるだけだし工作潰し以外に何を書き込めるってんだよ?w
X410は有料、OSSと同じ事しかできない、それ以上の書き込みが全くない
単発の工作ばっかで何を質問しても中身のある返事が全く帰ってこない
いつまでも火消しの煽り続けるだけだし工作潰し以外に何を書き込めるってんだよ?w
2020/04/22(水) 23:51:06.47ID:x9LPqydn
>>679
そんなツマランもの貼らずにWSLの話題を提供してよ
そんなツマランもの貼らずにWSLの話題を提供してよ
2020/04/23(木) 00:01:58.50ID:8QcUSvoT
RubyGemsインストールするときどうしてる?
rbenv使うのがいいのか?
aptでインストールしたrubyでgem installすると環境が汚れて嫌になった。
rbenv使うのがいいのか?
aptでインストールしたrubyでgem installすると環境が汚れて嫌になった。
2020/04/23(木) 00:02:24.70ID:8QcUSvoT
WSLに限った話じゃないけどさ・・・
2020/04/23(木) 00:16:12.56ID:nBApRDR1
>>685
ディストリを複製してRuby用の環境を作ればいいのでは
ディストリを複製してRuby用の環境を作ればいいのでは
688login:Penguin
2020/04/23(木) 00:28:48.31ID:97zykDy52020/04/23(木) 00:30:31.82ID:wV8CI5q6
2020/04/23(木) 00:31:04.96ID:8QcUSvoT
確かに専用ディストリがいいかも。
ごちゃごちゃしても良くないから軽いディストリをベースにしたいが
Alpineとかストアにあるけど公式のじゃないよな?
ごちゃごちゃしても良くないから軽いディストリをベースにしたいが
Alpineとかストアにあるけど公式のじゃないよな?
2020/04/23(木) 00:31:37.64ID:wV8CI5q6
はっきり言ってやろうか
X410の印象最悪だぞ
X410の印象最悪だぞ
2020/04/23(木) 00:36:20.75ID:pskhXoaU
ワハハハ
もっと頑張れよ、キチガイw
もっと頑張れよ、キチガイw
2020/04/23(木) 00:47:30.30ID:lZXdDTN7
694login:Penguin
2020/04/23(木) 00:53:42.76ID:lC+T0F3Q X410なんて買う価値ねえ、VcXsrvでいい
2020/04/23(木) 03:12:26.48ID:nI5Z/0SV
>>685
漏れは、Ubuntu 18.04 だけど、基本的に、Ruby on Rails は、Node.js もあるから、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
rubyのコンパイルに、20分ほど掛かって、ruby 2.6.6, node 12.16.2 を入れた
VSCode の拡張機能、Remote WSL でアクセスする
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
gem はグローバルに入るから、使わない!
各プロジェクトには、Bundler を使う。
Gemfile に、gem 'rails' と書いて、bundle と入力する
ただし、Bundler の更新だけは、gem を使う。
グローバルのbundler のバージョンを、1.17.2 から、2.1.4 へ更新する
bundler のバージョンを確認する
bundler -v
Bundler version 1.17.2
インストール済みのGem のバージョンを確認する
gem list bundler
bundler (default: 1.17.2)
レポジトリ内の最新バージョンを確認する
gem search -r bundler
bundler (2.1.4)
グローバルに、最新版をインストール・更新する
gem install bundler
漏れは、Ubuntu 18.04 だけど、基本的に、Ruby on Rails は、Node.js もあるから、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
rubyのコンパイルに、20分ほど掛かって、ruby 2.6.6, node 12.16.2 を入れた
VSCode の拡張機能、Remote WSL でアクセスする
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
gem はグローバルに入るから、使わない!
各プロジェクトには、Bundler を使う。
Gemfile に、gem 'rails' と書いて、bundle と入力する
ただし、Bundler の更新だけは、gem を使う。
グローバルのbundler のバージョンを、1.17.2 から、2.1.4 へ更新する
bundler のバージョンを確認する
bundler -v
Bundler version 1.17.2
インストール済みのGem のバージョンを確認する
gem list bundler
bundler (default: 1.17.2)
レポジトリ内の最新バージョンを確認する
gem search -r bundler
bundler (2.1.4)
グローバルに、最新版をインストール・更新する
gem install bundler
696695
2020/04/23(木) 03:18:41.67ID:nI5Z/0SV Windows 側のコマンドプロンプトで、
where yarn
C:\Program Files (x86)\Yarn\bin\yarn
C:\Program Files (x86)\Yarn\bin\yarn.cmd
C:\Program Files (x86)\Yarn\bin\yarn.js
wsl と入力して、Linux 側へ入って、
which yarn
/mnt/c/Program Files (x86)/Yarn/bin//yarn
この拡張子なしのyarn ファイルは、
#!/bin/sh で始まるシェルスクリプト
where yarn
C:\Program Files (x86)\Yarn\bin\yarn
C:\Program Files (x86)\Yarn\bin\yarn.cmd
C:\Program Files (x86)\Yarn\bin\yarn.js
wsl と入力して、Linux 側へ入って、
which yarn
/mnt/c/Program Files (x86)/Yarn/bin//yarn
この拡張子なしのyarn ファイルは、
#!/bin/sh で始まるシェルスクリプト
697695
2020/04/23(木) 03:36:01.83ID:nI5Z/0SV それと、Rails プロジェクトは、Linux 側へ作った方が良さそう
自動的に、ファイル・フォルダなどを作るものが多いけど、
755 とか、アクセス権をべた書きしてるものがあるから、
Windows で正常に動作するかどうか、分からない
ブラウザでは、Windows側から見れるので、
Selenium Webdriver も、Windows側のものを使わないといけないかも
まあ漏れは、Windows側にも、Ruby 2.5 を入れて、
Selenium Webdriverを使っているけど、これをLinux側から呼べるのかな?
一方、capybara は、GUI がいらないのかな?
自動的に、ファイル・フォルダなどを作るものが多いけど、
755 とか、アクセス権をべた書きしてるものがあるから、
Windows で正常に動作するかどうか、分からない
ブラウザでは、Windows側から見れるので、
Selenium Webdriver も、Windows側のものを使わないといけないかも
まあ漏れは、Windows側にも、Ruby 2.5 を入れて、
Selenium Webdriverを使っているけど、これをLinux側から呼べるのかな?
一方、capybara は、GUI がいらないのかな?
698695
2020/04/23(木) 03:50:51.63ID:nI5Z/0SV yarn ファイルの内容は、Linux にも対応してる
#!/bin/sh
case "$(uname -s)" in
Darwin) basedir="$( cd "$( dirname "$argv0" )" && pwd )";;
Linux) basedir=$(dirname "$(readlink -f "$0" || echo "$argv0")");;
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
*MSYS*) basedir=`cygpath -w "$basedir"`;;
esac
command -v node, command -v nodejs で、node/nodejs が入っているかチェックしてる
anyenv で、nodenv を入れた場合は、
command -v node
~/.anyenv/envs/nodenv/shims/node
Debian/Ubuntu のapt パッケージ名は、nodejs だけど、
バージョンが古くて使えないから、anyenv/nodenv で入れないといけない
Microsoft などは、node のバージョンマネージャーに、NVM を使っているけど、
操作方法がツールごとに異なるので面倒
一方、anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しなくても良い
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
#!/bin/sh
case "$(uname -s)" in
Darwin) basedir="$( cd "$( dirname "$argv0" )" && pwd )";;
Linux) basedir=$(dirname "$(readlink -f "$0" || echo "$argv0")");;
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
*MSYS*) basedir=`cygpath -w "$basedir"`;;
esac
command -v node, command -v nodejs で、node/nodejs が入っているかチェックしてる
anyenv で、nodenv を入れた場合は、
command -v node
~/.anyenv/envs/nodenv/shims/node
Debian/Ubuntu のapt パッケージ名は、nodejs だけど、
バージョンが古くて使えないから、anyenv/nodenv で入れないといけない
Microsoft などは、node のバージョンマネージャーに、NVM を使っているけど、
操作方法がツールごとに異なるので面倒
一方、anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しなくても良い
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
2020/04/23(木) 04:00:03.99ID:fObeVMPO
anyenvのせいじゃないけどさ、
なんたらenvをたくさん入れるとおせーんだよ
しかもrubyとかのコマンドの起動まで遅くなるしさ
つーかさ言語ごとにenv作るなよボケ
手を入れようにも全てのプロジェクトに
同じ様な修正入れるぐらいなら作り直したくなるわ
なんたらenvをたくさん入れるとおせーんだよ
しかもrubyとかのコマンドの起動まで遅くなるしさ
つーかさ言語ごとにenv作るなよボケ
手を入れようにも全てのプロジェクトに
同じ様な修正入れるぐらいなら作り直したくなるわ
700695
2020/04/23(木) 04:07:18.52ID:nI5Z/0SV701695
2020/04/23(木) 04:12:38.11ID:nI5Z/0SV どこかのサイトに書いてあったけど、
phpenv を入れたら、端末の起動が遅くなったとか、
大量にコピーしてるとか
言語数が増えていくと、どうしても遅くなる
PC 内に、Docker が無いから、苦肉の策w
phpenv を入れたら、端末の起動が遅くなったとか、
大量にコピーしてるとか
言語数が増えていくと、どうしても遅くなる
PC 内に、Docker が無いから、苦肉の策w
702695
2020/04/23(木) 04:35:06.61ID:nI5Z/0SV yarn ファイルの内容を見たら、
Debian/Ubuntu のapt パッケージ名は、nodejs だけど、
バージョンが古くて使えないから、anyenv/nodenv で、node を入れると、
yarn では必ず、nodeの方が使われる!
apt のnodejsは、使われない
これは、if 文で先に、node コマンドが見つかるから
#!/bin/sh
command_exists() {
command -v "$1" >/dev/null 2>&1;
}
if command_exists node; then
node で、yarn.js を実行
elif command_exists nodejs; then
nodejs で、yarn.js を実行
else
fi
Debian/Ubuntu のapt パッケージ名は、nodejs だけど、
バージョンが古くて使えないから、anyenv/nodenv で、node を入れると、
yarn では必ず、nodeの方が使われる!
apt のnodejsは、使われない
これは、if 文で先に、node コマンドが見つかるから
#!/bin/sh
command_exists() {
command -v "$1" >/dev/null 2>&1;
}
if command_exists node; then
node で、yarn.js を実行
elif command_exists nodejs; then
nodejs で、yarn.js を実行
else
fi
2020/04/23(木) 04:40:17.73ID:bTGrjsC7
704login:Penguin
2020/04/23(木) 05:07:08.06ID:U8VD6b2S 全ログ持ってなきゃIDコロコロかわからんだろ
にしても「漏れ」ねえ
露骨なレス流しからのステマなんぞ誰も引っ掛からんぞ
にしても「漏れ」ねえ
露骨なレス流しからのステマなんぞ誰も引っ掛からんぞ
2020/04/23(木) 06:31:38.73ID:bBwnEGyl
2020/04/23(木) 06:43:21.85ID:wV8CI5q6
必死チェッカーに掛ける程度の手間が何だってんだw
X410奴は原油で全資産溶かして夜中も眠れんのか?
X410奴は原油で全資産溶かして夜中も眠れんのか?
2020/04/23(木) 13:58:44.21ID:8QcUSvoT
原油で溶かすってw
なかなかのジョークだな
なかなかのジョークだな
2020/04/23(木) 21:59:39.74ID:O+plxe1i
むしろX410すら買えない奴が暴れてるんだろ
>>706とかww
>>706とかww
709login:Penguin
2020/04/23(木) 23:20:34.22ID:M3DL78HC ワハハハ
もっと頑張れよ、キチガイw
もっと頑張れよ、キチガイw
2020/04/23(木) 23:20:40.82ID:wV8CI5q6
711login:Penguin
2020/04/23(木) 23:32:30.15ID:PLW2T+nY ワハハハ
もっと頑張れよ、キチガイw
もっと頑張れよ、キチガイw
2020/04/24(金) 02:51:37.79ID:x5HAT+Y5
Ubuntu 20.04がストアにリリースされた模様
なお16.04はストアから消滅
なお16.04はストアから消滅
2020/04/24(金) 10:10:00.97ID:g9X6nA46
2020/04/24(金) 10:28:41.48ID:g9X6nA46
とか言ってたら、ストア版が20.04になったな
2020/04/24(金) 10:50:21.56ID:7cxbzevm
2020/04/24(金) 12:45:22.04ID:CIPRU4+Z
2020/04/24(金) 13:15:03.46ID:QdoDAU2D
2020/04/24(金) 14:18:31.49ID:5yOQYgmZ
2020/04/24(金) 17:10:47.54ID:CIPRU4+Z
窓の杜でLinuxのアップデートがニュースになるなんて時代が変わったな。
https://forest.watch.impress.co.jp/docs/news/1249447.html
https://forest.watch.impress.co.jp/docs/news/1249447.html
2020/04/24(金) 23:34:27.04ID:g9X6nA46
>>716
-dでうりゃぁと。
修復方法も書いてありますが、再インストールしちゃいました。
18.04をストアで20.04にしてからdo-release-upgradeは失敗するが、
再インストールで最初から20.04ならinsider入れてないwsl1でも問題なさそう。
-dでうりゃぁと。
修復方法も書いてありますが、再インストールしちゃいました。
18.04をストアで20.04にしてからdo-release-upgradeは失敗するが、
再インストールで最初から20.04ならinsider入れてないwsl1でも問題なさそう。
2020/04/28(火) 16:13:12.49ID:4ZJt4EG8
2020/04/28(火) 17:43:39.53ID:JhezuRKL
sleepは使えなかったとか書くと
sleepコマンドが使えないとか勘違いされそうw
sleepコマンドが使えないとか勘違いされそうw
2020/04/28(火) 17:57:47.79ID:nBb96Ggi
永久にsleepしろ
2020/04/28(火) 18:40:06.00ID:AET2t4QY
>>722
未実装のシステムコールを呼んでいるのでsleepコマンドは使えないよ
未実装のシステムコールを呼んでいるのでsleepコマンドは使えないよ
2020/04/28(火) 18:59:32.90ID:JhezuRKL
>>724
sleep 0は動く?
sleep 0は動く?
2020/04/28(火) 19:13:18.04ID:AET2t4QY
>>725
エラーになる
エラーになる
2020/05/01(金) 08:01:21.61ID:o40QEBOU
ViertuelBoxとかVMwちすかいでいいだろ
2020/05/01(金) 09:07:44.55ID:6uucmfW8
ちすかい?
2020/05/01(金) 09:36:02.19ID:Wecifq5I
VirtualBoxとWSLの違い
https://i.imgur.com/7JIsCsd.png
https://i.imgur.com/7JIsCsd.png
2020/05/01(金) 12:35:00.96ID:imYkRUpd
>>729
なんでここの記事を一部だけ画像にして貼り付けるの?
VirtualBoxとWSLを比較してWSLに乗り換えました
https://ryotatake.hatenablog.com/entry/2019/08/15/wsl_vs_virtualbox
なんでここの記事を一部だけ画像にして貼り付けるの?
VirtualBoxとWSLを比較してWSLに乗り換えました
https://ryotatake.hatenablog.com/entry/2019/08/15/wsl_vs_virtualbox
731login:Penguin
2020/05/03(日) 22:12:39.05ID:EmGQJ6S0 WSL2使ってみたけどIPアドレス周りはやっぱり使いづらい
いっそのことブリッジ接続にしてmDNSで名前解決した方が使いやすいと思う
いっそのことブリッジ接続にしてmDNSで名前解決した方が使いやすいと思う
2020/05/03(日) 22:56:31.45ID:HzIYo4aM
ブリッジ接続に変えられる様にして欲しいよな
ポート転送接待するの面倒い
ポート転送接待するの面倒い
2020/05/04(月) 01:00:30.85ID:AbFsj1YM
>>731
ちゃんとローカルIPアドレスで接続できるようになったでしょ?
ちゃんとローカルIPアドレスで接続できるようになったでしょ?
2020/05/04(月) 01:01:09.90ID:AbFsj1YM
2020/05/04(月) 01:13:54.30ID:0OeU85j1
だけど、WSL2環境からホストのWindows環境はlocalhostで接続できないよな?
ifconfigでIPアドレス調べないとダメだったはず。
ifconfigでIPアドレス調べないとダメだったはず。
2020/05/04(月) 01:33:28.91ID:xVnxWD8+
WSL用の仮想LANがパブリックネットワーク扱いなのはどうなんだぜ
2020/05/04(月) 04:43:50.09ID:Frfw4Zhk
2020/05/04(月) 06:59:39.26ID:ecnmuLwN
な 普通の仮想の芯のほうが便利だろ?
2020/05/04(月) 08:48:09.88ID:Frfw4Zhk
2020/05/04(月) 09:55:38.00ID:WANnh7xU
>>732-733
いや外部からの話
いや外部からの話
2020/05/04(月) 10:00:37.31ID:Frfw4Zhk
2020/05/04(月) 10:10:37.85ID:fhAzG6rK
ふわふわしてるので具体例を出してみれば?
2020/05/04(月) 10:15:46.11ID:eyVz2i95
>>742
誰の何に対してそれ言ってるの?
誰の何に対してそれ言ってるの?
744login:Penguin
2020/05/04(月) 18:28:08.36ID:b2qubNIc2020/05/04(月) 18:39:53.85ID:xUCP8Erl
対応は今後どんどんひどくなるってからでいいよ
746login:Penguin
2020/05/04(月) 18:55:18.86ID:mBam+5U6 Linux開発者の多くがWSL上で作業するようになるので、この板に在ったほうが良くないですか?
2020/05/04(月) 19:01:31.23ID:6xrglS5k
>>744
そう思うなら他人任せにせず自ら動けよ
そう思うなら他人任せにせず自ら動けよ
748login:Penguin
2020/05/04(月) 19:03:13.72ID:mBam+5U6 削除依頼は公開されるのでファンネル使ったほうが良いんですよ。
俺は意見を言っただけ、あいつらが勝手にやったと言えるので。
俺は意見を言っただけ、あいつらが勝手にやったと言えるので。
749login:Penguin
2020/05/04(月) 19:04:31.33ID:mBam+5U6 X410の良いところはストアからインストールするだけで使えるところですね。
2020/05/04(月) 19:35:58.10ID:05bo0Njj
この星の無数の塵の一つだと
今の僕には理解出来ない♪
今の僕には理解出来ない♪
2020/05/04(月) 20:45:07.99ID:eyVz2i95
賢いつもりの無能が一番害悪とよくわかる流れ
2020/05/04(月) 20:49:42.80ID:WANnh7xU
2020/05/04(月) 23:35:45.48ID:xUCP8Erl
2020/05/05(火) 04:33:22.18ID:yCzntEt3
WSL は、Windows でgrep できないから、Linux を使うためのもの
Windowsには興味がなくて、Linuxに興味があるから、この板でよい
Windowsには興味がなくて、Linuxに興味があるから、この板でよい
2020/05/05(火) 05:02:21.75ID:i2HVAc0c
>>753
いやだからそれしか方法無いってことでしょ?
いやだからそれしか方法無いってことでしょ?
2020/05/05(火) 05:25:10.37ID:2B3j7MlD
>>755
WSL1を使うという方法もある
WSL2はWSL1の代替ではなく両方メンテナンスされる
動作モードの違いのようなもの
WSL1とWSL2はモードの切替に数分かかるものの相互に変換できる
またDockerを使う方法もある。ただしUbuntuに直接入れるのではなく
Docker for Windowsを使うこと。これはWSLから接続することも出来るが
WSLを必要とせず、コマンドライン+Windowsでも動作するものなのだから
外部から接続することも出来るだろう
WSL1を使うという方法もある
WSL2はWSL1の代替ではなく両方メンテナンスされる
動作モードの違いのようなもの
WSL1とWSL2はモードの切替に数分かかるものの相互に変換できる
またDockerを使う方法もある。ただしUbuntuに直接入れるのではなく
Docker for Windowsを使うこと。これはWSLから接続することも出来るが
WSLを必要とせず、コマンドライン+Windowsでも動作するものなのだから
外部から接続することも出来るだろう
2020/05/05(火) 17:50:03.59ID:p9Osjn7I
2020/05/05(火) 17:53:49.22ID:p9Osjn7I
2020/05/05(火) 18:14:05.16ID:mwWDCgmO
自演ミス?
2020/05/05(火) 18:47:00.89ID:p9Osjn7I
>>759
追伸
追伸
2020/05/06(水) 02:51:19.93ID:rVlEFKd1
wsl2を使ってみているんだけど、Linux側からwsl.exe -l -vをやると、コマンドの出力にnull文字が沢山含まれている。
どうしてだろ?
どうしてだろ?
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
普通はWindowsのコマンドはコードページを変えるとそのコードページに合わせて
文字コードを切り替えるようになってるんだけどねぇ
wsl.exeの出力はコマンドプロンプトでchcp 65001してもchcp 437しても
切り替わらない。何故か常にUnicode(UTF16)ででてる
wsl.exeはもちろん英語でも対応してるんだから文字コードを
切り替えることができるはずなんだけど
wsl.exeのバグだろうね
https://github.com/microsoft/WSL/issues/4607
2020/05/06(水) 03:50:08.90ID:rVlEFKd1
>>762
UTF-16かぁ。とりあえず不具合ということでスッキリした。ありがとう。
UTF-16かぁ。とりあえず不具合ということでスッキリした。ありがとう。
2020/05/06(水) 04:03:18.09ID:jgfxEe9J
-l -vの出力にASCII外の文字がないのは幸いだったな
2020/05/06(水) 04:15:54.93ID:rVlEFKd1
nkfはasciiと判別するんだよな。-W16L付けると変換してくれるけど、wsl.exeのバグが修正されるとまたおかしくなる。スクリプト書くときの話です。
2020/05/06(水) 04:23:59.54ID:rVlEFKd1
WSL2いいなぁ。WSL1と同様、瞬時に起動する。dockerも使えたし、sshfsなんかも動くんだね。
2020/05/06(水) 04:43:40.59ID:SQ9H4ybg
>>765
今の時代nkfとか日本専用のツール使うの卒業しろよ。iconv使え。
wsl.exeのバグが修正されたらとかあとで考えればいいと思うが
wsl.exe --helpの2バイト目がnull文字かどうかで判断すればいいだけだぞ
シェルスクリプトではnull文字は直接扱えないから
cut?head?とod使うことになるだろうけど
今の時代nkfとか日本専用のツール使うの卒業しろよ。iconv使え。
wsl.exeのバグが修正されたらとかあとで考えればいいと思うが
wsl.exe --helpの2バイト目がnull文字かどうかで判断すればいいだけだぞ
シェルスクリプトではnull文字は直接扱えないから
cut?head?とod使うことになるだろうけど
2020/05/06(水) 04:44:04.06ID:SQ9H4ybg
あとfileでもある程度検出できるな
769login: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
nkf は Ubuntu のディストリビューションに標準で入っているよ。
iconvは入力文字の自動判定ができないので、nkfを使ってみたんだけど、
結局自動判定できなかった。
公開するコマンドに組み込んで使いたいので、バグの修正後も動くものに
したい。結局、以下のどちらかにしようと思う。後者の方が良さそう。
wsl.exe -l -v | tr -d '\0' | tr -d '\r'
wsl.exe -l -v | sed 's/[^[:print:]]//g
2020/05/06(水) 10:32:33.18ID:rVlEFKd1
あ、ごめん。nkf は cmigemo の依存パッケージでした。
おそらく、cmigemo をインストールしたときに一緒に入ったんだと思う。
公開するコマンドということから、nkf は使うべきでないコマンドでした。
おそらく、cmigemo をインストールしたときに一緒に入ったんだと思う。
公開するコマンドということから、nkf は使うべきでないコマンドでした。
2020/05/06(水) 10:52:20.94ID:zTyp00tA
iconvも必ずしも入ってるか?と言われたら疑問残るけどね
POSIXで規定されてるとは言えたしか比較的最近の話だったはずだし
ああでもDockerイメージのdebianもcentosもalpineですら入ってるのか
なら問題ないかもな
あとは本質的にはWindows側の問題なんだからwsl.exeのラッパーバッチファイルとか
作るってのもありかもね。バッチファイルでできるかしらんけど
できなきゃvbscriptやpowershellを使うとかね
POSIXで規定されてるとは言えたしか比較的最近の話だったはずだし
ああでもDockerイメージのdebianもcentosもalpineですら入ってるのか
なら問題ないかもな
あとは本質的にはWindows側の問題なんだからwsl.exeのラッパーバッチファイルとか
作るってのもありかもね。バッチファイルでできるかしらんけど
できなきゃvbscriptやpowershellを使うとかね
2020/05/06(水) 13:44:13.65ID:vyWpj2fr
日本語のために必要なツールなんだから、
別にどれ使ったっていいんだよ
今でもlessの文字化け対策にlv併用してるくらいだわ
別にどれ使ったっていいんだよ
今でもlessの文字化け対策にlv併用してるくらいだわ
2020/05/06(水) 14:13:32.37ID:OM1MkCCv
どれ使ってもいいなら、なおのことiconvでしょ?
POSIX準拠
POSIX準拠
2020/05/06(水) 15:15:31.86ID:mTouaUlT
Ruby は標準で、NKF も入っている
nkf(Network Kanji code conversion Filter, https://osdn.net/projects/nkf/) を
Ruby から使うためのモジュールです
NKF.guess(文字列)で、文字コードをそこそこ推測できる
nkf(Network Kanji code conversion Filter, https://osdn.net/projects/nkf/) を
Ruby から使うためのモジュールです
NKF.guess(文字列)で、文字コードをそこそこ推測できる
2020/05/06(水) 15:18:05.84ID:OM1MkCCv
Rubyが標準で入っていない
2020/05/06(水) 15:29:15.72ID:ajLBsLop
alias less=lv
にしちゃってるな
にしちゃってるな
2020/05/06(水) 15:50:55.85ID:iqoJrc+c
スクリプトとかでは使わんけどnkfのほうがコマンドとしては簡単だから手打ちでは使うな
2020/05/06(水) 19:59:38.30ID:rVlEFKd1
WSL2でもmount typeでdrvfs使えるんだね。
ファイルサーバのマウントはcifsに置き換えかと思っていたら肩透かし。
ファイルサーバのマウントはcifsに置き換えかと思っていたら肩透かし。
779721
2020/05/07(木) 19:28:17.41ID:rGgpyf/C sleepコマンドが使えない件、Slowビルド19041.208では未解決だけど、Fastビルド19619.1000では解決されてた。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-21日本代表、韓国に敗れアジア大会銀メダル チケット完売の決勝戦…16年ぶり優勝逃す★2 [ゴアマガラ★]
- 【サッカー】U-21日本代表、韓国に敗れアジア大会銀メダル チケット完売の決勝戦…16年ぶり優勝逃す★3 [ゴアマガラ★]
- 経済同友会、「金融所得課税の強化」提言…税・社会保険料の負担大きい年収400万円までの世帯支援に活用 [首都圏の虎★]
- 【実況】アジア大会 男子サッカー決勝 『日本 vs 韓国』 TBS系 19:30~ [冬月記者★]
- 【野球】セ・リーグ G 2-5 DB [10/3] 阪神タイガース初のセ・リーグ連覇達成 DeNA5割以上確定 巨人2位でシーズン終了 [鉄チーズ烏★]
- 自民党幹部「辞めさせない」 簗大臣の発言「格好つけて言ってしまっただけ」 [バイト歴50年★]
- 【高市悲報】トランプさん「ウクライナのレアアース鉱山ゲットだせ✌😆」 [616817505]
- 【実況】博衣こよりのえちえちこんこよ高校2026-3年目春-🧪☆6
- 【🏡】ふーたん🔥と畳🌿の見分け方
- 【実況】博衣こよりのえちえちこんこよ高校2026-3年目春-🧪☆5
- 【速報】死後の世界、あった [308389511]
- 愛知アジア大会サッカー決勝、優勝した韓国の国旗掲揚に失敗 [963243619]