Bash on Ubuntu on Windows©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
Windows 10 Anniversary Update から搭載された Bash on Ubuntu on Windows について語り合うスレッドです。 WSLでXサーバを立ち上げる→無理でしょ
WSLでXなアプリを起動して他で動いてるXサーバで表示する→できるでしょ
これだけの話ではないの >>100
bash on Windows10のXは動かないよ。
Xのアプリを使いたいなら、VcXsrvとかCygwinとかXmingなどの
WindowsアプリとしてのXサーバをインストールして、
bash on Windows10側で表示先を設定してやれば良い。
俺が試した限りでは、FirefoxやXfce4あたりは動作した。
海外ではUbuntu Unityを動かした例もあるらしい。 Windows側のXをマルチウインドウモードにして、Firefoxあたりを単体で
動かすと、Windows版Firefoxとあまり変わらない速度で動作するね。
scim-anthyをインストールすれば、日本語入力もできるようになるし。
Ubuntu側のFirefoxを使えば、妙なマルウェアに感染しても>>12の方法で
即リカバリできて良さげ。 いずれdockerアプリケーションをインストールするみたいに、WindowsないしWindowsServerにLinux/OSS系のアプリケーションをインストールして使うようになるんでは
開発環境だけじゃなくて、本番環境でもそういう使い方されるようになるのでは それやると、Linuxの穴とWindowsの穴の両方みないといけないから
まともなところは採用しないと思うけど 今の状態だと無理だけど将来的にそういう状態になってLinuxの資産をWindowsに全部持ってくるのを狙ってるとおもう WSLにDockerインストールしたけど動かなかったずら >>120
それをやるならubuntuじゃなくてRHELを持ってこないと。 要するにLinux用のアプリケーションは、ミドルウエアだろうと、Rubyで書いたスクリプトだろうと、Goでコンパイルしたバイナリだろうと、そのままほぼオーバーヘッドなしに動く
これまでASP.Netなアプリを作っても、フロントのnginxやストレージのmysqlは、別ホストにLinuxを用意しないと行けなかったのが、一台のWindowsマシンで完結できる ディスクIOのオーバーヘッドはそれなりにデカい気がするよ 仮想マシンからWindows領域のファイルを操作するのよりは速いよ 仮想マシンのような”余計な”オーバーヘッド無しでというのが正確だな
windowsのディスクIOの性能が低いのは仕方ない それは難しいんじゃないかな
本当にそうならCygwinやSFX/SFU/Interix、coLinuxそれぞれの
登場時期にそれなりのアクションがあったはず
特にcoLinuxはWSLとよく似ていてサブシステムの替わりにカスタムカーネルで動いて
Linuxバイナリがそのまま動いて任意のwin側フォルダをマウントして読み書きする機能を
持ってたけど全然流行んなかったよね 仮想化に比べるとやはり早いのかな?
ネットワークが使えないの?
それだと外部にサービスを提供はできないね。 要約すると、おっぱいと仮想化は、触れるつもりがなけ
れば、あれこれ考えるなってことなんだよ。 Linuxサブシステムはおもしろい。しかし、Interix64の登場をまつ。あれこそMicrosoftのUnixだ。
ちなみにMicrosoftはXenixと言う古いUnixのメーカーで、世界初の商用Unixメーカー。
昔はそれなりに普及していた。今のSCO Open Unix InterixはSoftway Systemsが作った製品でMicrosoftがSoftway Systemsを買収した
Microsoftがそれ以前に提供していたWindows Services for UNIXはInterixに置き換えられた
SUA(Subsystem for Unix Application)を止めてWSLを出したことで
WSLが現時点でMicrosoftのUnixライク環境に位置づけられた
今後Interixが復活することは多分無い >>136
>>85
スレ内既出とかマルチポストは嫌がられることあるから止めたほうが無難 ウインドウ閉じるとすべての設定とか作業ファイルが消えるんだがなぜだ BUWにPythonとAnaconda導入した方いませんか? >>141 ありがとうございます, そこらへんを参考にanacondaを入れたのですが
jupyter-notebookを立ち上げようとすると
以下のエラーが表示されて起動しません,
同じ症状になりませんか?
IPython Notebook requires JavaScript.
Please enable it to proceed.
Jupyter Notebook
• Files
• Running
• Clusters
・
・
・ >>142
notebook自体はちゃんと立ち上がって入るけれど、w3mというブラウザが自動的に開いちゃってる状態だと思う
その状態でもchromeやらfirefoxやらからlocalhost:8888にアクセスすればnotebook自体は使えると思うがどうだろう?
w3mが自動で立ち上がらないようにするには
$ jupyter notebook --no-browser
として起動すればいい
毎回こう打つのが面倒なら設定ファイルを作成して、それを編集するやり方もある。以下のURLなど参考に
http://www.task-notes.com/entry/20160204/1454513778 >>144さん
ご返信ありがとうございます.
$jupyter notebook
⇒例のメッセージ
⇒ブラウザでhttp://localhost:8888/
にアクセスするとnotebookが立ち上がりました.
前も同じようにしたのですが, 接続できませんでした.
どうやらjupyter notebookのジョブが働いている状態
で再度命令をしてたんだと思います.
⇒jupyter notebookのNewタブからPythonを選択しようと
してもPython[Root]になってしまいます, 通常は
Python3が選択できるはずですが問題ないのでしょうか?
$jupyter notebook --no-browser
⇒以下の文が出て
⇒ブラウザでhttp://localhost:8888/
にアクセスするとnotebookが立ち上がりました.
これで問題ないのでしょうか?
[W 21:06:03.695 NotebookApp] Unrecognized JSON config file version, assuming version 1
[I 21:06:05.097 NotebookApp] [nb_conda_kernels] enabled, 1 kernels found
[I 21:06:05.593 NotebookApp] [nb_conda] enabled
[I 21:06:05.712 NotebookApp] [nb_anacondacloud] enabled
[I 21:06:05.860 NotebookApp] ✓ nbpresent HTML export ENABLED
[W 21:06:05.861 NotebookApp] ✗ nbpresent PDF export DISABLED: No module named 'nbbrowserpdf'
[I 21:06:05.865 NotebookApp] Serving notebooks from local directory: /home/---
[I 21:06:05.866 NotebookApp] 0 active kernels
[I 21:06:05.866 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 21:06:05.866 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[I 21:07:07.898 NotebookApp] 302 GET / (127.0.0.1) 3.92ms >>145
ちゃんと動いてるようですね!
notebook楽しんでください
Python [Root] となるのは問題ないです
anacondaのjupyter notebookを使うとそういう表示になります
↓この辺で議論されていますで参考までに
https://github.com/jupyter/notebook/issues/1630 >>147 ありがとうございました, とりあえずこれで動いているのですね. 今日のInsire PreviewビルドでCygwinの優位性が一つ失われた 早う実戦で使えるようになってくり・・・そんでWinのコマンドなんて全部要らないんだからpowershellと入れ替えろ powershellはオープンになったんだからbsdあたりはそっちに移行すればいい。
そうすれば紛らわしいシェルスクリプトもなくなる。 >>153 wsltty使え
VcXsrv入れてまで使いたいGUIソフトって何かある?
Xのソフトが動くの面白いっちゃ面白いんだけど使い道が無い…… おれ wsl-terminal + VcXsrv
gimp とかこれで動かすのが速いよ windows側でlinuxサブシステム側のファイルいじるなっていう話出てるけど、逆は大丈夫なの?
cドライブにあるファイルをbash経由のテキストエディタで編集するとか。 要するにNTFSの拡張アトリビュートに対応してないアプリでファイルを更新しちゃ駄目ってこと
エクスプローラーとかは対応してない
bashで更新する分には問題ない >>158
DriveFS以下は拡張属性使わないしエントリのキャッシュもしないからなーんも問題ない
強いて言えばbash側からはDrvFSもcase-sentensiveだってことだな MicrosoftがBash on Windowsユーザに注意喚起「Linuxファイルを作成/変更してはダメ,絶対!」
ttp://gihyo.jp/admin/clip/01/linux_dt/201611/21 次の大型アップデートはいつや
はよ16.04使えるようにしてくれ >>164
今の感じだと来春になりそう。
Insider Preview版はWindows本体が不安定なので、メインのマシンは、手動で16.04に上げている。
事前にprocps, strace, sudoをupgrade対象外(hold)にするのがポイントだと思う。
2ヶ月動かしているけど、特にバージョンアップに伴う問題は生じていないようだし、
このバージョンにしかないパッケージもあって、今の所上げて良かったと思っている。
一応下記の手順でアップグレードした。サポート外だから自己責任になるけど。
(本当はwslのみ別途更新があれば一番なのだが…)
sudo -S apt-mark hold sudo
sudo -S apt-mark hold procps
sudo -S apt-mark hold strace
sudo do-release-upgrade -f DistUpgradeViewNonInteractive -d
sudo -S dpkg --configure -a
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get autoremove
lsb_release -a udfフォーマットのHDDを /mnt にマウントするにはどうすればよいですか? つかいたいやつだけ無理にdeb入れて足りないのも適当に入れたら使えるようになったので満足した どうしてDriverFSだのDeviceFSだの公式ブログもろくに読まずに記事書くライターが存在するんだろう UbuntuのファイルシステムをSDカードに避難させて動かせる? Cドラの容量ないから外付けHDDにデータ入れたいんだけどどうしたら良い? ターミナルのフォントをSource Han Code JPに変更したいのですが,やり方教えてください. Bash on Windowsが強化、Linux版のJavaやGo、PostgreSQLなどもWindowsで実行可能に。3月リリースのWindows 10 Creators Updateで
http://www.publickey1.jp/blog/17/bash_on_windows_creators_update.html
Windows 10 Creators UpdateによってBash on Windowsの完成度がさらに高まり、
Linux版のJava、C++やCから生成されたバイナリなどが実行可能、さらにGo、
Rustにも対応し、PostgreSQLも近々実行可能になると説明されています。
Bash on Windowsとは、Windows 10の内部でUbuntu Linuxを実行することでWindows上で
Linuxバイナリを実行可能にし、またBashなどの各種ツールも利用可能にします。Windows 10内部で
本物のUbuntu Linuxを実行することで実現されており、その仕組みとしてUbuntu Linuxのカーネルに
相当する機能をWindowsカーネルでエミュレーションする「Windows Subsystem for Linux」が用いられています。
Windows 10 Creators Updateによる強化では、JavaやPostgreSQLなどが実行可能になるほか、
コンソール機能も改善され、従来の16色から1600万色へとサポートする色数が大幅に増加。
VTコマンドのサポートも強化。これらによってテキストベースでリッチな表現を行っていた
LinuxアプリケーションのUIも忠実に表現できるようになりました。
またbashからWindowsアプリケーションの起動も可能に。下の画面ではbashからノートパッドを起動したところ。
Window 10本体だけでなく、Visual StudioでのLinux対応も強化が発表されました。
Visual C++ for Linuxでは、Visual Studioで開発中のC++のコードを、sshを通じてターゲットとなるLinuxマシンへ送り、
そこでリンクやコンパイルなどのビルドを実行し、本物のLinuxバイナリを生成可能になりました。
ターゲットとなるLinuxマシンは仮想マシンやベアメタル上のLinux、そしてBash on Windowsも可能。
それだけでなく、Visual Studioから同様にsshを通じてターゲットマシン上でgdbを起動し、Linuxバイナリのデバッグも可能です。
gdbの機能を用いてVisual Studio上でシングルステップ、ブレークポイントの設定、変数のインスペクションなどが利用可能。 ネットワーク機能なんて辛うじてsocket使える程度じゃないの? ネットワーク通信は殆どの機能がsocketの上に作られてるんだから
socketが使えればTCPでもUDPでも、それを使ったHTTPでもSSHでも
なんでもできるだろ。 カーネルのサポートが必要なネットワーク機能って沢山あるし
なんでも出来るわけじゃない ifconfig,pin,arp,traceroute......使えねーぞ >>178
システム系コマンドばっかり
つまり、それ以外のネットワークを使う
アプリは普通に使えるわけね(笑) そのシステム系コマンドが使えないのが不満だって人が多いんじゃないのかな
上位層で動くアプリ使うだけならわざわざこんなもんインストールせんでも素直にwindows用バイナリ使うんじゃないかな なんでLinux環境に入ってまでシステムコマンド使うのかわからん。
そんなのWindowsでいいだろ。
Linux環境はアプリ開発に使うものだ
インフラ用じゃぁない > 上位層で動くアプリ使うだけなら
あぁ、なるほど(苦笑)
アプリを使う側の視点しか持ってなかったのか 前からこのスレって変なWebアプリ屋が出張ってるよな WindowsとLinuxは管理体系が全く違う
LinuxのコマンドでWindowsを管理するのは馬鹿げてるし、その逆もそう >>181
いやいや、ネットワークアプリの開発なんていうなら尚更必須でしょう
ネットワークの状態確認するのにいちいちコマンドプロンプトやパワーシェル立ち上げてpingとかtracertとかってやるわけなんですか?
それじゃあ開発環境としてlinuxをインストールした意味がまるでないじゃない
>>184
それができるようになることを皆期待してるんですよ >>185
訂正してやるよ
ネットワークの状態確認するのにいちいちBash立ち上げてpingとかtracertとかってやるわけなんですか? そんなこと誰も期待してない
ApacheやMySQLがWindowsでも高速に安定して動くようにする
それが目的
Windowsのプロセス確認するのにprocファイル開こうなんて思わないし、Linuxでカーネルパラメータいじるのにレジストリに入りたいなんて需要はない カーネル以外を全部かっさらうわけね
LinuxとかMacOSからの乗り換え需要が結構ありそうね >>185
ネットワークアプリの開発やったことある?
なんでpingやtracerouteが出てくるんだよ。 >>186
当たり前だろアホww
bashでもzshでもいいけどlinux内で完結出来なくてどうするんだよボケw
>>187
windows固有の設定はwindows側でするに決まってるだろ。
カーネルパラメータをレジストリでとか意味わからんwww
windowsとlinuxの共通部分がlinuxからアクセスできなかったり不具合あるからブータレてるやつが多いんだろ。
windowsでlinuxコマンドが動くことがウリなんだからさ。
>>189
アホは黙っとけ
いろいろイチャモンはあるがまだまだこれからだ。
俺はズゲー期待しているぜ。 「Bash on Ubuntu」が発表された時会場が大きく沸いたのは、Windows上から
Bashも含めてUbuntuの機能が全て使えるんじゃないか、という期待もあっての
ことだろうからなぁ。 >>190
> bashでもzshでもいいけどlinux内で完結出来なくてどうするんだよボケw
完結する必要がない。
LinuxからWindowsのコマンドを呼べばいい
Bash on Windowsが強化、Linux版のJavaやGo、PostgreSQLなどもWindowsで実行可能に。3月リリースのWindows 10 Creators Updateで
http://www.publickey1.jp/blog/17/bash_on_windows_creators_update.html
> またbashからWindowsアプリケーションの起動も可能に。下の画面ではbashからノートパッドを起動したところ。 >>192
> Bashも含めてUbuntuの機能が全て使えるんじゃないか、という期待もあっての
それはないなw
Ubuntu(Linux)を使いたいのであれば、仮想マシンでUbuntuがすでに動いている。
会場が沸いたのはなぜMSがそういうことをしたのか?何が目的なのか?だよ。
仮想マシンでは実現できなかったことを実現することが目的であることは
いうまでもない。それはWindowsとの相互運用だよ。
当初からWindows Subsystem for Linuxのなかで動かしたサーバーアプリに
Windowsからネットワーク通信できることが明らかになっている。
仮想マシンでは別マシンとして別のIPアドレスが割り当てられていたが
WSL上のサービスにはlocalhostで接続できるようになる。
ファイアウォールやネットワークのことに悩まされることなく自分のマシン上で
サービスを動かすことができるようになる
ここでサービスは専用のサーバーマシン上で動かすだろ?
自分のマシン上でサービスを動かすことなんてないだろ?と
思ったやつはまさに開発者としての視点が足りないというわけだ。
MSの狙いの一つがWindowsを最高の開発用プラットフォームにしたいのは明らかだろう。
残念ながら今はMacにその地位を奪われている。MacはUnixであるため、BSDでLinuxと
コマンドに多少の違いはあるが互換性が高いためMacで開発したアプリをLinuxで
動かすということはよく行われている。
今のMSの行動を見るとVisual StudiがGCC/GDBに対応したりしてLinuxアプリの開発ができるようになりつつある
Bash on Ubuntu on Windowsもこの流れの一環だよ。
Visual Studio最高のの開発環境を使いながら、Linuxアプリの開発を行う。
最高の開発プラットフォームをMSは目指しているんだよ。 とまあ、俺が言わなくても最初の時点で
開発者のためだってのは明確に言ってるわけだがなw
http://www.atmarkit.co.jp/ait/articles/1603/31/news087.html
> ハンセルマン氏は、「VMでBashやUbuntuを動かしているわけではない。ネイティブな
> Bash LinuxバイナリがWindowsそのものの上で動いている。(中略)awk、sed、grep、
> viなどのLinuxツールが全て使える。高速で軽量だ。各種バイナリは、apt-getでダウンロードして使える。
> Linuxの場合と同様だ。なぜなら、これはLinuxだからだ。Ruby、Redis、emacsなどその他のツールも、
> apt-getでダウンロードできる。私のように、多様なツールを使う開発者にとって、素晴らしいことだ」と書いている。
多様なツールを使う開発者にとって、素晴らしいことだ
> マイクロソフトがWindows Subsystems for Linuxを出した目的について、
> マイクロソフトのハンセルマン氏は次のように記述している。
>
> 「これはLinuxサーバだとか、サーバのワークロードの話ではない。ワークフローの一環として
> Linuxツールを使いたい、あるいは使わなければならない開発者に焦点を当てたリリースだ」
開発者に焦点を当てたリリースだ
> ハンセルマン氏はブログポストで、apt-getしたRedisをスタンドアロンモードで動かし、
> その一方Visual StudioでRedisキャッシュを使うASP.NETアプリを書く例を紹介している。
> アプリを書いた後、Azure Redis Cacheを使うアプリとして、これをMicrosoft Azureに
> デプロイできるとしている。「このように、とても自然なワークフローが実現できる」と同氏は書いている。 開発環境としてねぇ…
素晴らしいことだけど、まずはwindows updateの糞っぷりをどうにかしてくれよ
開発用のマシンとしては最悪だろあれ >>196
Windows Updateも改善されるそうだ。
“Windows Update”の不満は「Windows 10 Creators Update」で解消される?
http://forest.watch.impress.co.jp/docs/news/1038333.html
>まず、“Professional”以上のエディションでPCの更新を一時的に停止する機能が追加された。
>この機能を有効化すると、アップデートの適用を最大で35日間引き伸ばすことが可能。
>また、アップデートからドライバーの更新を除外するオプションも導入された。 >>196
緊急度の高いパッチを放置したあげくに侵入されるようなシステムよりはましだろ。 >>197
>>198
別にupdateを当てたくないわけでは無いんだよな(むしろ積極的に当てるべき)
なにが問題ってアップデートが無駄に遅い、1度でupdateが終わらずに何度もupdateする必要があるとか
ubuntuだとさapt叩いて終わりだろ
何度も再起動したり、updateが当たり終わるまで何度もupdateする必要がない
要はアップデートにかかる時間が遅すぎるから、開発に使ってられるかって事 先日久しぶりに自作PCをクリーンインスコしたら(RS1のインストールメディア使用)
OS再インストール開始から最新WUまで20分以内で終わって結構感心したけどな
再起動もOSインストール後の最初のWU一回だけだったし それはWin10RS1でアプデたまってないからだろうね
Win7SP1とかロールアップISOに当ててもどこか1度失敗したりするし >>200
> 要はアップデートにかかる時間が遅すぎるから、開発に使ってられるかって事
> 要はアップデートにかかる時間が遅すぎるから
それは最初の一回だけ。 >>200
> ubuntuだとさapt叩いて終わりだろ
300MBを超えるアップデートがあったりするんだが?
相当時間かかるよ。 Windowsのアップデートって「アップデートを確認しています」の画面が時々妙に長いのが苦痛だわ
毎月1回は必ずやってるのに、1月は午前中いっぱいこの画面が出てたよ >>194
>>192
> WSL上のサービスにはlocalhostで接続できるようになる。
> ファイアウォールやネットワークのことに悩まされることなく自分のマシン上で
> サービスを動かすことができるようになる
Hyper-vに対応したDockerに先を行かれてる感じか。 >>204
300MB程度で相当時間かかるって言ってたら
マジでWUはやりきれないよ
そもそも確認に数時間かかったりするし > ファイアウォールやネットワークのことに悩まされることなく自分のマシン上で
> サービスを動かすことができるようになる
これだけだとunix domain socketと勘違いされそう >>206
> Hyper-vに対応したDockerに先を行かれてる感じか。
Hyper-Vはマイクロソフト純正の仮想マシンのことなw
仮想マシンでLinuxならずっと前からできてるだろ。
それだと別マシン扱いになって不便なのでWSLができたという流れだよ。
その後WSLが完全にLinuxカーネル互換になれば、Windows上でDockerが
ネイティブに動くようになる。マイクロソフトの狙いはそこにあるだろう
今のDockerだと所詮仮想マシン上で動くものだから、bashでdockerコマンド
叩きたいならDockerを入れてる仮想マシンにログインしなきゃいけないし
Dockerのボリューム機能で書き出してもファイルはホストOS上でなく
仮想マシン上にあったりホストOSから仮想マシンにメモリを割り振って、
それをDockerで利用したりと、よくある仮想マシンの制限にぶち当たる。 >>210
Boot2Dockerの話じゃないの? >>211
何の話? Boot2DockerはDocker用ディストリビューション
今のHyper-V対応Dockerというのは実態は、汎用的な
LinuxディストリビューションのAlpine Linuxのようだ
https://blog.docker.com/2016/03/docker-for-mac-windows-beta/
> Faster and more reliable: no more VirtualBox! The Docker engine is running in an
> Alpine Linux distribution on top of an xhyve Virtual Machine on
> Mac OS X or on a Hyper-V VM on Windows,
上に書いているようにこれはMacも同じでLinuxカーネルではないから
仮想マシン上にLinuxを入れるしかない。
WSLは仮想マシンを使わずLinuxカーネルを作るものだからもしLinuxカーネルエミュレーション機能が
完璧になればWindowsでDockerもネイティブに動くようになるだろう。
そうなったときのメリットがメモリ空間が共有されることで
Dockerコンテナとして動かすアプリを計算に入れて仮想マシンの
Hyper-Vやxhyveで動かしているDocker環境(Alphine Linux)に
何GBメモリを割り当てるという作業が要らなくなる >>211
なんでとっくに死んだもんの話だと思ったの ネットワークアプリの開発ってwordpress動かすことだと思ってる奴が暴れてるのかw ■ このスレッドは過去ログ倉庫に格納されています