Win10がBash・linuxコマンドに公式ネイティブ対応★3 [無断転載禁止]©2ch.net
http://o.aolcdn.com/hss/storage/midas/abc336039023870541d79f90e3daefeb/203619879/bash-windows-10.jpg
本日から始まった開発者カンファレンス Build 2016で、マイクロソフトがWindows専業以外の開発者にも嬉しいニュースを投下しました。
Windows 10は今年夏に提供予定の一周年アップデートから、Unix / LinuxのコマンドシェルBashが使えるようになります。
http://o.aolcdn.com/hss/storage/midas/842936fc527a08e80d1305a6861b65f7/203621101/image_2fe8f62c-c4d1-4cba-863c-db5e9c60b4f8.png
Windowsには cmd.exe や PowerShell など自前のコマンドライン環境がありますが、Unix / Linux の Bash は当然ながらそのままでは動きません。
Bash や Linux / Unix 向けに書かれた多くのコマンドラインツールが使えないため、Unix系の開発者からWindows
が「『本物の』コマンドラインも使えないOS」呼ばわりされたり、開発者にOS Xが好まれる理由になってきました。
しかし本日から始まった Build 2016カンファレンスのキーノートでは開発者向けの新機能として、Ubuntu Linux のBashがそのまま、
Windows上でネイティブ動作する機能の追加予定が発表されました。
これはマイクロソフト版のBashっぽい何かではなく、またVM上の動作でもなく、新たに開発された
「Windows Subsystem for Linux (WSL)」を介したネイティブ動作であるとのこと。BashのバイナリはUbuntu Linuxの
開発を主導するCanonicalが、Ubuntuとまったく同じものを提供します。
Bash on Ubuntu on Windows 10は、今年夏に提供予定のWindows 10 Anniversary Update に含まれる見込み。
Windows 10 now has support for Bash and the universe of open source command line tools. #Build2016 pic.twitter.com/5KeBeVg0wU
― Windows Developer (@windowsdev) March 30, 2016
AOL 2016年03月31日 06時15分
http://japanese.engadget.com/2016/03/30/windows-10-bash-ubuntu-linux/
前スレ 【Win10でlinuxコマンドが使える】Windows10がBashに公式ネイティブ対応 ★2
http://daily.2ch.net/test/read.cgi/news plus/1459471519/ もうLinux関係無くて、Windowsの仕様や動作を知りませんって話だな >>281 まずは表示できるかのテストからだ
#!/usr/bin/env perl
sub colorizer {
my ($n, $str) = @_;
my ($color_head, $color_tail) = ("\e[", "m");
my $color_start = $color_head . $n . $color_tail;
my $color_end = $color_head . $color_tail;
$color_start . $str . $color_end;
}
print &colorizer(100, "通常の[n]で描写\n");
for my $i (1..256){
my $number = sprintf '%3d', $i;
print &colorizer("$i", " $number");
print "\n" if ($i % 10 == 0);
}
print &colorizer(100, "\n\nforgrand by adding [38;5;n] style.\n");
for my $i (1..256){
my $number = sprintf '%3d', $i;
print &colorizer("38;5;$i", " $number");
print "\n" if ($i % 8 == 0);
}
print &colorizer(100, "\n\nbackgrand by adding [48;5;n] style.\n");
for my $i (1..256){
my $number = sprintf '%3d', $i;
print &colorizer("48;5;$i", " $number");
print "\n" if ($i % 8 == 0);
} automakeとautoconfがまたややこしくなりそう… git, ssh, vim, curl, grep, diff, jq
こいつらが使えるだけですげぇ幸せ
本番はいつ来るの? 同意、ただ curl に関しては単独で動作可能なexeに
現状で十分なものがあるんじゃないか? bitsadmin とか PowerShell の Invoke-なんちゃら とか git, vim はWin native あるし
ssh は TeraTerm あるし
curl, jq あたりは ActivePerl one-liner ですますし
grep は findstr あるし
diff は windiff サイコーだしなぁ。
less は有難いけどPEバイナリとのパイプが出来ないからなぁ。
あ、gitはMinGWだったか。 ま、代替品で済む人なら初めからWSLなんて必要ないからそうだろう winに3rd party系のものをなるべく入れたくないのです
あと、teratermは多段sshすんのめんどくさい 3rd party系入れたくないのに
apt-get は良いんですねぇ
install-package は良いんですかねぇ >>305
うん
"winに"入れるのが嫌なだけだから
レジストリ汚されたりいちいち環境変数のパス変えなきゃならなかったりめんどくさい >>302
全部一括してバージョンアップ、セキュリティフィックス出来ます
Windows使ってて一番面倒なのがソフトウェア管理だからね 大概のことはmsys2 + pacmanでも、出来るんだよな。
だけど、bash on ubuntu on windowsの良いところはlinux nativeな所だろうな。
RubyのNative系ライブラリが簡単にビルドできるようになるといいなぁ。(ちょっと前はまだ問題ありそうだった) PowerShellでできることが
全部できなければ
あんま意味ないような σ < パイプの動作環境が違うから
(V) それ言うと簡単に優位主張できるね
|| なんだがなぁ、なんだかなぁwww ConEmuとかで動かせば日本語入出力一応出来るんだけど、UTF-8の文字幅がおかしいのか
カーソルがずれたりする。
ssh経由なら問題無いけど一々繋ぎたくないなー。 散々色々やったんだけど、結局俺の力不足でapt-getが上手く使えないままだ
環境が悪いのかと思って、VirtualBoxにUbuntu入れて動かしてみたんだけど
普 通 に a p t - g e t 出 来 る ん だ な こ れ が
っつか、VBの側はDNSをLocalhostに見てて、ホストは問題無くネットに繋がってるから、これはこれでヒントにもなってない罠w
そもそもWin-bashは何で設定を書き直さなきゃならんのか不思議
書き直したところで何か元に戻っちゃうし
散々やってslが走らなくて、結局VBに頼って久々の本家でsl走らせて安堵できたよ
betaだからこれから良くなるんだよね@Win10-bash 何も設定しなくてもapt-getできるし。
おま環としか言えんな。
slも走ってますよ。 Windows10 Anniversary updateで知らぬ間にSSHdが起動している
ttp://yasuhide.blog.jp/archives/48155574.html
ワロタ bashのほうでsshd起動して、sshクライアントで接続しようとしてたら
突然windowsのコマンドプロンプトが表示されて「ハァ?」ってなったわ
SFTP接続とかできるから共有してないファイルも関係なしに全部丸見えになってて笑えんかった
即サービスを停止させた ping や ifconfig などネットワーク系のコマンドが使えないのは
ベータ版だからじゃなくて仕様だよね?
うーん、これだったら TeraTermやputtyのほうが使いやすいわ。
今回期待していた機能だけにガッカリだわ。 Ubuntuのバイナリがそのまま動くってのはかなり魅力的だが
公式でXサーバ実装する気も無いみたいだしその他諸々出来ないことがあって
中途半端な感じは否めない
cygwinやMSYS2や仮想PCに置き換わるかと言えば、現状では否
まあまだβ版だしどんくらいの本気度でやってるのかもわからないし見守るしかないけど
でも、せめてminttyみたいな専用端末の実装くらいはやってほしい、コマンドプロンプトでやるのは無理がある
SSHクライアントで接続して操作すれば日本語の表示や入力含めてvimとか完ぺきに動作してるのにもったいない 日本語表示/入力はコマンドプロンプトの問題であって
ConEmu/cmderとかを使えばどちらも一応は対応出来る
Xはcygwin/X,vcxsrvとかもあるし、今のカノニカルならMirじゃない?X単品はやりたくないだろう なあ、Java動く?
ずっとやってるんだけどコンパイラが動かねえ…… Windows版Xサーバを入れるんじゃなくて、
Ubuntu on Windowsでvncserverを動かして、Windowsのビューアで操作してみた。
chromiumは /proc 以下に必要な情報がないとかなんとかで落ちた。
firefoxは動いた。
WindowsでLinux版のブラウザを動かすメリットはフォントレンダリングくらいか。 >>327
この場合はUbuntuのアンチエイリアスオン同等と考えていいの? >>328
うん。厳密に比較したわけじゃないけど、同じだと感じたよ。
UAは "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0" でWindowsを匂わせるものは一切なし。
Xmingでも試してみたけど同じ >>329
thx
しかしメモリ1GBだったはずだからChromeは動いても厳しそうな予感… free コマンドの出力を見る限り、Windowsのメモリがそのまま使えるみたいだよ >>331
いつのまにかそうなってたのね
じゃ平気だな .sh のダブルクリックから bash で実行させるにはどのように関連付けをすれば良いでしょうか?
C:\Windows\System32\bash.exe に関連付けをしてみましたがうまく行きませんでした おい
.bash_profile読みこまないんだが
つーかtcshにどうしたらできる? windows上でlinuxのシステムを使いたけりゃvirtualboxやvm wareでlinux動かした方がまだいい Windowsにはないcutのようなコマンドをバッチに組み込むとかが想定された使い方じゃないのか? そう言う問題じゃねえんだよな
Linuxってハック出来るかどうかが先ず楽しみだろ
例えば魔法瓶にインスコしてみた、さてちゃんと動くかな?とかさ 落ち目の時代に生まれたら全部上の世代のせいにできるから楽だよ
被害者ヅラでロウガイガーとわめいてればどんなアホでも自分は悪くないという気持ちになれる 別人だけど、自分には今やLinux はメシの種でしかない。
まともに動かん環境をいじるなんて金もらわんとやってられん。 >>342みたいな趣向の人は昔は普通にNetBSDだったんじゃないの
魔法瓶にLinuxとか別な世代が変な勘違いしてる気がする http://news.mynavi.jp/news/2016/10/05/085/
Windows Subsystem for Linuxを使ってWindows 7、Windows 8、Windows 8.1、Windows Server 2012 R2でも動作を確認したって何言ってんだかわかんねえな 英文のほうだと、AWSLは、10だけじゃなく 7, 8, 8.1 2012R2 も対応してるよ!
って感じかね そりゃWindows subsystemにほとんど依存セずに作ってるからなあ
NTFSには結構依存しているはずだけど
ここはWin間でもバージョン間に差がないところだろうし >>350
多分msiかなんかを持ち運んでインストールしたんだろうな Windows10以外に対応が引っかかるが海賊行為ではないのか? AWSLって WSL相当っぽいの作ったと読んだけど、
どこにwin10のバイナリもってきたってある? >>354
根本的に理解できてないのだと思うが
AWSLはWSLの上に構築するもの
Ubuntuの代わりにArchにするだけ >>355
んで、WSLが無い Windows 7, 8, 8.1 2012R2 でもAWSLが動くってのはどういう理屈なの? 10以外は、1.0からって書いてんのに現行のbat 示して何の意味あるの? うーん こいつは
先頭ドットのディレクトリ名をうまく扱えねえみたい……
見に行くとファイルが見えたり 見えなかったり
ちょっと使いもんにならんのだけど ll コマンドだと見えてlsコマンドのオプション無指定だと見えないとかいう、そういうありがちな勘違いで無く? >>360
ジャンクションやリンクをWin側で作ってWSLで見えるか実験したり
Win側でhomeディレクトリ触ってたので
逝かれたのかもしれない
lsは常にオプション付けてるのでそういう勘違いではない このスレ検索しても見つからないから
書いたのは他のスレだったのかもしれないが
Windowsの側からWSLの世界のファイル触るのはあまりうまくいかなかった
そろそろ直るかとも思っているけど >>362
むう やはりそうなんかな
UbuntuからNTFSを上手く触れてないのか
そんなの一番根本のことのような気もするが……
それぞれ隔離した場所で動かすならVirutalBoxでもいいや
いやオーバーヘッドが無いってのはやっぱメリットなんだが オーバーヘッドが無いのにWSLのunixbenchは相変わらず桁違いで仮想に負けてるんだろ 何かの間違いでcygwinが劇的に性能向上しますようにナムナム >>363
Windows SubsystemからNTFSをアクセスした時に
対象がWSL世界のファイルであれば
WSL側の後処理ルーチンを呼び出すように
NTFSを変えないといけなくなるのではないかな Windows Services for Linuxと書いてるバカがいると思ったら阿久津か こんなの出ていたんだなあ
MicrosoftがBash on Windowsユーザに注意喚起「Linuxファイルを作成/変更してはダメ,絶対!」
http://gihyo.jp/admin/clip/01/linux_dt/201611/21
「どんな環境であっても,Windowsアプリやツール,スクリプトを使ってLinuxファイルを作成/変更しないで!」
Windowsツールを使ってLinuxファイルに直接手を加えようとすると,高い確率でデータやファイルの破壊/破損が起こるのだ。
やっぱり使えないな
つーか最近はあまり話題にならなくなったしねえ
vm上でLinux動かせば済むんだから、もともと使い道なんて無かったし MSは技術力はあるんだから
アップルみたいにUNIXベースのOSを1から作り直すべきなんだよな
Windows10の後は、まったく違うOSで。 >>370
> MSは技術力はあるんだから
え? MSはOSからOffice等ソフトに至るまで外注だったけど
いまは外注が離れてしまってもうまともに開発できないだろ? MSが買収して成功した例はほとんど無い。
MSブランドになると途端に使いづらくなるのは技術力のなせるワザかね(笑 頑なにディレクトリセパレータにバックスラッシュ使っている時点でなぁ…
(このためだけでもプログラミングが面倒い)
EFI の仕様を決める時くらい考えなおせば良かろうに >>370
Appleはいちから作ったわけじゃないし。 >>373 ディレクトリセパレータやら展開規則やらが統一されたら楽だろうなあ >>368
これじゃ危なくて使えないな、残念ながら
どうしてダメなのだろう
ファイルの内部構造が違うか、Linuxファイルの目印を付けているか >>376
https://blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support/
にある図を見ると、
NTFS の上に幾つかレイヤーがあるからそこの内部情報と
実際のファイルとの間で不整合が生じるんだと思う。
Windows 側にも NTFS の上にセキュリティだのキャッシュだ何だやる層があるし。 >>378
ありがとうございます
Bashを使わない設定に戻しました Windows 10 Creators Updateで「Bash」がバージョンアップ
ttp://pc.watch.impress.co.jp/docs/column/nishikawa/1054154.html
Windows 10 Anniversary UpdateですでにBashがインストール済みの場合は、
Creators Update直後は何も変化せず、Ubuntu 14.04.5 LTSの環境が維持される。
このため、新しいBashをインストールするには、いったん旧環境を削除しなければならない。
この時、Linuxファイルシステムごとなくなるので、何か環境を構築している場合はバックアップが必要となる。
1) 日本語表示が良くなった
2) BashからWindowsのEXEを実行できる(逆も可能)
3) /sbin/ifconfigなどネットワーク系のコマンド対応 FedoraやOpenSUSEにまで対応かよ。
こりゃVM用意する必要が全くなくなったな Windows StoreにUbuntu Linux登場なのかよ
すげーな × Ubuntu Linux
○ Ubuntu
Linuxで動くUbuntuからLinux部分を取り除いて
Windowsに入れ替えた。Linuxは一切入っていない CやC++のコンパイル出来るようにLinuxのヘッダーが入ってる Linuxは10が動かない環境でも動く
軽いよ
Ubuntuは正直、重いのでお勧めしない >>389
なんか中途半端な知識でドヤられても困る
Linuxの1つのバージョンかUbuntuなだけで、UbuntuもLinuxだからな?