X



トップページLinux
1002コメント312KB
【Bash】Windows Subsystem for Linux【WSL】3
■ このスレッドは過去ログ倉庫に格納されています
0016login:Penguin
垢版 |
2018/06/06(水) 09:25:17.12ID:QLTWDKnR
>>15
WSLにmingwパッケージを入れてWindowsのバイナリをコンパイルできる。
クロスコンパイルってやつ。
0017login:Penguin
垢版 |
2018/06/06(水) 11:45:30.96ID:AI9i/Z9P
普通にVisualStudioでいいだろ
0018login:Penguin
垢版 |
2018/06/06(水) 12:16:00.43ID:9DNa5U9j
>>14
C++17だと大丈夫みたいだぞ。
C++03の頃は、clで確認後、gccでビルドすると通らないのが普通だった。
必ず修正が必要で、すり合わせを行っていた。
ところがC++17を指定するとgccが賢くなるらしく、すり合わせの必要が全くない。
ちなみにC++17はgcc7からなので、例えばUbuntu16.04などにはパッケージがない。
0019login:Penguin
垢版 |
2018/06/06(水) 12:25:16.58ID:J8/ewzT3
SwiftをWSLで動かそうとしたが、コンパイルが低速でVMでやったほうが速かった・・・
0020login:Penguin
垢版 |
2018/06/06(水) 12:26:56.27ID:9DNa5U9j
Visual Studio 2017、CMakeプロジェクト、WSLという環境だと、インテリセンスがLinux側の標準ヘッダを拾ってくれなくてWindows側にフォールバックするな。
何か設定が必要なんだろうか。
0021login:Penguin
垢版 |
2018/06/06(水) 12:33:13.41ID:9DNa5U9j
>>19
LinuxにもVCPKG導入して使うことにしたんだけど、Boostですら何とかなってるけどな。
0022login:Penguin
垢版 |
2018/06/06(水) 12:40:12.82ID:9DNa5U9j
新しめの環境が使いたいC++使いは、WSLにUbuntu18.04を入れるのがお勧め。
これでgcc7が使える。
それでも、ライブラリは最新じゃないから、パッケージマネージャとしてVCPKGを導入したほうが良い。
0024login:Penguin
垢版 |
2018/06/06(水) 13:42:37.51ID:9DNa5U9j
>>23
まあ何かそういう単純なことなんだろうけどな。
0025login:Penguin
垢版 |
2018/06/06(水) 13:43:27.97ID:9DNa5U9j
ビルドはできるので、CMakeCacheには入っているはずなんだけどなあ。
0026電波いつぱい
垢版 |
2018/06/06(水) 20:47:00.10ID:FPVhL3fX
>>16
なるほど win 上のlinuxでwinのバイナリを作るのは不思議な気がするけど、msys使うのと変わらないのか
0027login:Penguin
垢版 |
2018/06/06(水) 20:55:48.88ID:SUG0iLYB
尊師はグレースホッパー賞受賞してるんだな。
0028login:Penguin
垢版 |
2018/06/08(金) 13:42:10.24ID:5F4N0yW+
インテリセンスの問題は、Linuxから情報を収集するのに時間が必要だっただけで、普通にLinux側のヘッダに合わさったわ。
Linux側のSSHサーバーを情報収集が終わるまで起動したままにしとかないとダメってことだな。
0030login:Penguin
垢版 |
2018/06/08(金) 18:40:25.67ID:f7KlTzKv
Linux側のシステム・ヘッダでインテリセンスが効くようになったものの、問題発生。
CMakeで指定しているC++17の設定が反映されていない。
__cplusplus < 201103Lに引っかかってしまう。
ビルド時はきちんと設定されているのだが。
0033login:Penguin
垢版 |
2018/06/08(金) 19:14:28.03ID:f7KlTzKv
ホントは知ってるんだろ。
教えれ。
0034login:Penguin
垢版 |
2018/06/08(金) 19:15:22.19ID:f7KlTzKv
もしかしてこれも待ってればいいだけなのか?
0035login:Penguin
垢版 |
2018/06/08(金) 22:39:53.33ID:gC18cOCh
環境を作ることが目的になってなければいいけど。
どういうプロジェクトに参画してるんだろう。
0036login:Penguin
垢版 |
2018/06/08(金) 22:48:31.44ID:f7KlTzKv
今のところ、clとgccの違いはテンプレート仮引数名の衝突だけだな。
C++17を有効にするとだいぶ統一されるようだ。
0037login:Penguin
垢版 |
2018/06/08(金) 22:54:42.65ID:P57pmqSu
Excelから出力したCSVのように一行(?)の中に改行が含まれた
データを扱うにはどうしたら良いでしょうか?
0038login:Penguin
垢版 |
2018/06/08(金) 22:57:54.66ID:TmMHprIb
WSLで処理するのかね?
0040login:Penguin
垢版 |
2018/06/08(金) 23:04:35.38ID:f7KlTzKv
>>37
セル内改行は\n、カラムの改行は\r\nになってるらしいよ。
004137
垢版 |
2018/06/08(金) 23:11:14.05ID:xiQiBDa/
もう少し具体的に書きます。

カンマ区切りのCSVデータだと仮定して、
シェルスクリプトの中に関数を一行ごとに呼び出し、
列を引数に対応させたいです。

例えば以下のような内容のファイルがあったとして
a1,a2,a3,a4
b1,b2,b3,b4
c1,c2,c3,c4

syori "a1" "a2" "a3" "a4"
syori "b1" "b2" "b3" "b4"
syori "c1" "c2" "c3" "c4"

という風にsyori関数を呼び出したいのです。

ただし実際には各項目(a1等の部分)にExcelから出力したデータのように
改行やカンマやダブルクォートやシングルクォートや空白が入ることがあるのです
0042login:Penguin
垢版 |
2018/06/08(金) 23:14:50.91ID:OJuwRDUg
>>37
どういうレベルで扱いたいんだ?
プログラム組めるならその言語用CSV用ライブラリ使えば普通に対応できる。
0043login:Penguin
垢版 |
2018/06/08(金) 23:15:27.30ID:xiQiBDa/
>>40
それで思い出しました。
各項目には \ が入ることもあります。

今回はCSVではありませんが、RFC4180(=ExcelのCSVの仕様)では
改行が\nのようにエスケープされません

https://ja.wikipedia.org/wiki/Comma-Separated_Values

> フィールドがコンマ、ダブルクォート、改行を含む場合は、かならずダブルクォートで囲む。
> また、フィールドに含まれるダブルクォートは2つ並べてエスケープする。
>
> "日本 CRLF
> 国","""東京""","127,767,944" CRLF

↑「日本国」の国の前に改行が入っている場合
0044login:Penguin
垢版 |
2018/06/08(金) 23:16:43.70ID:OJuwRDUg
つうかWSLの話じゃねえ
0045login:Penguin
垢版 |
2018/06/08(金) 23:17:33.26ID:xiQiBDa/
あ、スレ間違えました。移動します。(おかしいなぁ?)
0047login:Penguin
垢版 |
2018/06/08(金) 23:24:04.02ID:f7KlTzKv
Awkマスターのスレで聞くとわかるんじゃないだろか。
まさにWSLの有効な使い方だろな。
0048login:Penguin
垢版 |
2018/06/08(金) 23:27:57.65ID:f7KlTzKv
Bashとスレタイに入ってるから、ここに来たのか。
0049login:Penguin
垢版 |
2018/06/08(金) 23:49:11.04ID:TmMHprIb
awkじゃ改行コードの検出は無理だろうな。perlとかPythonの領域じゃね
0052login:Penguin
垢版 |
2018/06/09(土) 07:42:27.99ID:bAfqRkxr
UNIX板のスレによると、Linuxのawkは普通のawkより強いらしいぞ。
0053login:Penguin
垢版 |
2018/06/09(土) 08:02:24.52ID:b4L3Rbm8
行単位で処理するawkでフルスペックCSVが処理出来る程強化
されているのかぁ凄いなぁ
0054login:Penguin
垢版 |
2018/06/09(土) 09:43:32.83ID:qyWyw5bM
多くは書かねえ
たった一行
0056login:Penguin
垢版 |
2018/06/10(日) 01:37:08.88ID:l34j97YU
>>52
LinuxというかGNUのな。GNUはオリジナルに機能拡張している
LinuxのコマンドはほとんどオリジナルのではなくGNUの。Linuxはオリジナルを入れてないからGNU Awkをawkとしている。オリジナルがあるとこではgawk(GNU自体がgawkと称しもする)だな

>>51
getlineを使えばやってやれないこともないだろう
0057login:Penguin
垢版 |
2018/06/10(日) 19:51:04.64ID:tySbLpkG
April 2018 UpdateしたらWSLの環境が消滅したんだけど
どうしてくれるの
0058login:Penguin
垢版 |
2018/06/10(日) 20:00:21.05ID:tySbLpkG
なんかストアから新しいディストリビューション入れたら旧いUbuntu環境も立ち上がるようになった
わけがわからないよ
0059login:Penguin
垢版 |
2018/06/10(日) 20:08:04.19ID:Zb+VVfMm
電源入れた後はエラーで起動せず、再起動後にやっと動くという謎の不具合。
0060login:Penguin
垢版 |
2018/06/10(日) 20:34:53.30ID:xzpIDwN1
DockerみたいにExportしてあとで環境を再構築できる機能が欲しいな。
そうじゃないと安心して使えない。
0061login:Penguin
垢版 |
2018/06/11(月) 00:23:31.37ID:cargbX7Z
>>60
ようするに環境構築の話だろ?
ansibleとか使えば?
0062login:Penguin
垢版 |
2018/06/11(月) 22:21:04.06ID:qMOfIRRg
>>60
WSLにこだわるなら、 tarで / のバックアップとってとかじゃダメ?

まか、そういう使いかたならVirtualbox なり VMWareが向いていると思う。
0063login:Penguin
垢版 |
2018/06/12(火) 01:02:35.21ID:k63k9iOK
というかだよ。
WSLの設計としては、ソースコードはC:\Users\name 以下に置いて
それを /mnt/c/Users/name から参照する想定でしょ?
シンボリックリンクをつければ ~/ 以下から参照できるし
だからWSLの環境が削除されてもデータは残る
0064login:Penguin
垢版 |
2018/06/12(火) 01:21:09.49ID:3Yh+cb/p
そもそも/mnt以下で作業せんなあ
0065login:Penguin
垢版 |
2018/06/12(火) 01:28:40.33ID:k63k9iOK
>>64
うん。だからシンボリックリンクでHOME以下に
持ってくればいいわけだよ
0066login:Penguin
垢版 |
2018/06/12(火) 02:10:22.69ID:3Yh+cb/p
そういうことじゃなくてdrvfs上で作業したくないという話
0067login:Penguin
垢版 |
2018/06/12(火) 03:49:02.76ID:k63k9iOK
だからdrvfs上で作業しろよ
パーミッション、タイムスタンプ、保存できるようになっただろ
0069login:Penguin
垢版 |
2018/06/12(火) 13:34:58.21ID:OTTcUzHj
Ubuntu 16.04 も、自動的に、新しいバージョンに更新されていた
0070login:Penguin
垢版 |
2018/06/12(火) 13:39:28.00ID:OTTcUzHj
漏れは、~/.bash_aliases に、ドキュメントフォルダーへのalias を定義してる

export LANG=ja_JP.UTF-8

shopt -s expand_aliases

alias mydoc='cd /mnt/c/Users/Owner/Documents'
0071login:Penguin
垢版 |
2018/06/12(火) 18:07:27.51ID:yxOQVLv7
WindowsにLinuxが入った!
今度のWindowsはLinux入り!
0072login:Penguin
垢版 |
2018/06/12(火) 18:45:30.30ID:Yoj6Uvnq
Linuxは入ってねーよ。
もしLinuxはGPLなんだからWindowsもソース公開しなきゃならない!
とかいうやつが現れたりしても無駄。
なにせLinuxは入ってない

Windowsが独自にLinux互換機能を搭載しただけ
WindowsというOSを作っていながら、
片手間でLinux OS互換にするとはすごいね
0073login:Penguin
垢版 |
2018/06/12(火) 19:35:14.81ID:yxOQVLv7
入った!
超入った!
Windows + Linuxのお得なWindowsが今度のWindows!
0074login:Penguin
垢版 |
2018/06/12(火) 19:36:45.44ID:Yoj6Uvnq
あー、まあそれでいいよw
WindowsがLinux相当の機能を含んだのはそのとおりだし
鬼に金棒ってやつだ。
もうわざわざLinuxを使う必要がない
0075login:Penguin
垢版 |
2018/06/12(火) 20:39:27.18ID:6oT4MB0T
Linuxの機械学習系のソフトで、実用的な速度で学習ができれば申し分ないんだが・・・
0076login:Penguin
垢版 |
2018/06/12(火) 22:04:05.34ID:fJ4Xf2OU
機械学習を計算サーバでない場所でやろうというのがおかしい

しかも「実用的な速度」などとのたまう
0077login:Penguin
垢版 |
2018/06/12(火) 22:30:44.63ID:RvhtRCit
unixもどきのlinuxもどきが使えるようになったとか言って喜んでる欠陥OSユーザーwww
本物のunixであるmacの前にひれ伏すが良い
0078login:Penguin
垢版 |
2018/06/12(火) 22:36:45.57ID:XAW4hJh7
MacもMacで独特のクセがある。
ユーザーランドはGNUなのかBSDなのかどっちつかずで・・・
0079login:Penguin
垢版 |
2018/06/12(火) 22:39:42.13ID:yxOQVLv7
本物のWindowsであるWinndowsに敬礼!
0080login:Penguin
垢版 |
2018/06/13(水) 06:36:33.12ID:Jb47/52i
>>76
要はGPUを使いたいんだよね。
0081login:Penguin
垢版 |
2018/06/13(水) 17:21:15.77ID:/WIHRBuT
Microsoft Linuxの時代来たーー!!!
0083login:Penguin
垢版 |
2018/06/13(水) 17:47:24.43ID:/WIHRBuT
それは、ライブドアウィンドウズ。
0084login:Penguin
垢版 |
2018/06/13(水) 17:48:07.61ID:/WIHRBuT
Microsoftが作った本物のLinuxキターー!!
0085login:Penguin
垢版 |
2018/06/14(木) 02:51:46.72ID:A/3HrHQn
中身うぶんつとかすーぜーじゃん
せんとくんもってこいや
0086login:Penguin
垢版 |
2018/06/14(木) 06:03:56.27ID:PjHsdcGq
セント君はレッドハットとの契約上、Microsoft社のカーネルで稼働させられないらしいけど。
0087login:Penguin
垢版 |
2018/06/14(木) 08:41:36.56ID:u3exA41c
>>86
商用パッケージが含まれるRHELならともかく、
CentOSはもともとRHELと無関係のプロジェクトで
レッドハットと何ら契約を結んでないのでそれはありえない
そんなことをしたらGPL違反になる
0088login:Penguin
垢版 |
2018/06/14(木) 08:44:34.29ID:u3exA41c
WSL上でCentOSが使いたいなら、こんなものもある
https://github.com/RoliSoft/WSL-Distribution-Switcher

これらに対応しているようだ(多分イメージを用意すればその他も動くのだろう)

debian, ubuntu, fedora, centos, opensuse, mageia,
oraclelinux, alpine, crux, clearlinux
0089login:Penguin
垢版 |
2018/06/14(木) 08:51:52.98ID:urVNXLRO
>>87
今となってはRedHat様がスポンサーのプロジェクトですがw
0090login:Penguin
垢版 |
2018/06/14(木) 09:02:30.55ID:PjHsdcGq
>>87
セント君はレッドハットと協業契約を結んでいて、そのおかげで訴訟の心配なく使えるようになったのが売りだと思いますが。
0091login:Penguin
垢版 |
2018/06/14(木) 09:04:01.35ID:PjHsdcGq
セント君を使ってもレッドハットから訴えられることはありません。
だけども、Windows上で動かすことはできません。
まあそんな仕組み。
0092login:Penguin
垢版 |
2018/06/14(木) 09:46:28.68ID:u3exA41c
何を言ってるんだ? CentOSとレッドハットが協業したからって
OSのライセンスがGPLである以上、Windows上で動かすことが
できないなんて追加ライセンスはつけられないんだが?

それにマイクロソフトもレッドハットと協業している。仲いいんやで?w

マイクロソフトとレッドハットがついに結んだ画期的パートナーシップの全貌
https://forbesjapan.com/articles/detail/10256

Microsoft AzureではRHELとCentOSもサポートしている
https://azuremarketplace.microsoft.com/ja-jp/marketplace/apps/category/compute?page=1&;subcategories=operating-systems

ほんと、なんですぐバレる嘘をつくんだろう?w
0093login:Penguin
垢版 |
2018/06/14(木) 10:11:22.91ID:PjHsdcGq
>>92
Redhatをコピーして売ることはできません。
0094login:Penguin
垢版 |
2018/06/14(木) 10:51:02.64ID:TErDx0lx
RedhatはしらんけどCentOSは売れるぞ
0095login:Penguin
垢版 |
2018/06/14(木) 11:37:44.04ID:PjHsdcGq
レッドハットはオープンソース企業なので、大規模にセント君売ったら、訴訟起こされるだけですよ。
0096login:Penguin
垢版 |
2018/06/14(木) 11:38:48.09ID:PjHsdcGq
レッドハット傘下で細々とやる分にはお目こぼしいただけるのです。
体験版みたいな感じですね。
0097login:Penguin
垢版 |
2018/06/14(木) 12:03:40.25ID:w6GdFZos
なにいってんだこいつ
0098login:Penguin
垢版 |
2018/06/14(木) 12:16:16.91ID:HCvIp01z
アホが暴れててワロタw
0099login:Penguin
垢版 |
2018/06/14(木) 12:20:27.34ID:zG+6n9rw
>>94
> RedhatはしらんけどCentOSは売れるぞ

CentOSはコピーして売っても良いことを知ってるから
>>93はあえてRedhatだけしかかかなかったんだよ。

つまりCentOSは使ってもいいと
本当は知ってるわけw
0100login:Penguin
垢版 |
2018/06/14(木) 13:04:57.00ID:sUb83UbF
そういや、赤帽の軽トラ見なくなったな・・・
0101login:Penguin
垢版 |
2018/06/14(木) 14:37:12.30ID:DMXqBtUR
CentがダメならScientificがある
0102login:Penguin
垢版 |
2018/06/14(木) 15:30:30.48ID:PjHsdcGq
RedhatよりオープンなWindowsを推薦します!
0103login:Penguin
垢版 |
2018/06/14(木) 19:50:04.76ID:PjHsdcGq
モバイルはGoogle Android/Linux。
デスクトップはMicrosoft WSL/Linux。
0104login:Penguin
垢版 |
2018/06/14(木) 20:16:02.88ID:1hB8qL73
だからWSLはLinuxじゃねーっての
0105login:Penguin
垢版 |
2018/06/14(木) 20:18:58.77ID:1hB8qL73
Windows/NTカーネル
Ubuntu/NTカーネル
Debian/NTカーネル
0106login:Penguin
垢版 |
2018/06/14(木) 20:29:28.83ID:PjHsdcGq
IBM純正UNIXがあるように、Microsoft純正Linuxがあるのです!
0107login:Penguin
垢版 |
2018/06/14(木) 20:30:47.87ID:PjHsdcGq
Microsoft純正LinuxならRedhatに訴えられません。
0108login:Penguin
垢版 |
2018/06/14(木) 20:33:17.16ID:aBmapGry
WSLはlinuxカーネルを乗っけてるんじゃなくて、linuxのシステムコールをWindowsカーネルで処理してるだけ。
だからhtopコマンドを打ってもシステム全体が見えるだろ?Windowsの開発チームは優秀だし、linuxのAPIは移植可能なぐらいきれいだったってことだ。
だけど、逆は無理だろうな、wineはwindowsがオープンソースじゃないからバイナリ依存してる。
でもJavaなんかのシステムコールはwindowsに直接投げるより、WSLに投げたほうが遥かに早いので、なんだか皮肉だけど。
0109login:Penguin
垢版 |
2018/06/14(木) 20:38:27.55ID:1hB8qL73
Microsoft純正WSLな

Linuxじゃなくて、Windows Subsystem for Linux

LinuxのためのWindowsサブシステム

WSLを使うとLinux上で動くディストリ
例えばUbuntuなどが動いてしまう

Ubuntuから見ると、WindowsがまるでLinuxのように見えてしまう
それを実現しているのがWSL
0110login:Penguin
垢版 |
2018/06/14(木) 20:42:47.02ID:gLjdUM/u
Windowsは柔軟に設計されてるんですね。
0111login:Penguin
垢版 |
2018/06/14(木) 20:43:08.97ID:1hB8qL73
>>108
> だからhtopコマンドを打ってもシステム全体が見えるだろ?

そこはよくわからん。
タスクマネージャーからWSL上のプロセスは見えるが、
WSLの中からWSLの外のプロセスは見れないようになってる
でないと、複数のディストリを動かしたりできない
0112login:Penguin
垢版 |
2018/06/14(木) 20:45:42.13ID:aBmapGry
>>111
システム全体ってのが悪かった、ハードのシステムが見渡せるでもいい。つまり、メモリが割当いくらとか、CPUのコアがいくつとか、そういうたぐいの仮想化じゃないってこと。
0114login:Penguin
垢版 |
2018/06/14(木) 20:54:13.78ID:PjHsdcGq
Windowsに死角なし!
0115login:Penguin
垢版 |
2018/06/14(木) 21:04:08.56ID:PjHsdcGq
もうこれLinuxいらないから。
■ このスレッドは過去ログ倉庫に格納されています

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